|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示) f5 m8 Z' R, U" P3 ]+ G
结果如下,点击Change Management标签,自动弹出统计界面) p+ m: W" U+ P1 p
% p/ G4 U& P5 Z9 B3 n' R
5 m6 d' f8 T- w* R; z5 B/ m& N+ s
, [6 F0 m9 H, k; x. K' K7 [9 ^7 h, ~0 e
. q$ j [, V1 }. a$ s* m/ ?& ?(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名
& S$ W% Y: r) V# w. P
) M7 H) ^. [0 X
! c! [$ X6 g# \) Y& ?
(2)关联一个 on load的事件,使用 JavaScript 的方式
/ o( b3 {0 q4 F, \1 l
9 g& u6 n7 e, | o
9 k- R3 o/ }% t) a2 }. }(3)对整个事件进行代码6 S2 p% O0 o4 B+ k; @7 j
# F& m a* M* Q7 s. W
' {: x) ]; x! `" S# o7 f完成后即可看到相关效果。
$ U6 z5 j+ ?* t' r0 A8 d: r9 N4 @) R8 J9 l- H8 p3 V( L* R& Y4 O
代码如下:
- o" \; r# n8 o: a; ?$ Q# Z1 D# f
f1 J2 b) a/ [0 D: g//get the ECR Collection+ d$ W% o8 ~2 ?- y+ n
var newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;1 e3 @# {" M8 R/ K! c2 I6 R+ ^
var currentItem = null;
" N1 I% B, G: s- Bvar currentState ="";. y( Y) E; p( K7 n+ f/ X
var innovator = aras.newIOMInnovator();
, x: n9 U: o+ U/ } k* L( q$ ivar item = innovator.newItem("ECR","get");
. R. b- v* ]- w7 qitem.setAttribute("select","state");
K# _& b3 _6 D& }var ecr_items = item.apply();
* G& n8 b6 w q& i+ L3 v# Qvar totalCount = ecr_items.GetItemCount();. R, o: m) F) [
for( i=0; i<totalCount; i++) ) H7 \: [/ R4 q/ L( F
{
& p) \/ q4 F) ^: g* R5 h current_item = ecr_items.getItemByIndex(i); " H' m4 m& ^ q3 y ~6 s& {
current_state = current_item.getProperty("state"); : o1 b2 _7 n \6 u7 b
swiTCh(current_state)
( w5 N) c( |1 K" b {
5 T. ]6 a- B0 L' d7 K case "New":
$ t* f2 X$ i! E( ^0 v8 `2 D newCount++;
! r0 W3 `' y. d" u& p* g break;
7 i0 {+ {& f% B3 j8 A( f4 S case "Submitted":
; m9 s, N) X5 G submittedCount++; 3 { o3 Z0 B: {
break;
5 H0 I2 [# F" m K$ G' o case "In Review":
# I# D6 m) V W5 d; d1 ~ reviewedCount++; / ]" A+ y) z( i* ^/ g
break; 5 W- M7 J/ p; k: B
case "Released":
+ d* h5 a. W% n. s4 @; @ releasedCount++; 8 b3 V" g/ e: ?7 Q, Y6 v+ ]9 W* `
break;
% j+ I9 z. F1 A9 W: j case "Cancelled": + |- s; t" z: N) h3 [+ y
cancelCount++; 2 [) p( A1 ^1 Z) m H4 V7 N0 S
break;
5 a2 A9 h1 P: _" _ } D" G6 ^+ Z6 G
}
' {- [1 l: b, m' }: Y, o& fdocument.getElementById("MainDataForm").textNew.value=newCount;4 n8 h5 m5 T& g3 g
document.getElementById("MainDataForm").textSubmitted.value=submittedCount;! m' a& C2 a1 X+ A
document.getElementById("MainDataForm").textReviewed.value=reviewedCount;
3 L! A# [- {: s) P: `* Edocument.getElementById("MainDataForm").textReleased.value=releasedCount;
$ u, f1 m, t R2 M' Adocument.getElementById("MainDataForm").textCancelled.value=cancelCount;: m! t/ `- R6 {
document.getElementById("MainDataForm").textTotal.value=totalCount;$ k# q' _7 p* _2 N& K4 e m% D: p" M
: h, [/ k. e# V5 D6 V |
|