|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示
4 S9 s6 W. f: T" B4 v' Q结果如下,点击Change Management标签,自动弹出统计界面; |+ c \. w6 S+ }/ p$ m
9 N. b4 {. o' t+ i) `
) E% Q( h( ^6 m( V6 C* e1 J3 T- N
9 E: b3 [2 d ? A' ~
; t9 e: W- O% Y& o" h
& k% _) ]$ r; ](1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名' i& P4 p' `/ t; ]$ G( I
7 t% }4 a; M0 f; D( [) j/ j7 J2 R
0 I# A/ [9 H2 E# w, K) z
(2)关联一个 on load的事件,使用 JavaScript 的方式
|. \# W" j+ X+ a$ P( q& Y0 n* T
) O# K6 I" B' |9 o1 p1 ]$ V: i
* w4 ^" \0 O1 S$ C( K1 G0 u(3)对整个事件进行代码- g2 S4 j9 q a8 n/ F5 D( u
4 K6 [$ |9 }5 m# C
$ I, j4 W1 W/ H( @& D% J4 y, F+ S/ ]完成后即可看到相关效果。
$ ]7 \0 {' u' z! v! R+ [% t8 r5 T, {; ~* G2 G
代码如下:5 d8 d# n0 @ Z! a/ j( V6 c. X
5 l& e7 `" z" ?3 T" p" i//get the ECR Collection
1 m9 o; c) f; Cvar newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;9 s/ f8 |9 B( l$ E/ n) w7 N
var currentItem = null;
, x/ T4 }' D! h+ B5 Avar currentState ="";& v. M7 m$ A( N5 H
var innovator = aras.newIOMInnovator();$ A; d0 g1 j4 g2 [ k
var item = innovator.newItem("ECR","get");4 G; Y6 S6 P! M7 l! M9 C
item.setAttribute("select","state");, v! y7 a- b. H
var ecr_items = item.apply();" |6 i5 Y8 l: U2 e8 \2 i
var totalCount = ecr_items.GetItemCount();
! U T. D' Z' i2 n- I* ?, Nfor( i=0; i<totalCount; i++)
$ C$ N" o, W5 y. W{ - A3 s! s7 d9 G0 X x- [" b0 G6 J
current_item = ecr_items.getItemByIndex(i); ; K# S) p# U. }( T8 W* | X$ k
current_state = current_item.getProperty("state"); + n Q0 ^( ^: R( g8 y" }) Y
swiTCh(current_state)
( P ^3 M# j7 R8 y5 T. E6 |* _! p0 C { 9 j1 t3 f$ d2 E- e8 @ i
case "New":# u& ^+ s( { s# y" z& x: H
newCount++;
( C4 C' C* y+ i) W5 p0 u5 p! g break;: P* l& M' Z' {/ w& ?# v
case "Submitted": 2 f) Z1 K7 e3 i3 \. r, S
submittedCount++;
, y2 ]. N J! z+ r; G break; + k u$ I0 V& B8 m6 a1 @5 v
case "In Review":
. w2 ^' [4 K* N) Z) H reviewedCount++;
0 D& i* `1 I1 v1 ?6 \/ N break; 1 d9 L2 P2 Y; V" N8 x. ?
case "Released":
/ K( N5 M. _7 l: `! P releasedCount++;
4 P+ o9 x, ?. M1 O/ r" |' N) c break;
0 A7 v) |6 m5 }- k case "Cancelled":
+ u- n0 z' P* A' D' s cancelCount++;
6 F2 _1 r; O3 ]2 }; R: P( ? break; _4 H8 V8 l/ E2 k- z
}
. e6 ~6 O$ m% w1 P2 b} @9 S' z+ ]8 I* _3 G, D4 g/ ?! {
document.getElementById("MainDataForm").textNew.value=newCount;6 I. `6 q: v8 }) a& n4 {/ g' b
document.getElementById("MainDataForm").textSubmitted.value=submittedCount;
8 r) B6 \* e0 a( N2 b8 N: Fdocument.getElementById("MainDataForm").textReviewed.value=reviewedCount;7 Y j$ V& K$ Y) X0 T0 i0 A0 e; g5 ~
document.getElementById("MainDataForm").textReleased.value=releasedCount;
* y3 P o. v" X8 ?6 Vdocument.getElementById("MainDataForm").textCancelled.value=cancelCount;
6 d6 f* ]# f* y) m2 }' f& Mdocument.getElementById("MainDataForm").textTotal.value=totalCount;4 E8 s5 B3 \# C3 g, ]* v2 C
) F% b7 N7 V- a- |7 X
|
|