|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示! D" `. T6 T, f1 w1 F
结果如下,点击Change Management标签,自动弹出统计界面
2 f/ A+ |3 M: E* ?7 V8 I8 I' z+ a( d D0 g: O, p2 t
" `- [* ` n+ C* d
* t5 a, }5 u4 F T; p# N* a1 H8 H' r% Y" ~/ t! _
[, ^. K( _) D
(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名
9 ?2 W4 @8 X! C1 C, \ a o
4 W/ G# w E' P% ~9 l
3 \0 y/ V# l/ A% q% _
(2)关联一个 on load的事件,使用 JavaScript 的方式
/ b5 R7 y& c7 R; R6 z
- _, ]: U$ {, e7 _# H* ^4 y8 p% k9 j/ x$ p5 T
(3)对整个事件进行代码
5 g2 c' q! }4 Z; F9 z! F. p a7 j0 C
7 W7 [. h# h9 O4 ~
% b6 }# ?% M) [+ w; F0 }完成后即可看到相关效果。- J7 T" l3 g6 a
. g# ^4 s s; {# P# |, W% Z
代码如下:2 ?0 \; h O9 J4 e- W
8 T& c% k Y0 f7 a//get the ECR Collection
' T- E$ F8 H/ Z- D% G6 {var newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;/ |/ M z+ H+ N- L, q! ~8 r% \
var currentItem = null;
* X+ u1 R0 b" B+ o- }3 r& T( n g0 mvar currentState ="";
) Z& `7 q3 ]$ [3 k! C. Bvar innovator = aras.newIOMInnovator();
: N) n2 D: F: z+ M2 y. C: R- _/ Mvar item = innovator.newItem("ECR","get");
) y6 k" P9 G4 b# x j! F9 `$ s9 ^item.setAttribute("select","state");
+ l4 N5 r. Z5 svar ecr_items = item.apply();
6 K k. _/ ? ~/ ^var totalCount = ecr_items.GetItemCount();2 i- h% M: b/ i
for( i=0; i<totalCount; i++)
& M. o! l8 ?% L1 P{ ) m$ h! q9 R ~9 x5 R% ?
current_item = ecr_items.getItemByIndex(i);
* ^* A* w% E* z" y7 T. ?3 _ current_state = current_item.getProperty("state");
3 `3 D; N6 W$ n7 m- } swiTCh(current_state) 0 o: j6 F0 ?" g
{ 8 C$ p5 `1 U/ R
case "New":
$ B! e6 ~. m& z( r newCount++;
' P- P& \4 \0 O+ {. W2 w break;. M$ ~5 `! O( n2 P8 J; |' E% x
case "Submitted": : k( `; K3 ^/ ?" [* E7 @
submittedCount++;
# v9 T9 l" g0 C4 P H break; 1 }$ U8 l9 m+ Y! I; V$ A
case "In Review":
; L9 s ^- C7 i/ C( e reviewedCount++;
]* W, \$ J9 T: p# }5 b- _ break; ; o9 I" ^) |5 T- I0 }# ~5 Q
case "Released": % z' z; A; V7 W1 ]8 K* v
releasedCount++;
3 Z5 ^9 j% O% n break;
+ }# ~$ x7 ]3 C; [$ y# r$ P case "Cancelled": # Q, d: l' l ~4 i8 L/ o( G2 H& u
cancelCount++; $ t4 ~' q f2 e
break; 5 d# X9 n" J( b) X0 i0 r$ @. A9 S+ I
}
$ j6 x! _0 T' u) M/ _* f) c, S}
" I4 O7 x$ }! F+ d8 p; L3 Idocument.getElementById("MainDataForm").textNew.value=newCount;
- ^0 ~) _% B% G# H" X1 F7 {' p4 ^document.getElementById("MainDataForm").textSubmitted.value=submittedCount;
# m# I/ I/ l3 vdocument.getElementById("MainDataForm").textReviewed.value=reviewedCount;
, w! U2 |6 \/ _' O: m$ l$ [8 g3 Kdocument.getElementById("MainDataForm").textReleased.value=releasedCount;! I1 b# v' |+ }* Z! S
document.getElementById("MainDataForm").textCancelled.value=cancelCount;' P/ x+ `- ~; W5 s ^ _% a. H- b7 d
document.getElementById("MainDataForm").textTotal.value=totalCount;
$ m* y! Y1 U/ {
! W/ C7 ?! C: a' G |
|