From 8cb633afd4497c6d5d581d8f8c7c07ee2e08f542 Mon Sep 17 00:00:00 2001 From: guochuyicmri Date: Sat, 11 May 2019 23:57:49 +0800 Subject: [PATCH] Service instance lifecycle management Change-Id: I68bbc10d0df26e43bc3b78c8db5cf208359bfa82 Issue-ID: USECASEUI-218 Signed-off-by: guochuyicmri --- .../services-list/services-list.component.html | 26 ++++++++-- .../services-list/services-list.component.less | 42 +++++++++++----- .../services-list/services-list.component.ts | 53 +++++++++++++++++---- usecaseui-portal/src/assets/i18n/cn.json | 1 + usecaseui-portal/src/assets/i18n/en.json | 1 + .../src/assets/images/damaged-icon.png | Bin 0 -> 1751 bytes .../src/assets/images/execute-faild.png | Bin 1620 -> 1545 bytes .../src/assets/images/execute-inproess.png | Bin 2005 -> 2217 bytes .../src/assets/images/execute-success.png | Bin 1557 -> 1613 bytes .../src/assets/images/scale-active.png | Bin 0 -> 862 bytes usecaseui-portal/src/assets/images/scale.png | Bin 0 -> 881 bytes usecaseui-portal/src/assets/images/shibai-icon.png | Bin 0 -> 958 bytes .../src/assets/images/update-active.png | Bin 0 -> 761 bytes usecaseui-portal/src/assets/images/update.png | Bin 0 -> 779 bytes .../src/assets/images/wancheng-icon.png | Bin 0 -> 991 bytes usecaseui-portal/src/styles.less | 26 ++++++++++ 16 files changed, 124 insertions(+), 25 deletions(-) create mode 100644 usecaseui-portal/src/assets/images/damaged-icon.png create mode 100644 usecaseui-portal/src/assets/images/scale-active.png create mode 100644 usecaseui-portal/src/assets/images/scale.png create mode 100644 usecaseui-portal/src/assets/images/shibai-icon.png create mode 100644 usecaseui-portal/src/assets/images/update-active.png create mode 100644 usecaseui-portal/src/assets/images/update.png create mode 100644 usecaseui-portal/src/assets/images/wancheng-icon.png diff --git a/usecaseui-portal/src/app/services/services-list/services-list.component.html b/usecaseui-portal/src/app/services/services-list/services-list.component.html index 24b2af67..c6626379 100644 --- a/usecaseui-portal/src/app/services/services-list/services-list.component.html +++ b/usecaseui-portal/src/app/services/services-list/services-list.component.html @@ -150,7 +150,14 @@ {{data.tips}} + 'scaling':data.statusClass=='1003','healing':data.statusClass=='1004'}" + *ngIf="data.tips != 'Available' && data.tips != 'Unavailable'">{{data.tips}} + + Available + + + Unavailable + @@ -163,14 +170,14 @@ (click)="iconMoreShow(data,tableData)" style="transform: rotate(90deg);"> @@ -264,6 +271,7 @@ {{ thisService["serviceDomain"] }} +
{{"i18nTextDefine_Close" | translate}}
@@ -329,6 +337,7 @@ {{ thisService["serviceDomain"] }} +
{{"i18nTextDefine_Close" | translate}}
@@ -424,6 +433,7 @@ {{ thisService["serviceDomain"] }} +
{{"i18nTextDefine_Close" | translate}}
@@ -455,6 +465,7 @@ {{ thisCreateService['serviceDomain'] }} +
{{"i18nTextDefine_Close" | translate}}
@@ -489,6 +500,7 @@ {{ thisCreateService["serviceDomain"] }} +
{{"i18nTextDefine_Close" | translate}}
@@ -523,6 +535,7 @@ {{ thisService["serviceDomain"] }} +
{{"i18nTextDefine_Close" | translate}}
@@ -551,6 +564,7 @@ {{ thisService["serviceDomain"] }} +
{{"i18nTextDefine_Close" | translate}}
@@ -579,6 +593,7 @@ {{ thisService["serviceDomain"] }} +
{{"i18nTextDefine_Close" | translate}}
@@ -607,6 +622,7 @@ {{ thisService["serviceDomain"] }} +
{{"i18nTextDefine_Close" | translate}}
diff --git a/usecaseui-portal/src/app/services/services-list/services-list.component.less b/usecaseui-portal/src/app/services/services-list/services-list.component.less index c1cf7598..b7499724 100644 --- a/usecaseui-portal/src/app/services/services-list/services-list.component.less +++ b/usecaseui-portal/src/app/services/services-list/services-list.component.less @@ -238,8 +238,7 @@ hr { .icon-more{ position: absolute; width: 115px; - height: 135px; - //height: 156px; + height: 90px; top:50px; padding:15px 0 0 15px; background: #ffffff; @@ -250,10 +249,28 @@ hr { margin-bottom:10px; line-height: 20px; text-align: left; + cursor: pointer; + .anticon{ + width: 18px; + height: 18px; + background: url("../../../assets/images/scale.png") no-repeat; + } + .anticon.anticon-update{ + background: url("../../../assets/images/update.png") no-repeat; + } span{ margin-left: 5px; } } + li:hover{ + color: #0DA9E2; + .anticon{ + background: url("../../../assets/images/scale-active.png") no-repeat; + } + .anticon.anticon-update{ + background: url("../../../assets/images/update-active.png") no-repeat; + } + } } } tr.childtr { @@ -275,7 +292,7 @@ hr { height: 100vh; background-color: #f3f3f3; overflow-y: auto; - padding: 20px 32px; + //padding: 20px 32px; z-index: 3; } .createComponent { @@ -291,29 +308,32 @@ hr { } /*2019.01.14*/ .e2eColor,.nsColor,.ccvpnColor,.sotnColor,.voLTEColor{ - color: #FFFFFF; + color: #3671AB; width:120px; height: 34px; line-height: 34px; margin-bottom: 0!important; text-align: center; - background:linear-gradient(131deg,rgba(79,151,239,1) 0%,rgba(48,217,196,1) 100%); + background:linear-gradient(131deg,rgba(147,196,255,1) 0%,rgba(120,241,226,1) 100%); border-radius:4px } .nsColor{ - background:linear-gradient(135deg,rgba(252,167,91,1) 0%,rgba(253,203,106,1) 100%); + background:linear-gradient(135deg,rgba(253,187,127,1) 0%,rgba(250,215,153,1) 100%); border-radius:4px; + color: #A16C39; } -.ccvpnColor{ - background:linear-gradient(135deg,rgba(81,113,251,1) 0%,rgba(201,123,254,1) 100%); +.ccvpnColor{ + background:linear-gradient(135deg,rgba(198,222,251,1) 0%,rgba(217,215,252,1) 100%); border-radius:4px; + color: #7C74BB; } .sotnColor{ - background:linear-gradient(133deg,rgba(24,179,170,1) 0%,rgba(70,216,178,1) 100%); + background:rgba(201,243,239,1); border-radius:4px; + color: #30B0A0; } -.voLTEColor{ - background:#0AD251; +.voLTEColor{ + background:rgba(201,243,239,1); } .vnfColor,.siteColor,.SDWANColor{ color:rgba(60,79,140,0.5); diff --git a/usecaseui-portal/src/app/services/services-list/services-list.component.ts b/usecaseui-portal/src/app/services/services-list/services-list.component.ts index 55e339f1..06991b47 100644 --- a/usecaseui-portal/src/app/services/services-list/services-list.component.ts +++ b/usecaseui-portal/src/app/services/services-list/services-list.component.ts @@ -54,23 +54,23 @@ export class ServicesListComponent implements OnInit { serviceMunber = [ { "serviceDomain": "E2E", - "Success": 16, - "failed": 4, - "InProgress": 11, + "Success": 0, + "failed": 0, + "InProgress": 0, "detailName":"i18nTextDefine_End_To_End_Service" }, { "serviceDomain": "NS", - "Success": 21, - "failed": 2, - "InProgress": 17, + "Success": 0, + "failed": 0, + "InProgress": 0, "detailName":"i18nTextDefine_Network_Service" }, { "serviceDomain": "CCVPN", - "Success": 36, - "failed": 15, - "InProgress": 6, + "Success": 0, + "failed": 0, + "InProgress": 0, "detailName":"i18nTextDefine_Cross_Domain_and_Cross_Layer_VPN" } ]; @@ -361,6 +361,36 @@ export class ServicesListComponent implements OnInit { return item; }) console.log(this.tableData) + this.tableData.map((item,index) => { + if(item.serviceDomain == 'E2E Service'){ + if(item.operationResult == 2001){ + this.serviceMunber[0]["Success"]+=1; + }else if(item.operationResult == 2002){ + this.serviceMunber[0]["failed"]+=1; + }else if(item.operationResult == 2003){ + this.serviceMunber[0]["InProgress"]+=1; + } + } + else if(item.serviceDomain == 'Network Service'){ + if(item.operationResult == 2001){ + this.serviceMunber[1]["Success"]+=1; + }else if(item.operationResult == 2002){ + this.serviceMunber[1]["failed"]+=1; + }else if(item.operationResult == 2003){ + this.serviceMunber[1]["InProgress"]+=1; + } + } + else if(item.serviceDomain == 'CCVPN'){ + if(item.operationResult == 2001){ + this.serviceMunber[2]["Success"]+=1; + }else if(item.operationResult == 2002){ + this.serviceMunber[2]["failed"]+=1; + }else if(item.operationResult == 2003){ + this.serviceMunber[2]["InProgress"]+=1; + } + } + }) + console.log(this.serviceMunber) },(err)=>{ console.log(err); }) @@ -838,6 +868,11 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { if(data.status == "FAILED"){ console.log("scale E2e service failed :" + JSON.stringify(data)); service.status = "failed"; + service.tips = this.listSortMasters["operationTypes"].find((its) => { + return its["sortCode"] == service.statusClass && its["language"] == this.language + })["sortValue"] + '\xa0\xa0\xa0' + this.listSortMasters["operationResults"].find((its) => { + return its["sortCode"] == 2002 && its["language"] == this.language + })["sortValue"]; this.scaleSuccessNotification(templateScaleSuccessFaild); return false; } diff --git a/usecaseui-portal/src/assets/i18n/cn.json b/usecaseui-portal/src/assets/i18n/cn.json index 3983d099..9686dea3 100644 --- a/usecaseui-portal/src/assets/i18n/cn.json +++ b/usecaseui-portal/src/assets/i18n/cn.json @@ -81,6 +81,7 @@ "i18nTextDefine_InstanceUpdateStarting":"更新开始", "i18nTextDefine_InstanceUpdatedSuccessfully":"更新成功", "i18nTextDefine_InstanceUpdateFailed":"更新失败", + "i18nTextDefine_Close":"关闭", "ccvpn-creation-component":"--:", "i18nTextDefine_InstanceCreation":"实例创建", diff --git a/usecaseui-portal/src/assets/i18n/en.json b/usecaseui-portal/src/assets/i18n/en.json index 255134f8..26e95fda 100644 --- a/usecaseui-portal/src/assets/i18n/en.json +++ b/usecaseui-portal/src/assets/i18n/en.json @@ -81,6 +81,7 @@ "i18nTextDefine_InstanceUpdateStarting":"instance update is starting.", "i18nTextDefine_InstanceUpdatedSuccessfully":"instance was updated successfully.", "i18nTextDefine_InstanceUpdateFailed":"instance update failed!!!", + "i18nTextDefine_Close":"close", "ccvpn-creation-component":"--:", "i18nTextDefine_InstanceCreation":"Instance Creation", diff --git a/usecaseui-portal/src/assets/images/damaged-icon.png b/usecaseui-portal/src/assets/images/damaged-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..37a016bc5c606b260baf15a941840828795251cc GIT binary patch literal 1751 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 diff --git a/usecaseui-portal/src/assets/images/execute-inproess.png b/usecaseui-portal/src/assets/images/execute-inproess.png index 6a1beb3b339dabbcac01ac0e8d733f09dc2b556d..7a11d6cddd3708a275968401d0cbb9a3d98c6310 100644 GIT binary patch delta 2193 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 diff --git a/usecaseui-portal/src/assets/images/scale-active.png b/usecaseui-portal/src/assets/images/scale-active.png new file mode 100644 index 0000000000000000000000000000000000000000..0ff69f305c29f45699bf1a4b5e56013b0ba4c796 GIT binary patch literal 862 zcmV-k1EKthP)Px&7)eAyR5%fhQ(K5lQ5gRJwfD?0+2@SQ7@Tv4;enFGknkWpAW!CKrlet{qO*rVydW7bG9gN8$gQ)_F^0i#Txa%Pzi(~!X}dgFwOjw?`~LOcHqoz> zbiD(S{PP}rp|8$Jj_c{)J;^g()=IeE3n6+>5K0L*f6!niTzokO`YkpJjJHK-4l6zl zWZu}yCy~oPS7i-?Fi#A1&@R`w-Xf!L7=!2=#7Dra1chsdS5>VpHD@-m@HMXKEX)js z^nGG}4P%(Hp(5>_Ro1ZfLI3Mbn|=98W!9FLK z7gInSX>3LZ@SI|j_EJkdYhT}pgP8fP0a}$K+8A$sLTS|i-$jkH(I^GL&5zBQg>h0S zqx`3lF?uS}V*}y7#ye6GIpQ}v9mNGC!F3kePfTq>JPxDSB}(c@q_v(hlaPH>#m_s6 z5cS7#^Dk{A`3{Xc0_VF3U~Uw%20(M4{IyEnD1=@Xf|xI(vfl`Ca^h@$t_0kT^t#c= zBEn_y&=!S;njYR$mepfEBV!0%adKRiz#5N7nH1e+rYI&KDEp2Rn$>f@-mz3@RGCH9OAU!>q&7YR>ge3WkCv zL$)fcPCeweipX9#5334woV0Gxnh%G;Ytz$SEN1)-|8daR&wu{a$x8zx&14d}!nS{f z2s8TAVfJ5(T!r&Ce5dd=2+3yrJOhoj=~UNZ4oi>oc(m)KhDaU)^a|y4VggOLrz*Q@ z%7<*-GpDmKdbyt(=xFA^5HX0exK?3m=7Depuv`ahpJ|0?N}_@DN-e2Jj$1rI6!efD zTmsy)Qd9bEhhdbD%*QsK`q+|LYfRxDk+g=T)to8L3bZ~1WdPx&D@jB_R5%fZQ&~t6LXlnEhwA4rOSXX20$-3Q^z zk)S|F2k2Nk5(EqPKMS0uLZBP@_dwovb#-O@9Sn4?k0$ed^4mnIGo8-`GHXf#U)u^Cd_y68>uV@h^NGV?_Q(IR?PX3!jMd>23tUku<_p3HBBOJb!0J@$<$+VyahE)LX^un*!+cCd3vH95J?80dRlT9!U9R zcqWs{vRBuX6+Q_!wO%9N>(Q(Wk@vi^xcIXH3?EqoV5FvE!!F}9dt|n9i0s?$GGEg< z5WEPx&cu7P-R9FeUSItioK@@*8yQNscKw~I16pRtLAP@r>^W@&8ne9!}}Tuq3$9nKcB)7J(u_VuYR1OA2wJv_+s4 zfnru5MX&65yQqmZqgMd&v}GMAQj z{-(x4;Q6eX%C{$cmNlGIWRT9Q$s=n~6x=wzC9eaR)djBh{;{sPVbE5uRvB4~!a!bJ zND(+{Q>J8$qk^>zflqM?FXuG*E9AY#*jB;Kk2MhRF~ECZFp`5sUWf14L;y8ZEd7c} zNiZ61t{g@QZ#$%TEWI|o`skyXP{NB6tRWip4;b};>*?t_a-! z=5suauVWg#;(z5W$xrgrY1>QB0(C{;`znE)LvErtQT8-M3mg0vo#(ZvQgcOMuq6lb zb3<0@=UJ4_s)ic<4EjS3tR)5R2=IF5)K<8w8~F>Qyw!5=p9nke6ZpzO5=g1faeH?s zeURlnhURj&deKPmZHJx+Xx!shdb}Hz8C69f#ce+Op+j_qLT5uB4%9JzodB$J`P3?f z6o34k;^8{hoC7s0WV7bjHG!o~0&D!bKYQ5zkvP<5#v4yfYdr(MdOA(Z#gS_Qp#XzW zK-q6AXm3!H(iX^tu1D3Z3em@f! g*NFex@Z|LTUjP{eMChu`$N&HU07*qoM6N<$f>v3;uK)l5 literal 0 HcmV?d00001 diff --git a/usecaseui-portal/src/assets/images/update-active.png b/usecaseui-portal/src/assets/images/update-active.png new file mode 100644 index 0000000000000000000000000000000000000000..75eeecc0fda9ac0ff65fe086316e33cbec539aa1 GIT binary patch literal 761 zcmVPx%vq?ljR5%fJR6S@EQ4pTl+Y<}#HfK;m*d!PUVj-vz1hvqZMnRAyo`Mn-3k5A~ z?8U}DR@zyG+uWt_2P`Ctg<2%q2!e7Kz1>_6QR3xLg4x}1<|S{l**hQXo4;@7&6}CG z0KBqJbyg^3oa&;Yg(@jU)^UF;MsJwWCec_=f8~^gaX*B~6x={5;#asD+#yhkBTK-$>T z9I-!(4Q1mTm(hSLjj^7R$a-=3zbO-jwXCSVrkoqkU!5OE3eYG28y`{CdQ&q(5%4~5 zUBVCa+qdV0NiNH&@5&b3w@H0;T<3IcZwRYpuFf>)<0gS%m1+m$)wdk?s_u#c^G%M) zRg<1p(H)i2h<;Od2Y2?QU!6dojUR|;zj8#VM*%pGlJ1MHmo`R;YehR6)rpJeN)b6q z3oah%E;skj+6R?5GK$0%ZhonF&yhvLAcyU7n}f&+gy(=fa=()+P(AkN@0g!G&Mw;|E^ z^7-D$I8gK1Dfc1~JVKx*q>NL`qxL(oq2+i(+@!~ZlultPe`~D!i5Tu6hC-8TaF)`d zE6;mp0-{NtQXj!Mi`JBPjUXIS4g~5qz*!xY+L&neE#m%btqT7BcVZC<8DTXE4%ycH*<$@HLe%FZAL2Px%#Ysd#R5%fJRLyG>Q4pWmWE)!*w0`waEDBmZ28WW znRAAZTEBDDcCK)1*uL&|+c%qLI2^7}y7xlBQMnPZr~#uwEU?EwsaVNLk>=5oZAFC0s@wTW-!v<9sZy|m}{W4 zJ$<4gs*{MYg@A_Ru?uN`ppsLW+@NsXM*?se4Y)Ye6MZLvMl(}gRZ)F{0!&2g8|aBV zl@3H#ZT9ngK5w%Ax%m4MB}~&?RRU;S#)O@_i6FXa!QO8G#A)tLD1;q-(daz;=-GC- zqWYC8UJwFbu?>-;hz!8#U_2IiKr(-tcwzvAYO=JOO)fnk5(VVrz0n~ZTod%wu5(aI z)=OpVr%C_m$*_Y_{znag4z;yjomu*IN}$*T0dFfIFB%4%JGi^`O(U>|K(o!w=(;#e z`Q=mB8xacR+wij4-w-HRC~RFt=mFvVGc*ujk$t4gPx&nMp)JR9FeUS6fIFQ5gPbcGtb==4F%EYPC(Jq_D6H7Cs0DLLk}tq&*b~3B4vo zQTQhHR4)q!;Y%((7*P-5gCV^X7J)$;6xrrw5nb17yX)@kbk3|ZbM~AWogJ$IJ^%lm z@B7bx?q@l`-=lyimFORbo#2&f*#};>g2NHXRDkYguLMXEnT5&-7fkmk0da*Qky#AD zG%GXZl2MFIEX#FL$q<@qi$NgLz=UiM2%Uvf9S$D14}d6ks1RXsP9M`RqFOSU9CQgO zBC}u7q{34o*oe$3Ja(4wb6!=gB?Xpnpj=fI*)1$VK?q|xE}$iV#vypQN_!j#vX(jY zIfkZNZxFQ<6xLE#%B~m8A&2bsSWJAZ(cz-E(BeJoz}J!uBn!~eR*j&$sOI$4m@5Ara!a@x12^Jf&YGh z?kC@K8Xg>tDt_}1p5RN9`PN0I;O1@?Q zyOoFgoqkOL4Qh6QCT->Ocw6q^i}1Ieg%`~Pku zuz-i=BP9w?&oGn#El#6h?|V57Y4q^LQ*iTwkER&*O(kIEIk??szELte!wE#!((n-N z27kE&@Vl+Vl`F+-bbM+Z20tu-tH1(R&w0V^V5f#`9NW23=vu<}6j`CSJ$t7o(ixbT z{S9-=DRkeZVHZl~AWH10uTc6UWZRmC6Cfiw(0y6E*M