|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示9 H) I+ Y5 @6 J6 n
结果如下,点击Change Management标签,自动弹出统计界面
. O' g) {5 ]* W6 U
; f6 ^. T5 s6 D7 E6 k2 f
+ J; T8 ]5 O5 N0 m
0 M9 [! w& n, t( [# D
8 D' @. i- Z1 l) g4 Y+ M8 ~! d$ h9 i$ o/ w; ~. F
(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名/ j) G8 B" Z" Z* F" x! V' U
3 ^, e& C5 u. v2 U4 }
5 G" u& Y. W' f
(2)关联一个 on load的事件,使用 JavaScript 的方式( Z( n3 j8 ?6 J, ~" `) w
2 Y- k+ z2 U) ]; B4 l
' C | W9 i+ F7 y(3)对整个事件进行代码
- K" T# L# m, c' O3 x
- A) n; q( q6 n" m/ g9 W- L( l* ~+ D' |1 T& ]" R! O W$ v
完成后即可看到相关效果。
) m- g% m5 Q @ q4 B+ t# ~3 d- \0 T0 W
代码如下:1 {, [2 P0 l' k
- [% t5 r0 R" x5 [/ ^//get the ECR Collection
& W9 w9 F$ @/ K" e0 \1 Tvar newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;4 Q% e% {+ m* j( ^7 e
var currentItem = null;
7 \* K- t; D# a# E1 D bvar currentState ="";
3 f5 r5 g% N2 w8 Vvar innovator = aras.newIOMInnovator();
; V5 P+ U5 d2 p' c& v9 Kvar item = innovator.newItem("ECR","get");
) \) L- k) x( \* mitem.setAttribute("select","state");/ {7 U% G- l: v& E6 c* a. u! [
var ecr_items = item.apply();
3 r1 I# m! g# v3 Kvar totalCount = ecr_items.GetItemCount();: o* l* v9 s0 w3 Q7 R1 G7 c+ l
for( i=0; i<totalCount; i++) / k/ H i( a% S J
{ 3 t4 U" X& C' }4 M8 R, U
current_item = ecr_items.getItemByIndex(i); # y8 s. D& o$ c/ f6 C1 X. C; @
current_state = current_item.getProperty("state");
5 {4 A9 d! G2 [1 i) j5 }: l6 Q8 F0 Q" l$ ^ swiTCh(current_state) ) X5 o3 f5 g0 ]1 }. q9 z
{ % k( A# D% y' T4 @. d) ^- Z6 S; g
case "New":& w% v K, N9 C, _; @% T
newCount++;& k$ T* I! ^& u( Y4 D
break;
# I! z, ?5 o* u# m case "Submitted": / G$ b- k3 h$ `# h* T
submittedCount++; 5 R/ i# e2 C( l5 u
break;
0 c' g0 V" U4 c% \$ y ? case "In Review": 0 U* m G; |# ~ |9 }# C- d6 R
reviewedCount++; % @' l1 _% P+ c, ?( Y* _4 l# n
break; 1 b/ { y( p3 {/ q( p1 m
case "Released":
1 a6 o# y) u. s# l8 o releasedCount++; + @1 h# R( e( K7 g
break; 0 b+ N$ w7 ~: i- }/ R% [- ?9 Y/ e( Q
case "Cancelled": / p* S2 R g F
cancelCount++;
% m) [! C+ C0 B8 N* e) x0 I* \ break;
' B- ?2 ~" _ W/ n E8 o } [- x' f- ] N1 r6 y8 a
}
& h! i; b8 w8 B$ ]' \document.getElementById("MainDataForm").textNew.value=newCount;
9 G o4 o5 J5 o# W2 f5 D5 i+ Kdocument.getElementById("MainDataForm").textSubmitted.value=submittedCount;( J( q6 r: N5 q9 S3 K, L( g* W. e s6 I
document.getElementById("MainDataForm").textReviewed.value=reviewedCount;
. q5 \+ \: R5 i( y y6 Pdocument.getElementById("MainDataForm").textReleased.value=releasedCount;
& \% ~" Q) |; L0 P" Qdocument.getElementById("MainDataForm").textCancelled.value=cancelCount;
' \: ?) z. `: D9 |document.getElementById("MainDataForm").textTotal.value=totalCount;* H8 g/ L/ J+ o: M4 t) C
0 k7 @, z$ z& t; k |
|