|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示% m8 d* \4 \' ^
结果如下,点击Change Management标签,自动弹出统计界面
9 C' W6 z* o% @* V6 ?
& r e: A' _/ s- D- X# {
" i8 ?$ ]5 O& p' o1 z6 g7 _- p
! O; t; O0 g; |- o5 `6 z9 n
- `5 o2 o, f% d
8 ^$ j3 a2 k0 p9 ~4 b, Z/ S(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名
. E5 K' t- `' f! W' I7 I1 `# y4 ]& b
0 |6 Q d$ c7 s- O4 ]! _- v6 I(2)关联一个 on load的事件,使用 JavaScript 的方式
) m- \8 K5 W5 ^! G) e/ t
2 d# G, @$ u2 r5 w" x
, R7 u1 D! n& E! L0 {0 W7 r5 D(3)对整个事件进行代码7 \) g2 U$ X1 `5 t E) W4 x& G$ @
2 l v$ D* w1 j3 n# d2 t) W
\5 m6 ~ H* n9 k' D1 J9 q9 O完成后即可看到相关效果。' E, k1 g3 ^; ]' L! a; R$ q
: }- a$ g8 e' ~! y; m) r, b4 Y代码如下:0 f0 h. u3 h0 ^& m/ V& t& _
, J+ A: z# F& k2 {' i//get the ECR Collection1 J0 E/ {3 @ a6 d
var newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;
$ Y8 S/ _6 Z- ^: s% p+ Gvar currentItem = null;
5 A6 z* [3 n( p# m2 Pvar currentState ="";/ ^9 y! {' e7 o, G
var innovator = aras.newIOMInnovator();3 {' ]. O, S. A1 O
var item = innovator.newItem("ECR","get");) ]3 H {, Q) c& _- \2 K. g
item.setAttribute("select","state");
$ N# z1 j6 {. a' K# A$ k. bvar ecr_items = item.apply();
; l! l% E+ X1 {5 z7 W- z4 K% zvar totalCount = ecr_items.GetItemCount();
" J) L% X2 O" y8 N- F7 J; ?for( i=0; i<totalCount; i++) 7 Y+ K' j5 d; D
{
( Q0 B6 G+ ^& u R# G8 |( h& Y$ P current_item = ecr_items.getItemByIndex(i); 3 Z4 `/ s4 u( }- J4 U
current_state = current_item.getProperty("state"); 4 L4 c3 j9 \+ S2 M/ y w
swiTCh(current_state) 2 a( r( @/ B! B+ e0 \
{
& g b* W, X+ C5 k case "New":$ ^8 @- O; m% w& @7 l2 w. h
newCount++;4 f' I2 T) v3 T$ {; u3 u
break;8 r4 ^$ S; a. g- T2 W4 ]
case "Submitted":
- \4 r1 P: `! ^* A7 S3 a! |6 P9 L submittedCount++; " R5 ?( t) e) x' v) T
break; 8 W# o3 y+ w6 H' c2 H9 K! x
case "In Review":
' Y* U4 S$ o! b; V: z reviewedCount++;
% X* d3 d; s- r! b" l5 t break; ( m$ u1 i! P9 v' v; p
case "Released":
) E8 `6 F3 I( F/ p$ N4 x+ n releasedCount++;
, g ^4 t4 V3 ?5 R break; ; Y. G2 R' `2 f5 i
case "Cancelled":
5 h' X! t, y6 {& g/ n+ V9 x cancelCount++; ! V) T/ |" `( \3 X6 o
break; + F& ] |- X* ~& B
}9 C2 f* B( t' b& R S# I
}# O1 U" P7 X0 L* e+ g% V
document.getElementById("MainDataForm").textNew.value=newCount;
; F+ ]+ t; N' G; gdocument.getElementById("MainDataForm").textSubmitted.value=submittedCount;
( T' d+ T0 T% |6 C9 `, M+ s( K' X5 U" ^document.getElementById("MainDataForm").textReviewed.value=reviewedCount;
9 G3 f7 U+ ]% N; g- k8 T$ Adocument.getElementById("MainDataForm").textReleased.value=releasedCount;5 j: C4 F& F7 l! @' w
document.getElementById("MainDataForm").textCancelled.value=cancelCount;
( v9 k! L* i1 j0 U9 v) \* A* xdocument.getElementById("MainDataForm").textTotal.value=totalCount;
4 p1 l" I2 H- d" `2 ^- `0 q" F# R, W4 o
v- k# g& X% W/ V% E$ {- Y ~6 Z |
|