From 88fb2fed36e33ddb7e22dd948afeb0198adbe56b Mon Sep 17 00:00:00 2001 From: guochuyicmri Date: Thu, 9 May 2019 17:46:02 +0800 Subject: Service instance lifecycle management Change-Id: I5047ebd4cc48eab8a03664b5ac61ef9faeedadbb Issue-ID: USECASEUI-218 Signed-off-by: guochuyicmri --- usecaseui-portal/src/app/app.component.html | 9 - usecaseui-portal/src/app/app.component.ts | 4 +- .../services-list/services-list.component.html | 323 +++++++++++++++++++-- .../services-list/services-list.component.ts | 148 +++++++--- usecaseui-portal/src/assets/i18n/cn.json | 5 +- usecaseui-portal/src/assets/i18n/en.json | 6 +- 6 files changed, 407 insertions(+), 88 deletions(-) (limited to 'usecaseui-portal/src') diff --git a/usecaseui-portal/src/app/app.component.html b/usecaseui-portal/src/app/app.component.html index 021cf263..ee0fdd8d 100644 --- a/usecaseui-portal/src/app/app.component.html +++ b/usecaseui-portal/src/app/app.component.html @@ -77,15 +77,6 @@ - - - - - - - - - diff --git a/usecaseui-portal/src/app/app.component.ts b/usecaseui-portal/src/app/app.component.ts index dc8b03e9..190f42e3 100644 --- a/usecaseui-portal/src/app/app.component.ts +++ b/usecaseui-portal/src/app/app.component.ts @@ -28,12 +28,10 @@ export class AppComponent { constructor(private translate: TranslateService,private myhttp: HomesService) { this.currentLanguageGet(); - // translate.addLangs(['en', 'zh']); // translate.use('en'); } - - // Language:String[] = ["zh","en"]; + //209.05.08 Get the currentLanguage currentloginId = null; currentLanguage = "en"; 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 2839e5b8..7fe4564d 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 @@ -74,7 +74,7 @@
- Orchestrator: + {{"i18nTextDefine_Orchestrator" | translate}} : @@ -166,13 +166,13 @@
  • - scale + {{"i18nTextDefine_Scale" | translate}} +
  • +
  • + + {{"i18nTextDefine_Update" | translate}}
  • -
  • - - update -
  • + +
    +
    + + instance temination is starting + +
    E2E   {{"i18nTextDefine_InstanceTeminationStarting" | translate}}
    +
    +
    +

    {{"i18nTextDefine_InstanceName" | translate}} :

    + {{ thisService["service-instance-name"] || + thisService["nsInstanceName"] }} + +
    +
    +

    {{"i18nTextDefine_Customer" | translate}} :

    + {{ customerSelected.name }} +
    +
    +

    {{"i18nTextDefine_UseCase" | translate}} :

    + {{ thisService["serviceDomain"] }} +
    +
    +
    +
    +
    - +

    {{"i18nTextDefine_SureDelete" | translate}}

    {{"i18nTextDefine_InstanceName" | translate}} :

    -
    {{ thisService["service-instance-id"] || - thisService["nsInstanceId"] }}
    +
    {{ thisService["service-instance-name"] || + thisService["nsInstanceName"] }} +

    {{"i18nTextDefine_InstanceID" | translate}} :

    -
    {{ thisService["service-instance-name"] || - thisService["nsInstanceName"] }}
    +
    {{ thisService["service-instance-id"] || + thisService["nsInstanceId"] }} +
    @@ -265,10 +302,42 @@ [(ngModel)]="gracefulTerminationTimeout">
    + + +
    +
    + + instance temination is starting + +
    {{ thisService['serviceDomain'] }}   {{"i18nTextDefine_InstanceTeminationStarting" | translate}} +
    +
    E2E   {{"i18nTextDefine_InstanceTeminationStarting" | translate}}
    +
    NS   {{"i18nTextDefine_InstanceTeminationStarting" | translate}}
    +
    +
    +

    {{"i18nTextDefine_InstanceName" | translate}} :

    + {{ thisService["service-instance-name"] || + thisService["nsInstanceName"] }} + +
    +
    +

    {{"i18nTextDefine_Customer" | translate}} :

    + {{ customerSelected.name }} +
    +
    +

    {{"i18nTextDefine_UseCase" | translate}} :

    + {{ thisService["serviceDomain"] }} +
    +
    +
    +
    +
    - +

    {{"i18nTextDefine_SureHeal" | translate}}

    {{"i18nTextDefine_InstanceID" | translate}} :

    @@ -331,9 +400,217 @@
    + + +
    +
    + + instance temination is starting + +
    NS   {{"i18nTextDefine_InstanceTeminationStarting" | translate}}
    +
    +
    +

    {{"i18nTextDefine_InstanceName" | translate}} :

    + {{ thisService["service-instance-name"] || + thisService["nsInstanceName"] }} + +
    +
    +

    {{"i18nTextDefine_Customer" | translate}} :

    + {{ customerSelected.name }} +
    +
    +

    {{"i18nTextDefine_UseCase" | translate}} :

    + {{ thisService["serviceDomain"] }} +
    +
    +
    +
    +
    -
    + + +
    +
    + + instance temination is starting + +
    {{ thisService['serviceDomain'] }}   {{"i18nTextDefine_InstanceCreationStarting" | translate}} +
    +
    E2E   {{"i18nTextDefine_InstanceCreationStarting" | translate}}
    +
    NS   {{"i18nTextDefine_InstanceCreationStarting" | translate}}
    +
    +
    +

    {{"i18nTextDefine_InstanceName" | translate}} :

    + {{ thisCreateService["service-instance-name"] }} + +
    +
    +

    {{"i18nTextDefine_Customer" | translate}} :

    + {{ customerSelected2.name }} +
    +
    +

    {{"i18nTextDefine_UseCase" | translate}} :

    + {{ thisCreateService['serviceDomain'] }} +
    +
    +
    +
    +
    + +
    +
    + + instance temination is starting + instance temination is starting + +
    {{ thisCreateService['serviceDomain'] }}   {{"i18nTextDefine_InstanceCreatedSuccessfully" | translate}} +
    +
    E2E   {{"i18nTextDefine_InstanceCreatedSuccessfully" | translate}}
    +
    NS   {{"i18nTextDefine_InstanceCreatedSuccessfully" | translate}}
    +
    {{ thisCreateService['serviceDomain'] }}   {{"i18nTextDefine_InstanceCreationFailed" | translate}} +
    +
    E2E   {{"i18nTextDefine_InstanceCreationFailed" | translate}}
    +
    NS   {{"i18nTextDefine_InstanceCreationFailed" | translate}}
    +
    +
    +

    {{"i18nTextDefine_InstanceName" | translate}} :

    + {{ thisCreateService["service-instance-name"] || + thisCreateService["nsInstanceName"] }} + +
    +
    +

    {{"i18nTextDefine_Customer" | translate}} :

    + {{ customerSelected2.name }} +
    +
    +

    {{"i18nTextDefine_UseCase" | translate}} :

    + {{ thisCreateService["serviceDomain"] }} +
    +
    +
    +
    +
    + +
    +
    + + instance temination is starting + instance temination is starting + +
    {{ thisService['serviceDomain'] }}   {{"i18nTextDefine_InstanceTeminatedSuccessfully" | translate}} +
    +
    E2E   {{"i18nTextDefine_InstanceTeminatedSuccessfully" | translate}}
    +
    NS   {{"i18nTextDefine_InstanceTeminatedSuccessfully" | translate}}
    +
    {{ thisService['serviceDomain'] }}   {{"i18nTextDefine_InstanceTeminationFailed" | translate}} +
    +
    E2E   {{"i18nTextDefine_InstanceTeminationFailed" | translate}}
    +
    NS   {{"i18nTextDefine_InstanceTeminationFailed" | translate}}
    +
    +
    +

    {{"i18nTextDefine_InstanceName" | translate}} :

    + {{ thisService["service-instance-name"] || + thisService["nsInstanceName"] }} + +
    +
    +

    {{"i18nTextDefine_Customer" | translate}} :

    + {{ customerSelected.name }} +
    +
    +

    {{"i18nTextDefine_UseCase" | translate}} :

    + {{ thisService["serviceDomain"] }} +
    +
    +
    +
    +
    + +
    +
    + + instance temination is starting + instance temination is starting + +
    E2E   {{"i18nTextDefine_InstanceScaledSuccessfully" | translate}}
    +
    E2E   {{"i18nTextDefine_InstanceScaleFailed" | translate}}
    +
    +
    +

    {{"i18nTextDefine_InstanceName" | translate}} :

    + {{ thisService["service-instance-name"] || + thisService["nsInstanceName"] }} + +
    +
    +

    {{"i18nTextDefine_Customer" | translate}} :

    + {{ customerSelected.name }} +
    +
    +

    {{"i18nTextDefine_UseCase" | translate}} :

    + {{ thisService["serviceDomain"] }} +
    +
    +
    +
    +
    + +
    +
    + + instance temination is starting + instance temination is starting + +
    NS   {{"i18nTextDefine_InstanceHealedSuccessfully" | translate}}
    +
    NS   {{"i18nTextDefine_InstanceHealingFailed" | translate}}
    +
    +
    +

    {{"i18nTextDefine_InstanceName" | translate}} :

    + {{ thisService["service-instance-name"] || + thisService["nsInstanceName"] }} + +
    +
    +

    {{"i18nTextDefine_Customer" | translate}} :

    + {{ customerSelected.name }} +
    +
    +

    {{"i18nTextDefine_UseCase" | translate}} :

    + {{ thisService["serviceDomain"] }} +
    +
    +
    +
    +
    + +
    +
    + + instance temination is starting + instance temination is starting + +
    CCVPN   {{"i18nTextDefine_InstanceUpdatedSuccessfully" | translate}}
    +
    CCVPN   {{"i18nTextDefine_InstanceUpdateFailed" | translate}}
    +
    +
    +

    {{"i18nTextDefine_InstanceName" | translate}} :

    + {{ thisService["service-instance-name"] || + thisService["nsInstanceName"] }} + +
    +
    +

    {{"i18nTextDefine_Customer" | translate}} :

    + {{ customerSelected.name }} +
    +
    +

    {{"i18nTextDefine_UseCase" | translate}} :

    + {{ thisService["serviceDomain"] }} +
    +
    +
    +
    +
    +
    @@ -345,14 +622,14 @@
    + (closeCreate)="closeCreate($event,templateCreatestarting,templateCreateSuccessFaild)">
    + (nsCloseCreate)="nsCloseCreate($event,templateCreatestarting,templateCreateSuccessFaild)" + (e2eCloseCreate)="e2eCloseCreate($event,templateCreatestarting,templateCreateSuccessFaild)">
    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 85ebb8fb..088bc7bc 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 @@ -13,10 +13,11 @@ See the License for the specific language governing permissions and limitations under the License. */ -import { Component, OnInit, HostBinding } from '@angular/core'; -import { MyhttpService } from '../../myhttp.service'; -import { slideToRight } from '../../animates'; -import { NzModalService } from 'ng-zorro-antd'; +import {Component, OnInit, HostBinding,TemplateRef } from '@angular/core'; +import {MyhttpService} from '../../myhttp.service'; +import {slideToRight} from '../../animates'; +import {NzModalService} from 'ng-zorro-antd'; +import { NzNotificationService } from 'ng-zorro-antd'; @Component({ selector: 'app-services-list', @@ -26,8 +27,8 @@ import { NzModalService } from 'ng-zorro-antd'; }) export class ServicesListComponent implements OnInit { @HostBinding('@routerAnimate') routerAnimateState; - constructor(private myhttp: MyhttpService, private modalService: NzModalService) { } - + constructor(private myhttp: MyhttpService, private modalService: NzModalService, private notification: NzNotificationService) { + } ngOnInit() { this.getallCustomers(); @@ -50,7 +51,6 @@ export class ServicesListComponent implements OnInit { listSortMasters=JSON.parse(sessionStorage.getItem('listSortMasters')); language="en"; iconMore=false; - maskShow=false; serviceMunber = [ { "serviceDomain": "E2E", @@ -384,7 +384,8 @@ export class ServicesListComponent implements OnInit { this.e2e_nsData = data; }) } - scaleOk(){ + + scaleOk(templatescalestarting,templateScaleSuccessFaild) { this.scaleModelVisible = false; let requestBody = { "service": { @@ -406,12 +407,23 @@ export class ServicesListComponent implements OnInit { }) } } - this.scaleE2eService(this.thisService,requestBody); + this.scaleE2eService(this.thisService, requestBody,templateScaleSuccessFaild); + this.scaleNotification(templatescalestarting); } scaleCancel(){ this.scaleModelVisible = false; } + scaleNotification(template: TemplateRef<{}>): void { + console.log(template,"scaleNotification show"); + this.notification.template(template); + // this.notification.template(template,{ nzDuration: 0 }); + } + scaleSuccessNotification(template: TemplateRef<{}>): void { + console.log(template,"scaleNotification show"); + this.notification.template(template); + // this.notification.template(template,{ nzDuration: 0 }); + } updataService(){ console.log("updataService!"); } @@ -458,7 +470,6 @@ export class ServicesListComponent implements OnInit { // console.log(service); this.thisService = service; this.healModelVisible = true; - this.maskShow = true; if(service.serviceDomain == "vnf"){ this.vnfParams.vnfInstanceId = service.vnfInstanceId; this.myhttp.getVnfInfo(service.vnfInstanceId) @@ -469,9 +480,8 @@ export class ServicesListComponent implements OnInit { }) } } - healOk(){ + healOk(templatehealstarting,templatehealSuccessFaild){ this.healModelVisible = false; - this.maskShow = false; // nsParams this.nsParams.actionsHealing = this.healActions.map((item)=>{return item.value}); let additional = {}; @@ -485,13 +495,23 @@ export class ServicesListComponent implements OnInit { let requestBody = this.thisService["serviceDomain"] == "Network Service" ? {healNsData:this.nsParams} : {healVnfData:this.vnfParams}; console.log(requestBody); - this.healNsVnfService(this.thisService,requestBody); - } - healCancel(){ - this.healModelVisible = false; - this.maskShow = false; + this.healNsVnfService(this.thisService, requestBody,templatehealSuccessFaild); + this.healNotification(templatehealstarting); } + healCancel() { + this.healModelVisible = false; + } + healNotification(template: TemplateRef<{}>): void { + console.log(template,"healNotification show"); + this.notification.template(template); + // this.notification.template(template,{ nzDuration: 0 }); + } + healSuccessNotification(template: TemplateRef<{}>): void { + console.log(template,"healNotification show"); + this.notification.template(template); + // this.notification.template(template,{ nzDuration: 0 }); + } // show detail detailshow = false; detailshow2 = false; @@ -526,26 +546,46 @@ export class ServicesListComponent implements OnInit { deleteModel(service){ this.thisService = service; this.deleteModelVisible = true; - this.maskShow = true; } - deleteOk(){ - this.deleteModelVisible = false; - this.maskShow = false; - if(this.thisService["serviceDomain"] == "Network Service"){ - this.deleteNsService(this.thisService); - }else{ - this.deleteService(this.thisService); +deleteOk(templatedeletestarting,templateDeleteSuccessFaild) { + this.deleteModelVisible = false; + if (this.thisService["serviceDomain"] == "Network Service") { + this.deleteNsService(this.thisService,templateDeleteSuccessFaild); + } else { + this.deleteService(this.thisService,templateDeleteSuccessFaild); + } + this.deleteNotification(templatedeletestarting); } - } - deleteCancel(){ - this.deleteModelVisible = false; - this.maskShow = false; - } + deleteCancel() { + this.deleteModelVisible = false; + } + + deleteNotification(template: TemplateRef<{}>): void { + console.log(template,"deleteNotification show"); + this.notification.template(template); + // this.notification.template(template,{ nzDuration: 0 }); + } + deleteSuccessNotification(template: TemplateRef<{}>): void { + console.log(template,"deleteSuccessNotification show"); + this.notification.template(template); + // this.notification.template(template,{ nzDuration: 0 }); + } + createNotification(template: TemplateRef<{}>): void { + console.log(template,"deleteNotification show"); + this.notification.template(template); + // this.notification.template(template,{ nzDuration: 0 }); + } + createSuccessNotification(template: TemplateRef<{}>): void { + console.log(template,"deleteSuccessNotification show"); + this.notification.template(template); + // this.notification.template(template,{ nzDuration: 0 }); + } //ccvpn sotn createservice parentServiceInstanceId=""; - closeCreate(obj){ + thisCreateService = {}; + closeCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { if(!obj){ this.createshow = false; //close this.listDisplay = false; //close @@ -556,10 +596,10 @@ export class ServicesListComponent implements OnInit { console.log(obj); let newData; //Newly created service data for the main table - let createParams = "?customerId=" + this.customerSelected.id + + let createParams = "?customerId=" + this.customerSelected2.id + "&serviceType=" + this.serviceTypeSelected2.name + "&serviceDomain=" + this.templateTypeSelected; - this.createService(obj, createParams).then((data) => { + this.createService(obj, createParams,templateCreatestarting,templateCreateSuccessFaild).then((data) => { console.log(data) newData = { //Newly created service data in the main form 'service-instance-id': data["serviceId"], @@ -571,8 +611,9 @@ export class ServicesListComponent implements OnInit { statusClass: 1001, tips: "" }; + this.thisCreateService = newData; this.tableData = [newData, ...this.tableData]; - + this.createNotification(templateCreatestarting); let updata = (prodata) => { newData.rate = prodata.progress; newData.tips = this.listSortMasters["operationTypes"].find((its) => { @@ -591,6 +632,7 @@ export class ServicesListComponent implements OnInit { console.log(data); newData.rate = 100; newData.status = "Successful"; + this.createSuccessNotification(templateCreateSuccessFaild); newData.tips = this.listSortMasters["operationTypes"].find((its) => { return its["sortCode"] == newData["statusClass"] && its["language"] == this.language })["sortValue"] + '\xa0\xa0\xa0' + newData["status"]; @@ -605,7 +647,7 @@ export class ServicesListComponent implements OnInit { }) } - e2eCloseCreate(obj){ +e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { if(!obj){ this.createshow2 = false; // this.listDisplay = false; // @@ -621,7 +663,7 @@ export class ServicesListComponent implements OnInit { "&parentServiceInstanceId="+ "&uuid="+obj.service.serviceUuid+ "&invariantUuuid="+obj.service.serviceInvariantUuid; - this.createService(obj,createParams).then((data)=>{ + this.createService(obj, createParams,templateCreatestarting,templateCreateSuccessFaild).then((data) => { console.log(data); newData = { // 'service-instance-id':data["serviceId"], @@ -632,8 +674,9 @@ export class ServicesListComponent implements OnInit { rate:0, tips:"" } - + this.thisCreateService = newData; this.tableData = [newData,...this.tableData]; + this.createNotification(templateCreatestarting); let updata = (prodata)=>{ newData.rate = prodata.progress; newData.tips = newData["status"]+newData.rate+"%"; @@ -648,6 +691,7 @@ export class ServicesListComponent implements OnInit { console.log(data); newData.rate = 100; newData.status = "Successful"; + this.createSuccessNotification(templateCreateSuccessFaild); newData.tips = this.listSortMasters["operationTypes"].find((its)=>{ return its["sortCode"]==newData["statusClass"] && its["language"]==this.language})["sortValue"]+'\xa0\xa0\xa0'+newData["status"]; let hasUndone = this.tableData.some((item)=>{ return item.rate < 100; @@ -661,7 +705,7 @@ export class ServicesListComponent implements OnInit { } - nsCloseCreate(obj){ + nsCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { if(!obj){ this.createshow2 = false; // this.listDisplay = false; // @@ -684,20 +728,24 @@ export class ServicesListComponent implements OnInit { rate:0, tips:"" } + this.thisCreateService = newData; this.tableData = [newData,...this.tableData]; + this.createNotification(templateCreatestarting); if(data.status == "FAILED"){ + this.createSuccessNotification(templateCreateSuccessFaild); console.log("create ns service failed :" + JSON.stringify(data)); newData.status = "failed"; return false; } let createParams = "?ns_instance_id=" + data.nsInstanceId + - "&customerId="+this.customerSelected.id + + "&customerId=" + this.customerSelected2.id + "&serviceType="+this.serviceTypeSelected2.name + "&serviceDomain="+ this.templateTypeSelected + "&parentServiceInstanceId="; // step2 this.createNsService(createParams,obj.step2).then((jobid)=>{ if(jobid == "failed"){ + this.createSuccessNotification(templateCreateSuccessFaild); newData.status = "failed"; return false; } @@ -716,6 +764,7 @@ export class ServicesListComponent implements OnInit { console.log(data); newData.rate = 100; newData.status = "Successful"; + this.createSuccessNotification(templateCreateSuccessFaild); newData.tips = this.listSortMasters["operationTypes"].find((its)=>{ return its["sortCode"]==newData["statusClass"] && its["language"]==this.language})["sortValue"]+'\xa0\xa0\xa0'+newData["status"]; let hasUndone = this.tableData.some((item)=>{ return item.rate < 100; @@ -729,11 +778,12 @@ export class ServicesListComponent implements OnInit { }) } - createService(requestBody,createParams){ + createService(requestBody, createParams,templateCreatestarting,templateCreateSuccessFaild) { let mypromise = new Promise((res,rej)=>{ this.myhttp.createInstance(requestBody,createParams) .subscribe((data)=>{ if(data.status == "FAILED"){ + this.createSuccessNotification(templateCreateSuccessFaild); console.log("create e2e service failed :" + JSON.stringify(data)); return false; } @@ -757,7 +807,7 @@ export class ServicesListComponent implements OnInit { return mypromise; } - scaleE2eService(service,requestBody){ + scaleE2eService(service, requestBody,templateScaleSuccessFaild) { let id = service["service-instance-id"]; service.rate = 0; service.status = "In Progress"; @@ -768,6 +818,7 @@ export class ServicesListComponent implements OnInit { if(data.status == "FAILED"){ console.log("scale E2e service failed :" + JSON.stringify(data)); service.status = "failed"; + this.scaleSuccessNotification(templateScaleSuccessFaild); return false; } let obj = { @@ -787,11 +838,12 @@ export class ServicesListComponent implements OnInit { service.rate = 100; service.status = "Successful"; service.tips = "Scaling"+ '\xa0\xa0\xa0' + service["status"]; + this.scaleSuccessNotification(templateScaleSuccessFaild); }) }) } - healNsVnfService(service,requestBody){ + healNsVnfService(service, requestBody,templatehealSuccessFaild) { console.log(service); service.rate = 0; service.status = "In Progress"; @@ -803,6 +855,7 @@ export class ServicesListComponent implements OnInit { if(data.status == "FAILED"){ console.log("heal nsvnf service failed :" + JSON.stringify(data)); service.status = "failed"; + this.healSuccessNotification(templatehealSuccessFaild); return false; } let jobid = data.jobId; @@ -821,11 +874,12 @@ export class ServicesListComponent implements OnInit { service.rate = 100; service.status = "Successful"; service.tips = "Healing" + service["status"]; + this.healSuccessNotification(templatehealSuccessFaild); }); }) } - deleteService(service){ + deleteService(service,templateDeleteSuccessFaild) { let allprogress = {}; // let querypros = []; // service.rate = 0; @@ -871,6 +925,7 @@ export class ServicesListComponent implements OnInit { service.rate = 100; service.status = "Successful"; service.tips = "Deleting" + service.status; + this.deleteSuccessNotification(templateDeleteSuccessFaild); let hasUndone = this.tableData.some((item)=>{ return item.rate < 100; }) @@ -882,7 +937,7 @@ export class ServicesListComponent implements OnInit { }) }) } - deleteNsService(service){ + deleteNsService(service,templateDeleteSuccessFaild) { service.rate = 0; service.status = "In Progress"; service.tips = "Deleting"; @@ -915,12 +970,17 @@ export class ServicesListComponent implements OnInit { service.rate = 100; service.status = "Successful"; service.tips = "Deleting" + service["status"]; + this.deleteSuccessNotification(templateDeleteSuccessFaild); if(data.status == "FAILED"){ console.log("delete ns service failed :" + JSON.stringify(data)); service.status = "failed"; service.tips = "Deleting" +'\xa0\xa0\xa0' + service["status"]; + this.deleteSuccessNotification(templateDeleteSuccessFaild); return false; } + console.log(service,"deleteservice"); + console.log(this.thisService,"thisService"); + this.deleteSuccessNotification(templateDeleteSuccessFaild); let hasUndone = this.tableData.some((item)=>{ return item.rate < 100; }) diff --git a/usecaseui-portal/src/assets/i18n/cn.json b/usecaseui-portal/src/assets/i18n/cn.json index 208c932a..3983d099 100644 --- a/usecaseui-portal/src/assets/i18n/cn.json +++ b/usecaseui-portal/src/assets/i18n/cn.json @@ -1,8 +1,4 @@ { - "Language":"--:", - "zh":"中文", - "en":"英文", - "app-component":"--:", "i18nTextDefine_Home":"首页", "i18nTextDefine_Customer":"用户", @@ -69,6 +65,7 @@ "i18nTextDefine_cause":"原因", "i18nTextDefine_action":"动作", "i18nTextDefine_actionvminfo":"操作虚拟机信息", + "i18nTextDefine_Update":"更新", "i18nTextDefine_InstanceCreationStarting":"创建开始", "i18nTextDefine_InstanceCreatedSuccessfully":"创建成功", "i18nTextDefine_InstanceCreationFailed":"创建失败!", diff --git a/usecaseui-portal/src/assets/i18n/en.json b/usecaseui-portal/src/assets/i18n/en.json index b3b90e51..255134f8 100644 --- a/usecaseui-portal/src/assets/i18n/en.json +++ b/usecaseui-portal/src/assets/i18n/en.json @@ -1,8 +1,4 @@ { - "Language":"--:", - "zh":"Chinese", - "en":"English", - "app-component":"--:", "i18nTextDefine_Home":"Home", "i18nTextDefine_Customer":"Customer", @@ -69,6 +65,7 @@ "i18nTextDefine_cause":"cause", "i18nTextDefine_action":"action", "i18nTextDefine_actionvminfo":"actionvminfo", + "i18nTextDefine_Update":"Update", "i18nTextDefine_InstanceCreationStarting":"instance creation is starting.", "i18nTextDefine_InstanceCreatedSuccessfully":"instance was created successfully.", "i18nTextDefine_InstanceCreationFailed":"instance creation failed!!!", @@ -85,7 +82,6 @@ "i18nTextDefine_InstanceUpdatedSuccessfully":"instance was updated successfully.", "i18nTextDefine_InstanceUpdateFailed":"instance update failed!!!", - "ccvpn-creation-component":"--:", "i18nTextDefine_InstanceCreation":"Instance Creation", "i18nTextDefine_InstanceTopology":"Instance Topology", -- cgit 1.2.3-korg