|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示
) w. J* T' S* G, E结果如下,点击Change Management标签,自动弹出统计界面( F4 d* v7 U$ h
0 I3 o( c o7 l, Y) K J _
8 _9 ]5 P5 z( [! N" D
0 P, {$ `5 u$ z4 Q1 k2 U
/ V. H: d0 q* ]; O" ]1 I+ D, y3 c7 P6 U6 a2 }
(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名
$ T; u4 q, j1 o1 S* M4 j+ A" U4 i
$ m% ]6 z/ B: u+ X* n
0 G% C. A2 C/ ?8 }
(2)关联一个 on load的事件,使用 JavaScript 的方式
, x v1 m3 |/ K5 M
; l9 R3 Q6 U: E: Z4 D
" K- A! B5 g2 ^* `' d(3)对整个事件进行代码
- `4 F# {. F% \+ x# D" P3 ^
, ?' b+ U! U4 M5 W5 c. G% x ^3 g$ q j9 ~0 @
完成后即可看到相关效果。
6 z0 \9 f. Y5 g; U4 D" U" q- q
0 p ?; V0 Y+ W1 S6 w9 M) u代码如下:% C! z- k/ R$ e, Z8 X5 F! t
/ p2 M9 y- m; l' N+ ?8 F; T
//get the ECR Collection
, P. V3 w$ r1 i$ X4 Avar newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;
% \6 J; l9 o. X& }7 }4 _ V( t6 ovar currentItem = null;2 ]2 A* n0 }/ [& [
var currentState ="";
* D- F. l& D# Evar innovator = aras.newIOMInnovator();
0 X* @* q' A8 O' W& a: }8 ?var item = innovator.newItem("ECR","get");! [; b; j+ A% w/ ^5 q6 R
item.setAttribute("select","state");2 p9 S0 i e* A! D
var ecr_items = item.apply();8 J( S" X8 Q0 Z' i
var totalCount = ecr_items.GetItemCount();6 L* }% C3 Y0 J O$ K$ e
for( i=0; i<totalCount; i++)
- T) ?/ ^, l) h' r{ # }1 S, @3 L& V7 f( t
current_item = ecr_items.getItemByIndex(i);
w; W1 ^5 O2 w- @9 N) e current_state = current_item.getProperty("state");
& ]+ r+ c% ^; I0 ^- V6 G' v swiTCh(current_state) + F/ R" Y5 R. f4 `, k) b; P
{ 8 R7 y+ E4 f! f$ {/ M9 p W# ~- [
case "New":
1 M5 o4 ~; |; T- I+ a9 x newCount++;
4 \, t) X8 k) K( _ break;: ]* P E6 I! j2 G
case "Submitted": + c3 |8 B- i4 Y/ l* G" W
submittedCount++;
4 Y# C; [* r: Q4 ] ~ break;
3 `4 V8 v* G7 Z) ^+ }0 m case "In Review":
5 F T/ a& R- E3 ~; \ reviewedCount++; - e, x, q6 k5 s% ^$ y |+ x
break; " T& O d4 x8 z' u8 s
case "Released":
" X, U3 [. B2 {$ i releasedCount++; 3 J. i: }8 f' J8 F5 u
break; 2 Z- G8 u. Q/ n9 i1 y
case "Cancelled":
! G- F' p! G7 [$ S: R$ f- k cancelCount++; : R' }# N& D# I+ K3 q$ e
break; 4 Y4 P; b0 k5 K7 @$ v' G
}- V0 \' ?* j' ? s9 f
}5 }$ q/ Q: L6 x5 w2 i: j
document.getElementById("MainDataForm").textNew.value=newCount; T% j# M+ w7 J# N
document.getElementById("MainDataForm").textSubmitted.value=submittedCount;% U$ M, l* b# x3 @! k) ~/ r6 V4 E
document.getElementById("MainDataForm").textReviewed.value=reviewedCount;
. y8 {- w( F; p% t% g2 D& [document.getElementById("MainDataForm").textReleased.value=releasedCount;7 q/ _) y/ o2 h7 {- |% a9 Z
document.getElementById("MainDataForm").textCancelled.value=cancelCount;
: S8 W5 s3 T1 V- `- mdocument.getElementById("MainDataForm").textTotal.value=totalCount;
, l' l' l% P+ i6 e2 B4 R4 H
3 u! \, P9 p% Y5 }9 y) X! o |
|