|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示, M. V* \7 G! d( n/ L
结果如下,点击Change Management标签,自动弹出统计界面# u4 m: {" H6 I. Y0 G
B. S1 f6 v6 J( t$ t
0 p* ]! [) B8 W
' H3 t H o: ]: R/ x3 i. Z
' j3 ~! L. a& W6 o( m9 d1 T" m8 q
(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名
0 a+ W0 M# q+ s8 \! g ^' s
) S3 v7 G4 H4 U% ~
2 n- l( [' E8 g5 Z, v(2)关联一个 on load的事件,使用 JavaScript 的方式
8 U# L& |" a& L9 p8 A5 W! Z
4 o! j8 x0 J0 \
4 G7 C! [% D, }+ F e- X. V$ c
(3)对整个事件进行代码
) y3 n$ q2 m$ u" L( G! k
?; Q. \3 [4 c( ^* c8 w
! @ E+ T( Q# I$ Y9 p6 k完成后即可看到相关效果。: Q" N6 f3 b' v O( m( A: v2 ]
' v( K* p. j( S% n4 |
代码如下:
: b* Z( {0 x3 Y# v: | R5 O6 u- u: W5 Q4 b
//get the ECR Collection! ?: |+ c0 c% q% i e# p( Z& W" a
var newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;! k7 g: ~9 T3 A1 C1 k/ N( w, h
var currentItem = null;
9 L! b8 v: Q) A' d# ?& `7 S# Z+ i, rvar currentState ="";
% {; B( [5 E; d3 T5 q5 bvar innovator = aras.newIOMInnovator();! G7 m( H) |9 p' C3 e# H* B/ }
var item = innovator.newItem("ECR","get");
' s" A$ u; P7 l: c3 S8 K$ litem.setAttribute("select","state");$ F1 J' n/ g* t+ u$ [
var ecr_items = item.apply();
- Y2 t5 f& s# U0 r- i- m* b) kvar totalCount = ecr_items.GetItemCount();
! l9 i) z2 e/ z0 B1 `" S6 g- xfor( i=0; i<totalCount; i++)
; {9 ] n3 m. m! F) k8 [) j{
' |8 h2 F2 c6 o( r% ^ current_item = ecr_items.getItemByIndex(i); % b. ?! ~8 A+ E& O- a% T" i
current_state = current_item.getProperty("state");
, Z5 N0 T2 n5 F: H/ x9 ?9 \0 J swiTCh(current_state) 9 O/ {& q6 g4 e& g
{ % x6 Y* N, q+ |9 L' }
case "New":& p" F7 G# F" u3 m) @/ ?1 h4 l# j
newCount++;7 l& ^( l' ^ l9 s' T9 r+ ^ f
break;3 W* u6 s" Q8 e
case "Submitted":
; H8 Q# s1 I- b/ y2 \ submittedCount++;
% v# A, a% a4 V* c) h$ }7 q- j break;
( B: i- _- i G) x6 j case "In Review": # M! w# y2 Q9 s8 r4 d, [& t
reviewedCount++;
; X. @9 ^5 e( ~' b; ] ] break;
& R/ D3 H1 L N( @; z8 y* y case "Released":
' B, j i3 J2 Y7 [0 Y- x r% _% ~ releasedCount++;
: _' k! A6 n \, |" h H3 M7 w break;
2 s/ N' [0 R. h) T) e case "Cancelled": ( t! h6 p$ U# H. R
cancelCount++;
3 T) O- ]6 h. N' M t( t5 I break; 6 h2 J7 p9 h. r$ [, X5 q
}$ O& L1 I+ z; b! P
}1 n3 m' g( |- `# f0 s( x V4 q
document.getElementById("MainDataForm").textNew.value=newCount;
8 \2 b, P4 z& a" V; fdocument.getElementById("MainDataForm").textSubmitted.value=submittedCount;
m6 g* y5 L7 M* D! ]( c$ T+ Adocument.getElementById("MainDataForm").textReviewed.value=reviewedCount;$ J8 O" b5 ~; F3 D# V
document.getElementById("MainDataForm").textReleased.value=releasedCount;
" g' r8 e5 V2 U" x# _% p# udocument.getElementById("MainDataForm").textCancelled.value=cancelCount;
4 Y5 c# A* B0 x! L; I6 J; b* S" P) Pdocument.getElementById("MainDataForm").textTotal.value=totalCount;
9 v7 X+ Y4 `0 O+ m6 h4 T, {) h9 d- Z& t6 H- o* s
|
|