|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示: Z3 k+ v6 \% P
结果如下,点击Change Management标签,自动弹出统计界面
# N6 l* F- V5 V/ k( S1 y4 ~# s7 F0 w
: W8 i/ U2 W- @) ]/ M/ A; R) f/ z; ~! R7 C& T7 w
5 A( L9 t: M; T* V! r. r
/ v5 S9 c j0 d, w6 C9 n& M
(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名
+ w( e0 G# D4 q" ?3 v8 P& o- Y! J7 l! c7 D" H
5 R8 `: e, B3 g; Q( ]0 G( D1 z+ s
(2)关联一个 on load的事件,使用 JavaScript 的方式
4 k+ N) y4 ]& _0 h" v
8 T( t2 J* Z$ }7 H7 X+ I
" F% o2 S0 q [5 V' i$ Y% G# ~(3)对整个事件进行代码$ Y) ~ v+ b# V: A
3 q1 W1 o/ z9 `0 b5 c' D0 B' O
6 V! U6 q* ?+ x4 j4 }/ s" a/ Y3 Z完成后即可看到相关效果。
# h4 }; G# K/ S) t v7 k! X0 g& n) V, U% X& |: o9 {
代码如下:
& N5 H% `% _8 J9 ~( V F1 x1 q% E& W/ w0 D
//get the ECR Collection/ p5 q% n+ ^, H( r {4 n7 \$ u
var newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;; i Y0 Q: B4 G
var currentItem = null;
$ _' E+ U% _' H5 n! u$ w kvar currentState ="";
1 _6 E1 F% Q5 z+ Hvar innovator = aras.newIOMInnovator();3 T& Y7 N! ~% u v9 a/ M3 a
var item = innovator.newItem("ECR","get");. G3 q z1 H% D* ^( }, R! W$ H o
item.setAttribute("select","state");9 I/ i; O; V: u8 n D {. Q
var ecr_items = item.apply();$ Y6 W* H# i' }2 Z% K
var totalCount = ecr_items.GetItemCount();3 z, x( E0 G- T$ M5 P$ [
for( i=0; i<totalCount; i++)
( ]( N/ H$ X+ [: E{ 2 M6 j+ ?9 m2 F+ K
current_item = ecr_items.getItemByIndex(i);
7 I" H7 _) j7 P0 P% S1 e# [ current_state = current_item.getProperty("state"); * n6 M8 w5 ?1 e/ n4 y9 V* T
swiTCh(current_state) / m" R! ]' `9 u8 L; e* B, F; }8 d! D
{
/ v% m& o X! z2 ~! ?2 b2 W case "New":, f( q+ F1 z7 r) h3 D Z6 {
newCount++;1 t7 m9 V# d% z# C8 [3 p+ ~1 D; g
break;* I! F$ h% q; S$ n! I0 X" L3 f
case "Submitted": * @' P8 N% ]6 ^2 J6 a
submittedCount++;
V$ `" ?+ m. F% ~. P7 F break;
: v+ Z0 l" ]; S! t3 r+ P case "In Review":
h( o& O$ K, m) E" ^- B4 p9 O) W0 } reviewedCount++; ; t- U* p9 @$ b4 a a: t( L
break; $ {2 |$ K D( p0 ]% k
case "Released":
; h0 H8 B) y8 @( H releasedCount++;
6 R \% L; i" ~$ y' G7 c break; " r8 `& R. b" [) J, l
case "Cancelled":
1 j" ?8 K+ e4 p, l3 c cancelCount++;
" O% ]0 L1 g0 }4 g' s) n8 y; V break; 6 m+ W2 z b* s# ]2 L8 S, w: A
}: L% u1 R0 D* h4 {0 z. {& w
}1 w! M8 [0 [6 k3 z# U- w% C8 \
document.getElementById("MainDataForm").textNew.value=newCount;
/ o+ a4 i/ a1 `- ~document.getElementById("MainDataForm").textSubmitted.value=submittedCount;5 K. C# e7 i' v0 r: N
document.getElementById("MainDataForm").textReviewed.value=reviewedCount;
/ W$ l" a, u6 Zdocument.getElementById("MainDataForm").textReleased.value=releasedCount;/ O3 Z# D8 `$ T0 F* P6 c" { I( F- \
document.getElementById("MainDataForm").textCancelled.value=cancelCount;: h D2 c4 ~7 W. m! X
document.getElementById("MainDataForm").textTotal.value=totalCount;
Z3 }3 |- [5 r6 |/ x. N
" h" m1 {1 s9 n& b4 C, a6 p |
|