|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示
" J+ N" [4 R1 Y3 _$ T结果如下,点击Change Management标签,自动弹出统计界面
# _5 y$ k2 p! O6 [5 _, T# q, n# |% E% T0 H7 m; V- T# f, c
$ O' d6 |8 k- R5 v6 G: [' {7 p8 P% x7 l1 F- K3 Q: ~
" G% T: O$ G" [8 S; ]
2 f9 e" c, f4 O7 H
(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名
W( ^( x: j3 Q4 {# K2 h' U' K1 j) I) {4 ?
+ b; @4 Q6 K6 {7 {2 C# E& m(2)关联一个 on load的事件,使用 JavaScript 的方式
! z$ v4 n6 X4 [6 ]: |8 L; B0 m
2 G# g |; E, S$ y6 M8 w3 P. o/ t4 M+ W
(3)对整个事件进行代码: e$ w4 g k9 a- b& f- u$ s
& }5 I8 O0 [1 v! N, `9 S
5 c0 u; v- U/ f @, O完成后即可看到相关效果。
* L; V9 X1 u: e# h9 {" e! X
# @+ ?2 g7 y2 i, ?代码如下:9 _" x1 R: u" g' ~. R
0 L9 U$ ~0 {, k9 b
//get the ECR Collection
6 x! A, J9 p/ O0 g) Q. p' v- q. {" Pvar newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;: Z4 }/ L( X+ }7 q; a0 a( S
var currentItem = null; j( c6 r1 n7 K1 p+ H7 G+ ~
var currentState ="";0 Y+ N, o/ u H! o8 F+ l; `. P+ y
var innovator = aras.newIOMInnovator();
+ Z5 I5 ]( G# i5 q- {9 Mvar item = innovator.newItem("ECR","get");4 [( ]( {# L% a: ^, p! d- T4 M% {
item.setAttribute("select","state");
3 P! B/ `5 B' c" tvar ecr_items = item.apply();
7 S7 Z. k U( V9 \8 }% Mvar totalCount = ecr_items.GetItemCount();
5 E5 ]2 k" X! {5 f! g$ i+ N! Kfor( i=0; i<totalCount; i++)
7 w' W# a) q9 s' H1 ?{
' ~0 m/ t! K: ~. g9 d& ~. k n4 } current_item = ecr_items.getItemByIndex(i);
7 A, Z" f, u y! M1 S% W! P current_state = current_item.getProperty("state");
0 Z5 V6 N0 @0 w! b+ K; n swiTCh(current_state)
9 z3 k3 T' L. T0 B { , S+ u, X! m7 H# a
case "New":
% D: a3 S% W# s7 f; _1 ^/ C newCount++;
9 A4 L6 p; q' u: O break;
2 W( Z' D$ j4 t' o& C6 r case "Submitted": 6 e5 i, _) d; [ A
submittedCount++; . I' w0 t" u3 ?- \7 d0 T6 g" k
break;
3 ]5 T9 d4 n% a0 d9 G5 l5 F. P case "In Review":
l2 R: u3 w& j- c1 i reviewedCount++;
' X* F5 F& r7 w break;
& |4 v3 I; p0 m7 ]! m; M& k case "Released":
$ y4 D. p" I2 x- }4 F' B0 ` releasedCount++; : c: Q F1 \2 u0 `1 G7 U
break; 5 h# n. F8 k" C6 \, Q
case "Cancelled":
' }2 s- O& r2 y& N* f) ? cancelCount++;
' F! z" u2 ~* d6 ?* m break;
Y- |/ i! { B3 l% ]1 V }/ ?0 z0 h8 k% {* m( A! p
}# a- e5 E9 c/ t; R6 {- S
document.getElementById("MainDataForm").textNew.value=newCount;* }; c6 P6 Z, R4 Y7 V
document.getElementById("MainDataForm").textSubmitted.value=submittedCount;: g9 F( e9 M* z8 X% L9 [) `% U
document.getElementById("MainDataForm").textReviewed.value=reviewedCount;( b/ J$ A0 R- @$ j8 _8 D
document.getElementById("MainDataForm").textReleased.value=releasedCount;
* e+ n) _) d7 u# {& odocument.getElementById("MainDataForm").textCancelled.value=cancelCount;. X5 t3 }; a3 }
document.getElementById("MainDataForm").textTotal.value=totalCount;; ?, q6 {- `; d0 D4 w& I
! D3 z9 M3 x+ t& M |
|