|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
【Aras Innovator二次开发】创建一个自定义表单在TOC上展示
3 s% B7 @, w+ k% J3 z* A! B2 ~. l7 X结果如下,点击Change Management标签,自动弹出统计界面+ N* d6 ?2 v2 L, L( L# s: q8 z9 V
" A' {9 C" J7 V& r m% d
6 ^8 h8 G' J r
1 |) m9 |- `. e2 d" n/ `% E& M" \1 @1 j8 Y4 _( B2 [
: z( P' N! k$ r% S7 \/ r(1) 创建一个 Form表单,名字叫 Change Management,添加相应控件,注意控件ID命名
- E; G) h; h" ]: _' W( ^3 ~* N+ |% r7 C9 v9 d
2 f$ K3 ~4 O1 p: r
(2)关联一个 on load的事件,使用 JavaScript 的方式
) b0 y/ Z- B# J) C2 `
; t* s' x7 N! G, L. Y0 | P2 H, }
(3)对整个事件进行代码4 W: i" R/ k8 p% k
' \ Y& s3 U Z' }2 u3 z+ ^5 A; D
6 k" N$ G; F+ ~. x" n完成后即可看到相关效果。; \9 ~ {/ J; ~* c: `
5 J# w! M& R6 b0 x' D+ i6 j# k
代码如下:) z$ Y" g, ?. s" y+ G2 B5 _/ o. z
, E, C5 Z1 l' C$ V# L. p( T/ ~//get the ECR Collection. o. N) o" @' P6 q7 Z; t
var newCount=0,submittedCount=0,reviewedCount=0,releasedCount=0,cancelCount=0;7 ~7 X, j$ e4 c3 Q: Y9 v: S
var currentItem = null;
; k3 d6 {% s6 X1 e7 S9 ]3 V, S. evar currentState ="";
+ g. ?. B& e; g6 Q9 Q- f9 Lvar innovator = aras.newIOMInnovator();
7 l% j1 q4 D& J$ ivar item = innovator.newItem("ECR","get");! H7 }4 k, i& a7 H# ?! h
item.setAttribute("select","state");+ {3 K' Z* O. ^+ Z6 I
var ecr_items = item.apply();
) O1 w# H! Q2 b* Ivar totalCount = ecr_items.GetItemCount();
8 |/ h& [+ H0 |. y, Lfor( i=0; i<totalCount; i++)
& I( C& \' P5 K: w+ ]* M$ N{ - r! N K _- N3 ^5 Z# N9 I! {7 I3 i
current_item = ecr_items.getItemByIndex(i); + q9 |$ q1 [! `8 p- `* E8 c2 [8 E
current_state = current_item.getProperty("state");
+ @8 ]9 o' p5 b0 J swiTCh(current_state) . t) O; H; f' \, M+ A
{ " k; E4 D7 E6 b8 g' v' z
case "New":
" P* @4 P7 ^/ F, ^/ d0 @0 |) v newCount++;, I/ N. P- E8 H1 z0 j; w$ S4 M5 B
break;
2 n8 Z) c" D* F3 }' d- H9 i case "Submitted": & u; w& w% P3 [, ?3 Z
submittedCount++; 8 W0 B9 y, c; _0 `3 j# l
break; F+ C7 \. ]7 k1 w9 Q( p
case "In Review": $ r; b" D; C# B
reviewedCount++;
# U9 g1 v- h0 {8 w- }! G& K break;
" D. \+ t3 x, K# f case "Released":
( |: f+ v' C& z9 x- k/ {5 _ releasedCount++; & G; ?7 u) m, s0 S1 j
break; 8 {. @" ~5 T5 ?% }8 p$ L
case "Cancelled": \# P4 n- n$ J+ r
cancelCount++; & I1 k ^- ^3 P' N8 s
break;
# ?$ C# x, t9 [ }
$ ?% B _8 y1 U7 _' U}/ l3 \4 L! H M3 P/ Z0 y& F
document.getElementById("MainDataForm").textNew.value=newCount;( C0 C( \1 V% N2 U$ G
document.getElementById("MainDataForm").textSubmitted.value=submittedCount;1 _$ S9 y ?8 ]# j
document.getElementById("MainDataForm").textReviewed.value=reviewedCount;
" O5 S* G9 ?2 o5 p% Fdocument.getElementById("MainDataForm").textReleased.value=releasedCount;
4 q" h7 O- j8 A8 [/ Bdocument.getElementById("MainDataForm").textCancelled.value=cancelCount;6 R4 D& ?- a# \" t
document.getElementById("MainDataForm").textTotal.value=totalCount;4 Y7 N0 `6 c H* [9 S5 i
/ o& |; V" M( b0 G( V$ t |
|