feat: Added tooltip for failed requests 58/99258/1
authorcyuamber <xuranyjy@chinamobile.com>
Fri, 6 Dec 2019 13:34:38 +0000 (21:34 +0800)
committercyuamber <xuranyjy@chinamobile.com>
Fri, 6 Dec 2019 13:34:53 +0000 (21:34 +0800)
Change-Id: Iab417a0f2c641cde56c06abef6010d5a813f2935
Issue-ID: USECASEUI-368
Signed-off-by: cyuamber <xuranyjy@chinamobile.com>
usecaseui-portal/src/app/shared/components/notification/notification.component.html
usecaseui-portal/src/app/shared/components/notification/notification.component.ts
usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.html
usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.ts

index f20fd48..0a40da9 100644 (file)
@@ -5,7 +5,7 @@
         <img src="{{notificationAttributes.imgPath}}" alt="{{notificationAttributes.status}}">
       </span>
       <!-- customer&onboard -->
-      <div *ngIf="!isServicesList">
+      <div *ngIf="!isServicesList && !parentComponent">
         <div class="ant-notification-notice-message">
           {{(notificationAttributes.action === 'OnboardingState'? notificationAttributes.title : "i18nTextDefine_"+notificationAttributes.title) | translate}}&nbsp;
           {{"i18nTextDefine_"+notificationAttributes.action | translate}}&nbsp;&nbsp;{{"i18nTextDefine_"+notificationAttributes.status | translate}}
         </div>
         <div class="close-icons">{{"i18nTextDefine_Close" | translate}}</div>
       </div>
+      <!-- slicing  -->
+      <div *ngIf="!isServicesList && parentComponent">
+        <div class="ant-notification-notice-message">
+          {{ notificationAttributes.title}}&nbsp;
+          {{ notificationAttributes.action }}&nbsp;&nbsp;{{notificationAttributes.status}}
+        </div>
+        <div class="ant-notification-notice-description">
+          <div class="notificationlist">
+            <p>{{notificationAttributes.title}} id:&nbsp;</p>
+            <span>{{ notificationAttributes.name }}</span>
+          </div>
+        </div>
+        <div class="close-icons">{{"i18nTextDefine_Close" | translate}}</div>
+      </div>
     </div>
   </div>
 </ng-template>
index de0df08..18f91b3 100644 (file)
@@ -9,6 +9,7 @@ import { NzNotificationService } from 'ng-zorro-antd';
 export class NotificationComponent implements OnInit {
   @ViewChild('notificationModel')notificationModel: any;
   @Input()isServicesList: boolean;
+  @Input()parentComponent: string;
   @Input()customerSelected: object;
 
   notificationAttributes: {
@@ -21,8 +22,7 @@ export class NotificationComponent implements OnInit {
 
   constructor(private notification: NzNotificationService) { }
 
-  ngOnInit() {
-  }
+  ngOnInit() { }
 
   setNotification({ title, imgPath, action, status, name }):void{
     this.notificationAttributes = { title, imgPath, action, status, name };
index 9d0e3ae..ff64dfe 100644 (file)
@@ -1,4 +1,5 @@
-import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
+import { Component, OnInit, Input, Output, EventEmitter, ViewChild } from '@angular/core';
+import { NzMessageService } from 'ng-zorro-antd';
 import { SlicingTaskServices } from '../../../../../core/services/slicingTaskServices';
 
 @Component({
@@ -11,8 +12,9 @@ export class SlicingTaskModelComponent implements OnInit {
   @Input() moduleTitle: string;
   @Input() taskId: string;
   @Output() cancel = new EventEmitter<boolean>();
+  @ViewChild('notification') notification1: any;
 
-  constructor(private http: SlicingTaskServices) { }
+  constructor(private http: SlicingTaskServices, private message: NzMessageService) { }
 
   // 配置审核详情
   checkDetail: any[] = [{}];
@@ -189,9 +191,12 @@ export class SlicingTaskModelComponent implements OnInit {
         const { nsi_service_instances, record_number } = result_body;
         this.slicingInstances.total = record_number;
         this.slicingInstances.list.push(...nsi_service_instances);
-        this.slicingInstances.isLoading = false;
-        this.slicingInstances.flag = false;
+      } else {
+        this.message.error('Failed to get slicing instance ID')
       }
+      this.slicingInstances.isLoading = false;
+      this.slicingInstances.flag = false;
+
     })
   }
 
@@ -203,6 +208,8 @@ export class SlicingTaskModelComponent implements OnInit {
       const { result_header: { result_code }, result_body, record_number} = res;
       if (+result_code === 200) {
         this.subnetDataFormatting(result_body, record_number)
+      } else {
+        this.message.error('Failed to get slicing subnet instance ID')
       }
     }) 
     this.slicingInstances.list.forEach (item => {
@@ -286,6 +293,8 @@ export class SlicingTaskModelComponent implements OnInit {
             item.flag = false;
           }
         })
+      } else {
+        this.message.error('Failed to get slicing subnet instance ID');
       }
     })
   }
@@ -335,11 +344,14 @@ export class SlicingTaskModelComponent implements OnInit {
     }
     let reqBody = {...checkDetail[0], business_demand_info: businessRequirement[0], nst_info: NSTinfo[0], nsi_nssi_info};
     delete reqBody.service_snssai;
+    this.notification1.notificationStart('Task', 'Sumbit', this.taskId)
     this.http.submitSlicing(reqBody).subscribe (res => {
       const { result_header: { result_code } } = res;
       if (+result_code === 200) {
-        console.log('成功提交')
         this.handleCancel();
+        this.notification1.notificationSuccess('Task', 'Sumbit', this.taskId)
+      } else {
+        this.notification1.notificationFailed('Task', 'Sumbit', this.taskId)
       }
     })
   }