<td>
<span [ngClass]="{'active':data.statusClass=='2001','closed':data.statusClass=='Closed','onboarding':data.statusClass=='Onboarding',
'updating':data.statusClass=='Updating','deleting':data.statusClass=='1002','creating':data.statusClass=='1001',
- 'scaling':data.statusClass=='1003','healing':data.statusClass=='1004'}">{{data.tips}}</span>
+ 'scaling':data.statusClass=='1003','healing':data.statusClass=='1004'}"
+ *ngIf="data.tips != 'Available' && data.tips != 'Unavailable'">{{data.tips}}</span>
+ <span *ngIf="data.tips == 'Available' " style="margin-left: 10px">
+ <img src="assets/images/wancheng-icon.png" alt="Available">
+ </span>
+ <span *ngIf="data.tips == 'Unavailable' " style="margin-left: 10px">
+ <img src="assets/images/shibai-icon.png" alt="Unavailable">
+ </span>
<nz-progress *ngIf="data.status == 'In Progress'" [nzPercent]="data.rate" [nzShowInfo]="false"
nzStatus="active"></nz-progress>
</td>
(click)="iconMoreShow(data,tableData)" style="transform: rotate(90deg);"></i>
<ul *ngIf="data.iconMore==true " class="icon-more">
- <li>
+ <li (click)="scaleService(data)">
<i [ngClass]="{'cannotclick':data.serviceDomain!='E2E Service' || data.status == 'In Progress'||(data.status=='Failed' && data.operationType=='1001')||(data.status=='Failed' && data.operationType=='1002')}"
- class="anticon anticon-setting" (click)="scaleService(data)"></i>
+ class="anticon anticon-scale"></i>
<span> {{"i18nTextDefine_Scale" | translate}} </span>
</li>
- <li>
+ <li (click)="update(data)">
<i [ngClass]="{'cannotclick':data.serviceDomain!='CCVPN' || data.status == 'In Progress'||(data.status=='Failed' && data.operationType=='1001')||(data.status=='Failed' && data.operationType=='1002')}"
- class="anticon anticon-cloud-upload-o" (click)="update(data)"></i>
+ class="anticon anticon-update" ></i>
<span> {{"i18nTextDefine_Update" | translate}} </span>
</li>
</ul>
<span>{{ thisService["serviceDomain"] }}</span>
</div>
</div>
+ <div class="close-icons">{{"i18nTextDefine_Close" | translate}}</div>
</div>
</div>
</ng-template>
<span>{{ thisService["serviceDomain"] }}</span>
</div>
</div>
+ <div class="close-icons">{{"i18nTextDefine_Close" | translate}}</div>
</div>
</div>
</ng-template>
<span>{{ thisService["serviceDomain"] }}</span>
</div>
</div>
+ <div class="close-icons">{{"i18nTextDefine_Close" | translate}}</div>
</div>
</div>
</ng-template>
<span>{{ thisCreateService['serviceDomain'] }}</span>
</div>
</div>
+ <div class="close-icons">{{"i18nTextDefine_Close" | translate}}</div>
</div>
</div>
</ng-template>
<span>{{ thisCreateService["serviceDomain"] }}</span>
</div>
</div>
+ <div class="close-icons">{{"i18nTextDefine_Close" | translate}}</div>
</div>
</div>
</ng-template>
<span>{{ thisService["serviceDomain"] }}</span>
</div>
</div>
+ <div class="close-icons">{{"i18nTextDefine_Close" | translate}}</div>
</div>
</div>
</ng-template>
<span>{{ thisService["serviceDomain"] }}</span>
</div>
</div>
+ <div class="close-icons">{{"i18nTextDefine_Close" | translate}}</div>
</div>
</div>
</ng-template>
<span>{{ thisService["serviceDomain"] }}</span>
</div>
</div>
+ <div class="close-icons">{{"i18nTextDefine_Close" | translate}}</div>
</div>
</div>
</ng-template>
<span>{{ thisService["serviceDomain"] }}</span>
</div>
</div>
+ <div class="close-icons">{{"i18nTextDefine_Close" | translate}}</div>
</div>
</div>
</ng-template>
.icon-more{
position: absolute;
width: 115px;
- height: 135px;
- //height: 156px;
+ height: 90px;
top:50px;
padding:15px 0 0 15px;
background: #ffffff;
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 {
height: 100vh;
background-color: #f3f3f3;
overflow-y: auto;
- padding: 20px 32px;
+ //padding: 20px 32px;
z-index: 3;
}
.createComponent {
}
/*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);
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"
}
];
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);
})
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;
}
"i18nTextDefine_InstanceUpdateStarting":"更新开始",
"i18nTextDefine_InstanceUpdatedSuccessfully":"更新成功",
"i18nTextDefine_InstanceUpdateFailed":"更新失败",
+ "i18nTextDefine_Close":"关闭",
"ccvpn-creation-component":"--:",
"i18nTextDefine_InstanceCreation":"实例创建",
"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",
background: rgba(255,255,255,0);
opacity: 1!important;
color: #ffffff;
+ position: relative;
+ background-image: url("assets/images/notificationmodel.png");
+ background-repeat: no-repeat;
.ant-notification-notice-content{
+ position: relative;
.ant-notification-notice-icon{}
.ant-notification-notice-message{
margin-left: 88px;
}
.ant-notification-notice-description{
margin-left: 88px;
+ width: 68%;
+ display: inline-block;
.notificationlist{
height: 25px;
line-height: 25px;
}
}
}
+ .close-icons{
+ position: absolute;
+ width: 100px;
+ text-align: center;
+ display: inline-block;
+ color: #D9DEF1;
+ top: 0;
+ line-height: 120px;
+ font-size: 18px;
+ }
}
.ant-notification-notice-close,.ant-notification-notice-close:hover{
color: #ffffff!important;
}
+ .ant-notification-notice-close{
+ width: 80px;
+ height: 100%;
+ position: absolute;
+ border-left: 1px solid #717171;
+ top: 0;
+ .ant-notification-notice-close-x{
+ display: none;
+ }
+ }
}
}
}