|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示: W. D8 r/ V# V6 ~
结果如下,点击Change Management标签,自动弹出统计界面' _! `" t3 K" Q/ C5 Z
( H. o7 a# N% y0 z7 t' i
$ v. u. P+ f0 v2 G, W$ s6 v+ s$ t1 I( k8 c# G0 p
5 R t" v& I- \, N+ \9 w+ H! z& P/ M- T% f" p4 H/ m! o
(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名$ `/ Y: A6 l, C) z& [+ N# B. d& a& e
4 W$ E, ^, o& g8 j* l' V' e
. B4 t9 ^" m5 G# S2 w
(2)关联一个 on load的事件,使用 JavaScript 的方式
" ?) v5 `2 Y* [4 K2 ^
; \/ o& }+ }8 }. ^2 r. M
! v2 c7 j8 Z! C7 W C$ J: s
(3)对整个事件进行代码' y* K0 M/ Q4 Z1 B& ?( Y+ I' \
0 U4 ^& Q/ q* S( v: d" @# z' [
% x4 z5 m% z, E) D8 H) d) _完成后即可看到相关效果。
5 z% r% d- }' {/ q1 I2 D2 Z
# m) U$ c( m5 X+ ~# r/ u代码如下:8 j: q: n9 G0 _# H* N: e
/ b; N; \2 j3 i/ u! X: q
//get the ECR Collection
/ k5 S. S- e, Fvar newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;
8 e3 z: g4 N7 [ n$ K6 qvar currentItem = null;( g# r) a2 r& y/ J% W) r- r
var currentState ="";
4 }8 w" x- C& d$ H/ Q+ lvar innovator = aras.newIOMInnovator();
6 m& |4 u/ F$ _8 \; q" w+ I/ F1 K Tvar item = innovator.newItem("ECR","get");
2 F s& k& _/ l0 g: @8 Pitem.setAttribute("select","state");* F: f8 T6 c; |0 T2 s* ]6 b$ F
var ecr_items = item.apply();: u, E# }/ {+ R
var totalCount = ecr_items.GetItemCount();
7 |2 I" Z* r4 O. H) W; Lfor( i=0; i<totalCount; i++)
+ y1 w; M. w, @' Y{ 0 u% g- s. M& \% R: G
current_item = ecr_items.getItemByIndex(i);
`- U7 t9 d9 a! p0 x' N. W8 z7 U current_state = current_item.getProperty("state");
7 |7 A" r" _4 V; t& Q# x& l swiTCh(current_state)
4 V$ c% c {6 f+ W# q/ w# y { 9 L% A9 L" k) D9 k: O' z
case "New":
: z: E% s1 y" D newCount++;& E. O1 e. A% a: [
break;
( @* w3 m" C3 s+ W case "Submitted":
5 y! Q, z) u8 A5 j' l; ?" `# S; P. B submittedCount++;
! y& h0 O% ]4 _, } break;
1 @& E! A3 B; S0 d# h3 l case "In Review":
: n: V! M# k( @( z; z reviewedCount++; ) P8 y* F+ m# m* h2 C
break; 4 y% S/ ]9 V( p, t! ^2 `
case "Released":
/ P' t; H6 V+ P& H$ k releasedCount++;
/ T6 i% J' {2 } break; ; D% {5 g$ V6 E' M7 u
case "Cancelled": # M) d- G/ E U9 E
cancelCount++;
. J& c/ G1 i9 r. ?- r; b! E break; $ h, c: V, L, e& f
}
6 n5 ?# u/ |4 D! y}
, C/ n6 {7 b+ {document.getElementById("MainDataForm").textNew.value=newCount;
( z6 @1 k1 l/ [document.getElementById("MainDataForm").textSubmitted.value=submittedCount;5 I2 l1 e" x" G A% X7 Y7 ~
document.getElementById("MainDataForm").textReviewed.value=reviewedCount;( L! [5 w# u+ W" {% w
document.getElementById("MainDataForm").textReleased.value=releasedCount;
; J& T* U1 P- v2 Q, }document.getElementById("MainDataForm").textCancelled.value=cancelCount;4 B u9 c6 w+ P4 p7 i p
document.getElementById("MainDataForm").textTotal.value=totalCount;
2 J; Y0 I) x3 c
+ Q7 J# N( v* Z! m5 b |
|