|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示% o+ Y; V2 ]. @% i$ ?: S
结果如下,点击Change Management标签,自动弹出统计界面# x2 i% V0 ^2 W, y. Q
6 \$ N3 Z5 N% c! q, w% i4 A
6 _5 E& o- q0 }. R
. z z9 a/ t7 G: x9 F
$ J& @+ g2 E, w, U! k! `* k' w/ P' x
(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名% c% Z" u# C9 C, N: u
9 y3 T d; Z/ r( Z) Z
; m8 y# ~8 l1 u9 [0 f4 k, B(2)关联一个 on load的事件,使用 JavaScript 的方式6 ]9 l' t/ v# n) U' u3 w& X
% i% M2 Q$ d2 F
: g4 q/ g$ q* g0 y9 b9 s5 d9 [5 F
(3)对整个事件进行代码" k0 Y4 H+ p3 O
% |) U. G3 S- M8 h
6 g; p' f; _: j p5 ~/ j6 X# P; B完成后即可看到相关效果。
2 _ N( W" P0 w6 Y' `; x k: a+ v) M, W$ {+ X/ \& M
代码如下:
, t2 K, C) T8 W! D% C; s+ [, Q8 L- Q9 E: ^9 ?/ f
//get the ECR Collection
* W- e$ c7 ~6 s( xvar newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;
+ j: i4 q4 s0 S1 j" zvar currentItem = null;$ U$ }, ]7 J6 Q6 s0 b0 q
var currentState ="";/ O4 N/ O! c7 g( C- g" U
var innovator = aras.newIOMInnovator();( c5 P9 x1 \0 H1 R+ J8 g; G
var item = innovator.newItem("ECR","get");( }: v/ L$ T4 w5 H ]: G$ m
item.setAttribute("select","state");
$ [1 R* c4 p. P Y& }var ecr_items = item.apply();
U+ d- K/ Y yvar totalCount = ecr_items.GetItemCount();) }+ |3 z) D8 _" ~6 H- U4 j
for( i=0; i<totalCount; i++) & q# ^( ^, ^* U9 I
{ ( [( q; Z. o9 Q
current_item = ecr_items.getItemByIndex(i); ' {9 R6 b1 `' J$ L8 [7 L! ~7 r$ m# z
current_state = current_item.getProperty("state"); n" H5 j6 z5 u' i( z/ C" V) g
swiTCh(current_state) 8 @7 i d( X7 O8 [' R
{ 5 m0 J E0 i+ Q+ L0 x5 D R7 k
case "New":4 I, @7 v- y0 g. B$ |. \0 E
newCount++;
% T$ [ H# Y3 e/ K break;* Z2 q! Z: u9 T& r
case "Submitted":
0 h$ Y3 w2 y8 c9 |6 [3 c, H- G& s submittedCount++; / M$ B6 F% w9 E: K! c' O8 d4 ^. ^) l
break; ! v( W9 I1 d; J6 |6 J _3 \
case "In Review": 6 N1 U) U0 t& I5 \$ p* K) v2 M0 l1 E
reviewedCount++;
# Y4 }. r0 C/ Y' X break;
- v. H. k/ J' _' F2 A/ _ case "Released": 7 E: l" D7 X4 L2 {6 L8 Q: y
releasedCount++; 4 p2 N0 I5 I6 q; q
break;
7 |" y6 ^7 ~, R- T case "Cancelled":
. J3 z3 e% c2 } cancelCount++;
Z: w) ]' l1 h break; & J2 v0 N( x l* M
}
1 v) a" M, V/ Z/ \/ ?4 c @1 {}
+ \' X, \7 S+ U. M- t( zdocument.getElementById("MainDataForm").textNew.value=newCount;4 o4 `) G5 k3 A7 V+ W7 L; ~& b" {
document.getElementById("MainDataForm").textSubmitted.value=submittedCount;
9 u8 o/ I7 s9 t& d( i+ {0 xdocument.getElementById("MainDataForm").textReviewed.value=reviewedCount;
1 O0 S0 Z+ u% e7 ^0 m# ~9 ^* rdocument.getElementById("MainDataForm").textReleased.value=releasedCount;4 G# q4 S2 N8 D9 D8 y( b
document.getElementById("MainDataForm").textCancelled.value=cancelCount;
& K' [& ~% K$ |- {9 x$ udocument.getElementById("MainDataForm").textTotal.value=totalCount;: ]* E' I/ B) h
) Q0 _$ w* q# `" E8 v
|
|