|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示8 r; L) T( M Y+ Q4 R
结果如下,点击Change Management标签,自动弹出统计界面
0 P* k4 l! L& C! q/ Q4 S5 p7 ~
. u- a/ ~$ D2 f
" @' R7 U! J3 X+ A8 _2 h# [3 _7 W
) ]' M. t- t' {5 |; q4 R+ M5 b" }9 X4 G! o
1 s" f* j* M1 t4 D. Q) N/ H0 g+ p7 G(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名
/ R1 u# ~6 u0 v/ z5 F t3 I, s
/ C u, J+ o1 n7 p) \8 D! \# \0 l0 v
2 u; _0 u, l9 _1 ?9 h* R(2)关联一个 on load的事件,使用 JavaScript 的方式
8 }) t/ V% c4 } o o/ |* K
) e/ u" ~' G! {6 @! v" n0 x8 ?9 O T# v. H
(3)对整个事件进行代码
8 B; ?4 N. F6 D9 ^
' }* l3 ^5 j2 W# Y. Q! w7 V; r
' l. F- ~1 S/ [4 t4 \+ C9 ]完成后即可看到相关效果。
# V" F- H+ P. r5 l R: R/ O- i, w4 d5 z/ w' W3 w! Z* x
代码如下:, m: E9 _4 E' K' o
, L" P6 W% H$ V! X
//get the ECR Collection
. l& _( N H* w( e* t) gvar newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;
- e) ?% _% ?- N% Fvar currentItem = null;$ P+ C5 m: d8 m: B+ F
var currentState ="";
9 {: `1 \2 k m) N) f/ Rvar innovator = aras.newIOMInnovator();0 s+ {) Y* b: V! P# D
var item = innovator.newItem("ECR","get");
; J; Z8 P$ j- \# g) X; c+ y& ~item.setAttribute("select","state");
+ O; N" S+ a) \( A( h" rvar ecr_items = item.apply();& X$ g4 h7 ]* o; @& r" ]/ V# ~
var totalCount = ecr_items.GetItemCount();
4 h9 x, r4 h8 n; K- k- P# ~for( i=0; i<totalCount; i++) s( n! c3 a9 u5 M' D
{ 3 }2 X& G1 c# U" s$ ?
current_item = ecr_items.getItemByIndex(i);
. U9 n* w7 y6 j! w* x" A current_state = current_item.getProperty("state"); 7 M& X u1 V0 N" {
swiTCh(current_state)
: y- i" ^0 D% s {
2 T* _* ^, N7 f7 s( [3 _+ I3 H case "New":
( Y& P5 R5 O% {- ], r! X( h9 }6 y! { newCount++;
. ?" X+ S ^7 s6 Q. P break;7 _3 H& }9 U+ U* e, k9 z
case "Submitted":
: S3 k0 E' ~1 N& F submittedCount++; 5 y2 _% T) a6 b% F' g" @
break; " r3 b! H8 {1 U6 c( ^& t4 v
case "In Review": 8 {, N+ u6 x3 Q. }( u3 _! l" T( @' Q
reviewedCount++;
! P! b# s) A! D break; ' e& w3 P) k, A0 D
case "Released": : m1 P. e5 V6 F2 c
releasedCount++; 4 N, j: q; Y+ W& g) V. e1 n, [
break; : W; Y( ?' j s9 L
case "Cancelled":
]$ T1 O9 Q, @% Y" @ }2 w cancelCount++; # i" h7 _/ n) o2 }& D% E. P
break;
8 Z& A2 M/ {$ R1 |; w9 l. R7 x }
* N& m8 W: A' q! |7 D3 a- M4 G: B}, g6 L& Z" {% d- a% \
document.getElementById("MainDataForm").textNew.value=newCount;: q" n' r; X E3 q$ ~: ?+ c5 `# S
document.getElementById("MainDataForm").textSubmitted.value=submittedCount;6 |0 _# G! d/ f& K. C: _
document.getElementById("MainDataForm").textReviewed.value=reviewedCount;
0 Y( c7 v7 ~8 @0 ?6 c+ V6 b' @document.getElementById("MainDataForm").textReleased.value=releasedCount;
" N0 B( ]8 R9 `. Rdocument.getElementById("MainDataForm").textCancelled.value=cancelCount;% c2 ]2 h4 \* v- L2 X0 [
document.getElementById("MainDataForm").textTotal.value=totalCount;: S8 O% E5 Y& V, a; x& F
/ \ A) G3 {% Q3 M" v |
|