|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示* p5 O2 r$ {3 W& A( A) A
结果如下,点击Change Management标签,自动弹出统计界面$ p5 P; N9 P, V+ W8 t
0 @( N: y b9 Q3 a+ T% o# W$ s8 a
* [3 l3 ?6 K& I8 ]( n& S
3 l* j% {% @. ~4 R$ w" K; c4 ^$ H w' |0 @! N% N
) A& d/ }7 E% G# n6 I
(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名0 `3 _! B! E! X2 r+ ^3 ]) d
9 q& n @% e' `/ J; P/ a! X
% z0 Z$ I5 j% {7 `(2)关联一个 on load的事件,使用 JavaScript 的方式
4 X: f* U+ i. i- B. H! u8 o
' p+ Y; N/ K8 J
( i. O+ e" G2 c0 V% r: H& Y(3)对整个事件进行代码
7 r. i9 J z1 e1 g: Q
- x5 O7 N r* o3 t% u
& m$ o9 q+ A: M, V完成后即可看到相关效果。% c) ?# g# b$ H! R q5 R2 D
/ I& n3 v9 d6 u" u4 s代码如下:
7 G( q) H% S. s3 s4 x: B
! z# o7 x9 Q' F0 h) I' e//get the ECR Collection8 a4 ]+ _' l1 D* X- O' Z
var newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;
% @; Q0 R/ y6 Z9 _: Z* Mvar currentItem = null;
4 n7 }1 X5 Z6 d* C( K# M6 Nvar currentState ="";, G" G2 i$ i y3 }# h
var innovator = aras.newIOMInnovator();
$ ?' q M$ i2 R/ Y& v. X: uvar item = innovator.newItem("ECR","get");
, d* R% R9 ?9 J" H Zitem.setAttribute("select","state");
6 s; _3 t( I/ }var ecr_items = item.apply();; X9 N' C1 ^# A
var totalCount = ecr_items.GetItemCount();
) W1 b6 R( I' j. S4 H Mfor( i=0; i<totalCount; i++) 8 R% f# a b, k6 O# K
{
4 d( W* _/ S8 d1 y% S$ q7 H* e- \2 S7 w current_item = ecr_items.getItemByIndex(i); $ C8 D4 w! l# ^ C$ ]
current_state = current_item.getProperty("state"); ( v. D9 m5 g X" v8 z
swiTCh(current_state) 3 Q' _% a3 S& l
{ 9 ^! J/ O% ~# R) s
case "New":
) D! o1 p5 |6 F% J- F) U newCount++;
- L1 J, p/ [/ ~' ?0 d+ ] break;
$ W9 b$ D% v m+ X7 w case "Submitted":
0 L7 ^5 ~) x; `* A submittedCount++; : p6 G" w+ N* ]+ _- `4 P8 V4 g
break; & T0 L( m' @7 y9 {) E: z* f
case "In Review": , E: O! o$ c& P5 X1 Q9 `% l
reviewedCount++; 2 U# k# F" C9 M& Q( F1 O
break;
, g: Y& V9 V! B3 S& ~6 @- E case "Released": " ?7 C3 l+ K, ?' S" ?: H7 b
releasedCount++;
: e+ Z8 Z0 c" N# @# E: e" x# J' @ break; " E* f& A- A n! Q* L2 S. k
case "Cancelled": " |3 L4 X) d* D
cancelCount++; / M1 C( J" S$ k8 O: S( x: w
break;
' c6 S; q; l7 e }( e$ z# R+ T/ M8 E
}7 i" A! G* n1 T$ _6 m* o4 l3 c
document.getElementById("MainDataForm").textNew.value=newCount;
0 d; s" ^3 T1 @) t/ adocument.getElementById("MainDataForm").textSubmitted.value=submittedCount;
f; b, \) {6 j9 L- c O0 ?document.getElementById("MainDataForm").textReviewed.value=reviewedCount;
; m) R) t- V7 q, \document.getElementById("MainDataForm").textReleased.value=releasedCount;5 t( _8 i$ x8 H8 F
document.getElementById("MainDataForm").textCancelled.value=cancelCount;
$ v8 [6 B: v Y9 S/ o7 Ddocument.getElementById("MainDataForm").textTotal.value=totalCount;
3 W% R5 r: U0 ~
/ a# A* r% N: o! ~ |
|