|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示
V$ H6 l y# |. I结果如下,点击Change Management标签,自动弹出统计界面
/ q$ l7 u0 ^/ ~
- l4 `5 S( G, Q7 K0 a
- b& o" `7 Q; ]+ J
; A8 S! [( r* {5 O
6 @" J3 V7 q8 [, R# L2 k
/ f6 P6 x1 B2 l2 Z! S
(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名
, F0 [4 s- C! y' b+ @' N }3 a% J( d6 Z n
/ p+ ]( b( [5 u) Z) ]5 q. e( m n! `
(2)关联一个 on load的事件,使用 JavaScript 的方式' x0 N* F6 i8 o& q7 a
: {- \6 ~# j `9 \) s- Q$ y7 K, y! G, ~9 _/ F0 @' ?
(3)对整个事件进行代码& O) d+ F6 _- I3 P
2 P, l, u7 W; g. u6 S
5 e4 }6 }8 ?9 V( X8 h- J完成后即可看到相关效果。
" r% C% N1 U* n- {6 | v! j& Y2 N
% t' }+ `5 j) U0 R( f/ ~+ ?- W U代码如下:
0 F/ r/ Q2 l8 N. Z4 \8 [ \
7 ^: J1 q) A# p! G% K' o//get the ECR Collection4 }' m) R. f( J: A( Y8 d
var newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;1 M1 ~& W% k6 l+ r
var currentItem = null;
; L1 Q" K3 `5 ]6 w( Qvar currentState ="";/ K K$ F% {' ?+ Z w& q Q! i' P
var innovator = aras.newIOMInnovator();, p/ S9 _ m7 M& i& N3 l
var item = innovator.newItem("ECR","get");
6 r" @4 e4 L" C9 \item.setAttribute("select","state");
" |% l* x1 z" _$ \5 pvar ecr_items = item.apply();
. t) {- Q" s2 z+ y. J2 qvar totalCount = ecr_items.GetItemCount();
8 U) |+ c/ U6 qfor( i=0; i<totalCount; i++)
# A+ X; L% g' p4 {7 u9 p% M3 k{ 0 J) | a9 b% Q% ~1 N
current_item = ecr_items.getItemByIndex(i);
0 Y3 L, X6 H5 D' ^) Q current_state = current_item.getProperty("state"); % E7 _& g! _0 ]) e" S
swiTCh(current_state)
! p# }! C& K$ [- S0 h { 6 ]% }- C: P% X% Q4 l8 d. \
case "New":
7 J+ g1 R5 f$ }7 A newCount++;1 B9 e; {$ v2 K$ r' J. Z2 L, D$ P
break;
4 M# K2 n0 ^! v: i+ \, q5 x case "Submitted":
+ U3 O3 @% M( O3 E5 G5 E& P$ x submittedCount++;
3 G) ^) X' h0 G; k1 G( j! o break;
3 M# I. b$ y; Q+ k case "In Review":
: ]- `8 w5 M( }" k: ^0 v8 ~0 F' D* ? reviewedCount++;
2 e! d& D& z# S: e break;
3 o; U; e _2 J! v case "Released": . g6 Z! x3 Y& Y1 ~6 P
releasedCount++; 4 }6 z. X9 ]8 `4 K. J
break; 5 S' k* [& j6 u! \ Y8 Q
case "Cancelled": ! @ D9 L( K; H* I
cancelCount++;
5 `' |) E6 X5 d2 J' x3 m# Y4 u break; 3 T) k% R6 u% o8 p; [
}
* k: g9 d, k( ^ a* q# z5 N" G}
9 y/ S% I+ B* Y7 ?# n7 w7 r& Fdocument.getElementById("MainDataForm").textNew.value=newCount;8 t) r M/ x& c" ^& x, `
document.getElementById("MainDataForm").textSubmitted.value=submittedCount;8 C( q2 e5 W$ e% }* b8 f
document.getElementById("MainDataForm").textReviewed.value=reviewedCount;* N n( I+ @8 N
document.getElementById("MainDataForm").textReleased.value=releasedCount;
; }8 }- q4 B# Y/ A1 gdocument.getElementById("MainDataForm").textCancelled.value=cancelCount;5 |, K% u/ q0 f& S% W% f
document.getElementById("MainDataForm").textTotal.value=totalCount;' R- o$ Y1 S* P+ ~, |
" ?1 G q& B$ G |
|