|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示
% g, D* `/ n8 U, l' T J, g结果如下,点击Change Management标签,自动弹出统计界面& e; E- }1 @1 A' m
5 t7 F7 h$ k, w3 g P7 f+ x6 O$ L9 L
$ w- w. t- w3 N3 [1 I$ i- H
3 x) m- _( v. M4 C; L( ?- j& P4 Q. F/ g, {4 C: r* M# ~
3 |! K. v1 w6 N! i& L
(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名
2 {! W5 D7 U" s6 N
7 ~4 s4 }) T7 i1 F6 F! N
; g" {! b! g( |- ~2 U2 N2 v
(2)关联一个 on load的事件,使用 JavaScript 的方式
" _2 S9 B+ y! F' E# N/ [
, r9 d% ?9 @) ^; o0 M1 P
y- {$ c" V, x" c& p
(3)对整个事件进行代码
9 u" ~) J* F z5 H7 f' u6 h
# A( ~5 y1 Y* k# g% O W" P' x# y% M5 b
完成后即可看到相关效果。# |/ T2 L$ T% c/ s8 Q+ P
/ ~9 Z W/ G* U6 ^/ g' l) Z1 J代码如下:
- S: U3 U! |! Q# _) d% k
, b3 }( T' a+ O8 F; ]1 k; D//get the ECR Collection
# _- J6 T! t$ P6 z3 h! @var newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;% K- z% M# T& s! c* }# N0 D6 }- J) ^/ S
var currentItem = null;
8 D% z. N; M4 ]/ Dvar currentState ="";. G6 S% d2 `. }5 Y) r
var innovator = aras.newIOMInnovator();& h+ W+ O, d2 P- c5 A) _6 a
var item = innovator.newItem("ECR","get");' c/ g. K5 c' R4 q3 Q1 p, Z
item.setAttribute("select","state");
1 g8 P+ I' l! s0 b8 W( {! Hvar ecr_items = item.apply();- D3 q. Z$ B5 Z
var totalCount = ecr_items.GetItemCount();0 P+ p( H! Q ]0 a }# {
for( i=0; i<totalCount; i++) 5 w0 W) b# W5 m
{ : f( J: D" f$ a% J `
current_item = ecr_items.getItemByIndex(i);
" E5 k8 @$ l f- G+ J- f current_state = current_item.getProperty("state");
0 X0 O0 @- I$ i9 k3 g$ l swiTCh(current_state)
8 y( Y3 w! K8 m! } N { % s" v7 p/ ], w- L' v: y0 r! H
case "New":- n3 }! L/ f* ~* C% o' }4 Z
newCount++;+ s; F9 g. }$ }6 o
break;
) W# l. [* @# ?6 _0 l# Y! D6 K) } case "Submitted":
5 }- W0 q2 I2 @ H9 S4 `2 U) R submittedCount++;
: @; W# n4 y( J+ _: z break;
; |4 g) ?7 d7 Q case "In Review":
; ^2 Y" I- d7 `0 z reviewedCount++;
$ A. n0 o( ]1 }2 T6 h+ E break; $ p5 R4 _+ F% }3 ?
case "Released": . ~0 H2 C) S3 Q* K
releasedCount++; 9 [' v' R# s6 s
break;
( V0 u/ [- v2 g# W case "Cancelled": ! p+ k) H7 O. r( W! p6 h
cancelCount++;
1 t0 e& p+ _7 ^ break; * ]1 N& n7 _* N0 \* s3 y2 O, B
}
. M( K- e+ V+ G: [ m}
) @! | U' {2 X2 G4 X( |1 Vdocument.getElementById("MainDataForm").textNew.value=newCount;
4 C; `1 B. \+ l( ]2 vdocument.getElementById("MainDataForm").textSubmitted.value=submittedCount;
E' y5 J I/ ldocument.getElementById("MainDataForm").textReviewed.value=reviewedCount;1 O/ z S9 Z1 D
document.getElementById("MainDataForm").textReleased.value=releasedCount;% p* ?3 `1 J& q& [2 V' c0 d
document.getElementById("MainDataForm").textCancelled.value=cancelCount;9 ]# U2 x. x$ T% l3 `
document.getElementById("MainDataForm").textTotal.value=totalCount;) p- T$ X8 Z- ^/ N( P, e j' @
3 |7 r) x, G X$ H$ b9 W
|
|