|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示
# Z% d# t6 K& o2 a# T" t4 {结果如下,点击Change Management标签,自动弹出统计界面- F: j6 a1 Z! o( N( ], x6 f$ M6 \
$ A& q7 l& q0 b% y) ?7 L- ]
' v, e. K3 ~4 Y/ I$ T( O, a
3 S) O0 n% e2 q) G4 v* a
+ n" D9 p2 Y6 w: b; K0 Z
6 j9 E s! P J, n1 v# k; }(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名
' R/ H' o. `$ H: h% g+ g/ j% l0 C9 t0 E# _3 {
/ ]8 s, k T4 u& D* L(2)关联一个 on load的事件,使用 JavaScript 的方式
+ W, U" ]- W0 r: [6 k7 E
1 U7 ~, |3 Y |) c) N9 \# g5 ?
C/ P) m" j2 `(3)对整个事件进行代码* b# L: G! j8 U3 t, u
, d& @% ~2 V3 x1 k
0 T. g/ f6 s n$ T% h: V; ]完成后即可看到相关效果。/ | z( O5 g. ?2 i
( }) j/ `: |7 d$ q' a代码如下:# m/ Y4 U) Z& ]) H
) c% j a3 F! ~' Y2 l/ i/ r& ]6 h2 k//get the ECR Collection
, k! U& ~7 G3 L& yvar newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;: s1 Q6 o9 e+ S) y$ B; t
var currentItem = null;
* ~ `+ B7 _& I/ _% Bvar currentState ="";2 T" y$ I( A2 m2 f& R' J# }8 x
var innovator = aras.newIOMInnovator();" a5 P* W! u# y$ w1 ~" z) D
var item = innovator.newItem("ECR","get");
1 k+ B/ R7 y% n- g) Z2 d5 P2 Ritem.setAttribute("select","state");
) ^; c; i1 y% Avar ecr_items = item.apply();
1 s+ g3 ~" M/ b) R1 F+ e# Fvar totalCount = ecr_items.GetItemCount();: Y) F( ]. w7 A& \, c
for( i=0; i<totalCount; i++)
0 t4 K6 v/ B% t- y; _ n/ L; e' l. {; Z{
, d D8 |0 c$ u/ O9 i$ H) n. R3 N6 M! U current_item = ecr_items.getItemByIndex(i);
& i( X$ x& J4 ]0 X2 f' Y current_state = current_item.getProperty("state"); + |" \1 G/ k+ B7 d2 @8 a3 C
swiTCh(current_state)
, q7 f2 q' o! a; O2 K {
# l9 t/ M9 ?8 k* Q( }; J case "New":
- U) ?: I2 n8 F, C" J newCount++;5 ?" x1 Q7 ^3 m9 ~
break;
7 z- Z" n Z/ [* ]6 C0 A9 w case "Submitted": : v+ [6 H0 X3 @! w7 v
submittedCount++; % S% x5 Z: k9 w7 D6 k
break; : J1 q7 D9 l2 X5 |
case "In Review":
# [5 F q5 h3 Q0 o reviewedCount++; 5 M$ A# D/ j6 o5 }4 |
break;
8 w1 a7 h, F3 q+ q% @ case "Released": , E7 V6 c& f- n
releasedCount++; - }. y9 P- [8 g$ T4 w
break;
% e9 ^( u! x0 L) V7 s7 w9 U% K case "Cancelled": 6 ]4 D2 X8 U$ L5 }3 d: i- H' ?
cancelCount++; ' u2 N4 w3 @' X- A, ]
break;
0 E! ?: P0 V( J% @ }
! ~4 E5 B5 |6 b* Q* W+ x8 _2 g}
" Y- {) g5 Y/ }( C, X( d( `5 }2 Idocument.getElementById("MainDataForm").textNew.value=newCount;
0 U5 Y8 r! I1 S4 C# ?* L& Y5 {. hdocument.getElementById("MainDataForm").textSubmitted.value=submittedCount;- e% | c& _# O9 h8 L
document.getElementById("MainDataForm").textReviewed.value=reviewedCount;) t* E" |9 G3 P. P& ~
document.getElementById("MainDataForm").textReleased.value=releasedCount;
/ _4 E, d( R4 q, @4 W: c6 Odocument.getElementById("MainDataForm").textCancelled.value=cancelCount;
8 F! B- P: t/ e0 g' A0 Gdocument.getElementById("MainDataForm").textTotal.value=totalCount;
' g9 I, z: i+ o# }- h. Z; r0 y, e6 r+ Y+ J
|
|