|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示* `( n0 M9 E8 F# v/ i0 K
结果如下,点击Change Management标签,自动弹出统计界面/ u3 L9 z X, u9 G( e! m. j+ c/ R5 Y
; @6 m' ~: D6 p. D
/ X9 B7 g$ k( c
& ^1 _' n) [0 ~; M& q, c
) U/ h% Q$ H# K$ W6 Z; C) \7 A; d
(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名
& Q0 ?& K2 ^' h. t1 ^9 _
" n& L9 k7 ~6 x, c" x
# \2 X. a5 J0 w1 u
(2)关联一个 on load的事件,使用 JavaScript 的方式( V( {: e2 o. L! j" h' i |
( r9 ~; N5 I* S- x6 }$ z
- U! g2 ]! H1 G9 j! J(3)对整个事件进行代码/ H" _2 t) g0 ^ t5 s, d" [
3 J, U5 k# `$ ]9 H5 J! v- y. F# t3 S& u/ I: J- w( L
完成后即可看到相关效果。
c& h* X7 G1 i& f9 s. C( K: i. G2 W( B! r n: U
代码如下:
1 U3 t. S. ?; |/ a$ P5 N
% e& Y6 g. }7 F* j3 ` N( ^2 J' a//get the ECR Collection! @- m G+ G7 o7 j
var newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;8 ?$ Z- p, z; X8 t: ?( J- Y
var currentItem = null;
6 w# O$ j. L8 f- `' d7 x+ Qvar currentState ="";2 Y: }+ v `( f. ^1 ?
var innovator = aras.newIOMInnovator();
% O) J& m, K, R$ D: E* z* gvar item = innovator.newItem("ECR","get");
9 e- B) p7 _" |0 O# citem.setAttribute("select","state"); W/ x5 s- y) ?
var ecr_items = item.apply();
2 r, H* K1 M: \% T! M' E0 b* Wvar totalCount = ecr_items.GetItemCount();# x8 s6 F0 q/ ]8 d3 S
for( i=0; i<totalCount; i++) 2 a% ^# E. H: i: [7 f5 w
{ 9 L0 Z) j- A) R
current_item = ecr_items.getItemByIndex(i);
" i# Y3 h8 P* E( i: u% K# k+ n current_state = current_item.getProperty("state");
. [7 {6 G$ n3 v) R# U/ N, K swiTCh(current_state)
5 Z! H4 H( O8 [3 g% x; | {
- s- W7 ]9 c; S1 d7 O( f. Q case "New":
/ W. t3 f" M) ` newCount++;
+ b7 F9 a: k |* T3 p& u break;# ^3 C* T: D( i l( x, `
case "Submitted": 5 k" D. ]( w* T m f
submittedCount++; 1 k w) \. }7 t8 Z- k+ @, } L
break; * M1 f% y, w3 S) R( z& s; k
case "In Review":
}; v- E9 K; c/ ^4 G9 | reviewedCount++; 3 t) Z# ^: [9 `& \0 m
break;
2 n# Y7 V3 ^4 U E9 j2 J case "Released":
) E* ~# {. C, ^ releasedCount++;
' g) L' B* f3 V( Z break; & `$ @3 [ U, |/ |8 @4 C* T O( e
case "Cancelled": 4 b2 }8 C# g* D! A+ c1 c
cancelCount++;
L5 y1 j$ z% j' B+ s) [8 H6 v- o break;
( q8 n. e/ i0 x3 C1 V$ {! U }
^; ^$ M v4 r- r}
4 @- K$ }# D1 x& H% W F7 zdocument.getElementById("MainDataForm").textNew.value=newCount;
! C0 U/ K5 K" g) hdocument.getElementById("MainDataForm").textSubmitted.value=submittedCount;, j/ d2 G' D$ E! s8 s6 @
document.getElementById("MainDataForm").textReviewed.value=reviewedCount;2 V I% B5 X- }9 _$ J) l
document.getElementById("MainDataForm").textReleased.value=releasedCount;2 G9 j+ z4 \* o0 D. i# n$ V5 I" d1 N
document.getElementById("MainDataForm").textCancelled.value=cancelCount;
* f3 M* ?0 ]8 f% n/ V, R) j0 o7 G; fdocument.getElementById("MainDataForm").textTotal.value=totalCount;) Y8 W3 a7 T8 ^3 K0 `7 u
9 u6 Y# h" x; x N, b4 p |
|