|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示
( a/ L3 z) L6 i结果如下,点击Change Management标签,自动弹出统计界面9 ~/ q' O: ?/ B7 M/ V( d% f" Q2 h
2 l4 ?4 E9 d1 p0 U3 @
1 G$ Q" W, j" S2 u2 ?" X8 f& L! f0 C
+ C. ~$ H' t2 I5 m. k0 B @( I( s0 ?+ z) w [* L/ \$ D B# y4 j$ W
(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名
. p* G+ M1 F8 H0 y
. f" e# t) G' n( p2 O6 n2 s% D5 c
: ~8 g5 _8 g- {3 U(2)关联一个 on load的事件,使用 JavaScript 的方式 Y( d) C* W0 w8 I5 Z6 r& N/ R" A; [' V
+ }5 e' e1 `3 o% I' {( i+ w. x$ l5 ~2 q1 t2 A& N5 o0 Z
(3)对整个事件进行代码& X# _% _+ L2 ^5 J3 ~: ^. l2 @/ w
+ ?- e- Z# q7 y& y
6 b& `0 Q; x. j4 B" P
完成后即可看到相关效果。
) D! ~9 @/ v+ I5 h3 G v4 n, b% ]9 G' v' G; Q, e+ o% K r" C! [( T
代码如下:
) O9 m3 a/ Z( m" K# o$ P+ w# e1 { Z* y
//get the ECR Collection
5 S6 x( y) J. J" m) fvar newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;
6 D( O& M" r# a4 ?% n$ Gvar currentItem = null;
% M! L! l3 O' a4 ?var currentState ="";
6 F3 M, S" E& M6 Ivar innovator = aras.newIOMInnovator();% o3 b9 E5 J" D/ |
var item = innovator.newItem("ECR","get");" D. |6 J) g2 l
item.setAttribute("select","state");
6 }6 _9 l# Q2 [9 {+ I* rvar ecr_items = item.apply();5 q1 N6 n; S1 v3 p( }5 E% C' ?
var totalCount = ecr_items.GetItemCount();
) T9 r3 {. P* V. R$ y$ k8 Tfor( i=0; i<totalCount; i++)
( @" I5 L* E& u0 f- x* S{ 6 A7 F$ ^; b7 ~& Z- H) R7 D
current_item = ecr_items.getItemByIndex(i); ( W0 u' K# L8 j. r" O
current_state = current_item.getProperty("state"); ! q* a7 [7 ` m- b# n5 x- U
swiTCh(current_state) ) k5 ]3 K( @0 U& ~3 p
{ 5 r% B0 U: f) z8 |+ J- E
case "New":/ \. ]2 V( j7 k3 B) `
newCount++;, w& x$ x b0 b! |4 z4 h% j6 @
break;) J" v! g" x1 u b# C% y# p
case "Submitted": : l3 J2 }& g0 N: A3 q U/ a
submittedCount++;
* }. a3 R: F! E. Y" |) T break; % e9 k, A, k7 l9 F& X5 Y
case "In Review": / ] k- I8 k! y7 T! t* ]
reviewedCount++; 6 e5 z8 K: A2 D, C9 g) Q
break; 6 g1 [; Q5 h1 Q. O* r5 S
case "Released":
! q( b8 p7 g, {. N releasedCount++; 8 @5 H7 S, }1 N# w |( |
break; * O( z8 ~7 k2 _6 F2 S, U
case "Cancelled":
3 |- L0 E* j5 f6 E3 } cancelCount++; R; _, Q# m$ E: Q
break;
c3 [+ k4 A' N3 n2 E+ h: w }8 K" e4 G; f* N$ j9 l3 Y4 g
}
( P. L1 n1 t8 ?$ ~4 k0 t" Wdocument.getElementById("MainDataForm").textNew.value=newCount;4 `8 X* f4 y1 i9 @/ n8 r
document.getElementById("MainDataForm").textSubmitted.value=submittedCount;% G: W! T1 Q+ `3 M. e7 [
document.getElementById("MainDataForm").textReviewed.value=reviewedCount;
: M* o% E; O6 F/ V3 [document.getElementById("MainDataForm").textReleased.value=releasedCount;2 B% r; a- N' Q: a8 ?
document.getElementById("MainDataForm").textCancelled.value=cancelCount;3 E; w! R; h8 d- s$ p8 Q# X. y) Q* O
document.getElementById("MainDataForm").textTotal.value=totalCount;
. J6 R: Q) F4 a( a
- T' [3 c$ ]/ O( N8 U |
|