|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示
- T2 c0 S9 H, h v结果如下,点击Change Management标签,自动弹出统计界面! s2 i3 O* e, ?% \8 t/ k
6 J8 e7 [2 h1 {: @5 e' S4 h& ~
% ^: o" U7 M D h' E! Q8 R$ A
) S2 l- }% Q6 C" C
" h2 |- T( g) F, L& }' t6 j* ` U( i( b/ L: m9 l, b* ^2 I/ M: p6 o
(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名
' [( Q/ _0 ?5 n; A3 b$ P! D! E8 t
8 i) H% Y# o2 U+ B4 S' _
(2)关联一个 on load的事件,使用 JavaScript 的方式
9 q7 I# o& ?: k/ K- V; L; g
0 {, n3 @0 Y( ~, W, ~8 N
# x6 }# T2 o6 u! Y(3)对整个事件进行代码
& Z& M8 a$ y6 v1 P% n
% _( Y O5 j/ X. J
; b- _4 q& t& \ u完成后即可看到相关效果。
4 d0 D0 P3 z1 ? F6 C2 M+ s5 G4 d
3 d1 X1 W3 s% B1 \9 Y代码如下:9 R: g" T# Z, E# k) I7 i
! D! p* P) U5 ~: H) N//get the ECR Collection
& ~- D( [3 k1 i: S7 uvar newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;, O k' A, a5 {* e7 Y D7 ?1 F6 N
var currentItem = null;
3 u% Q" ~+ {, K' P6 mvar currentState ="";. s- v U" _% ?. y( y! ~/ x" Q. m( z5 n4 M
var innovator = aras.newIOMInnovator();
) d: Y* u% d" c( }0 J, ^/ ^+ zvar item = innovator.newItem("ECR","get");
( _! w$ i% z. J4 c# S: c' @ L' Mitem.setAttribute("select","state");
6 ?9 e* V1 @: Y& N0 E; y0 d: pvar ecr_items = item.apply();
/ Y( A' w9 U9 M8 m; C9 \2 L* cvar totalCount = ecr_items.GetItemCount();
+ W+ l/ D% Q5 K' X& {4 E6 x5 _for( i=0; i<totalCount; i++)
! w i1 E) I, o/ U6 K% o8 G f3 C1 Y{
3 i' M. a! m# N2 d4 ]1 N8 E current_item = ecr_items.getItemByIndex(i); ( s2 e) g" j6 w' g* V# e
current_state = current_item.getProperty("state");
0 Y8 o: t9 c& ?0 |+ r. r/ g0 }2 D swiTCh(current_state)
7 S& ? U" V4 S8 Q/ b4 L { 1 E6 h7 c* }6 Q' [8 a
case "New":
1 P3 `/ y' [2 K" S( F% l' _ newCount++;/ D- f% L9 D6 F
break;
) s' n2 A# y- ]( J5 z- S* C$ | case "Submitted": 3 Z0 ?, Y, ~: n9 L! \4 `# L
submittedCount++; + O; ?7 x) D; j+ G
break; 4 @! `/ O8 e9 {! F4 b. @* L
case "In Review": 9 ~1 j! }( o9 h C6 E! _) X& c
reviewedCount++;
9 Z( ~. |2 y% @6 O. v/ m4 _; ~ break;
s) t6 v) ]# h case "Released":
" u) `) i7 z _; a8 p8 u1 d releasedCount++; ( t0 a( M8 k' c! G# P+ n, j/ X; v0 m9 N
break; 9 g6 y& e: {% [& O) K2 L
case "Cancelled":
1 @( _5 d% l% d- x$ W0 t cancelCount++;
$ I% O; S' s8 {/ S; m break;
3 K$ b8 V9 s0 n, B6 B" F% ]9 K3 C: z }' B* I/ n$ k0 k2 T- a* y
}
( Q5 n5 H+ e' W% ]document.getElementById("MainDataForm").textNew.value=newCount;
# D+ g0 N. x" h7 E* D/ n! p qdocument.getElementById("MainDataForm").textSubmitted.value=submittedCount;
+ v' E' }3 g2 v: ]# Hdocument.getElementById("MainDataForm").textReviewed.value=reviewedCount;: s/ [$ u3 O' j( Y H' x
document.getElementById("MainDataForm").textReleased.value=releasedCount;
+ O K; k8 a L6 ^0 V9 A' Kdocument.getElementById("MainDataForm").textCancelled.value=cancelCount;
5 d9 X, E) ^+ ?* Edocument.getElementById("MainDataForm").textTotal.value=totalCount;2 }/ y5 p: T. Q2 n) p! u l" E
* Z- ^( K! \( T4 m2 N |
|