From bfe8df3f9b7409842ddf0c9fbf41ff8b9c17c1fa Mon Sep 17 00:00:00 2001 From: cyuamber Date: Thu, 21 Nov 2019 19:13:58 +0800 Subject: feat: add slicing management page in services module Change-Id: I6a9d9e7aadaff30109859df4e866da5104f26330 Issue-ID: USECASEUI-352 Signed-off-by: cyuamber --- usecaseui-portal/src/app/app.module.ts | 8 +- .../delete-model/delete-model.component.ts | 30 ++--- .../slicing-management.component.html | 11 +- .../slicing-resource-management.component.html | 3 + .../slicing-resource-management.component.less | 0 .../slicing-resource-management.component.spec.ts | 25 ++++ .../slicing-resource-management.component.ts | 15 +++ .../slicing-task-management.component.html | 37 +++++ .../slicing-task-management.component.less | 3 + .../slicing-task-management.component.spec.ts | 25 ++++ .../slicing-task-management.component.ts | 43 ++++++ .../slicing-task-model.component.html | 149 +++++++++++++++++++++ .../slicing-task-model.component.less | 15 +++ .../slicing-task-model.component.spec.ts | 25 ++++ .../slicing-task-model.component.ts | 61 +++++++++ 15 files changed, 431 insertions(+), 19 deletions(-) create mode 100644 usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.html create mode 100644 usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.less create mode 100644 usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.spec.ts create mode 100644 usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.ts create mode 100644 usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.html create mode 100644 usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.less create mode 100644 usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.spec.ts create mode 100644 usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.ts create mode 100644 usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.html create mode 100644 usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.less create mode 100644 usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.spec.ts create mode 100644 usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.ts (limited to 'usecaseui-portal/src') diff --git a/usecaseui-portal/src/app/app.module.ts b/usecaseui-portal/src/app/app.module.ts index 333ac520..f579c7e4 100644 --- a/usecaseui-portal/src/app/app.module.ts +++ b/usecaseui-portal/src/app/app.module.ts @@ -81,6 +81,9 @@ import { ScaleModelComponent } from './views/services/services-list/scale-model/ import { HealModelComponent } from './views/services/services-list/heal-model/heal-model.component'; import { Monitor5gComponent } from './views/fcaps/monitor-5g/monitor-5g.component'; import { SlicingManagementComponent } from './views/services/slicing-management/slicing-management.component'; +import { SlicingTaskManagementComponent } from './views/services/slicing-management/slicing-task-management/slicing-task-management.component'; +import { SlicingResourceManagementComponent } from './views/services/slicing-management/slicing-resource-management/slicing-resource-management.component'; +import { SlicingTaskModelComponent } from './views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component'; @NgModule({ providers: [ @@ -128,7 +131,10 @@ import { SlicingManagementComponent } from './views/services/slicing-management/ ScaleModelComponent, HealModelComponent, Monitor5gComponent, - SlicingManagementComponent + SlicingManagementComponent, + SlicingTaskManagementComponent, + SlicingResourceManagementComponent, + SlicingTaskModelComponent ], imports: [ BrowserModule, diff --git a/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.ts b/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.ts index f9bf9a9c..5ce0d108 100644 --- a/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.ts +++ b/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.ts @@ -1,25 +1,25 @@ -import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core'; +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; @Component({ - selector: 'app-delete-model', - templateUrl: './delete-model.component.html', - styleUrls: ['./delete-model.component.less'] + selector: 'app-delete-model', + templateUrl: './delete-model.component.html', + styleUrls: ['./delete-model.component.less'] }) export class DeleteModelComponent implements OnInit { - @Input()deleteModalVisible: boolean; - @Input()thisService; - @Input()terminationType; - @Input()loadingAnimateShow; - @Input()templateDeleteSuccessFaild; - @Input()gracefulTerminationTimeout; + @Input() deleteModalVisible: boolean; + @Input() thisService; + @Input() terminationType; + @Input() loadingAnimateShow; + @Input() templateDeleteSuccessFaild; + @Input() gracefulTerminationTimeout; - @Output() cancel = new EventEmitter(); - @Output() deleteModalOK = new EventEmitter(); + @Output() cancel = new EventEmitter(); + @Output() deleteModalOK = new EventEmitter(); - constructor() { } + constructor() { } - ngOnInit() { - } + ngOnInit() { + } deleteOk() { this.deleteModalVisible = false; diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.html b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.html index 91062607..59401e02 100644 --- a/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.html +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.html @@ -1,3 +1,8 @@ -

- slicing-management works! -

+ + + + + + + + \ No newline at end of file diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.html b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.html new file mode 100644 index 00000000..0408552d --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.html @@ -0,0 +1,3 @@ +

+ slicing-resource-management works! +

diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.less b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.less new file mode 100644 index 00000000..e69de29b diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.spec.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.spec.ts new file mode 100644 index 00000000..6a22984b --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SlicingResourceManagementComponent } from './slicing-resource-management.component'; + +describe('SlicingResourceManagementComponent', () => { + let component: SlicingResourceManagementComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SlicingResourceManagementComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SlicingResourceManagementComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.ts new file mode 100644 index 00000000..38dc48c8 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-slicing-resource-management', + templateUrl: './slicing-resource-management.component.html', + styleUrls: ['./slicing-resource-management.component.less'] +}) +export class SlicingResourceManagementComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.html b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.html new file mode 100644 index 00000000..6a5abe88 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.html @@ -0,0 +1,37 @@ +
+
+
+ Status: + + + + + +
+
+
+ + + + Name + Age + Status + Action + + + + + {{ data.name }} + {{ data.age }} + {{ data.status===0?"Checking Configuration":"Creating Slicing" }} + + Show Detail + + + + +
+ + +
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.less b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.less new file mode 100644 index 00000000..1de685d6 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.less @@ -0,0 +1,3 @@ +nz-select { + width: 200px; +} \ No newline at end of file diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.spec.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.spec.ts new file mode 100644 index 00000000..a2631a98 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SlicingTaskManagementComponent } from './slicing-task-management.component'; + +describe('SlicingTaskManagementComponent', () => { + let component: SlicingTaskManagementComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SlicingTaskManagementComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SlicingTaskManagementComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.ts new file mode 100644 index 00000000..ad29c5ed --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.ts @@ -0,0 +1,43 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-slicing-task-management', + templateUrl: './slicing-task-management.component.html', + styleUrls: ['./slicing-task-management.component.less'] +}) +export class SlicingTaskManagementComponent implements OnInit { + + constructor() { } + + ngOnInit() { } + showDetail: boolean = false; + selectedValue = null; + detailData: object = {}; + moduleTitle: string = ""; + listOfData = [ + { + key: '1', + name: 'John Brown', + age: 32, + status: 0 + }, + { + key: '2', + name: 'Jim Green', + age: 42, + status: 0 + }, + { + key: '3', + name: 'Joe Black', + age: 32, + status: 1 + } + ]; + showdetail(data: any) { + console.log(data, this.showDetail) + this.detailData = data; + this.showDetail = true; + this.moduleTitle = data.status === 0 ? "Check Configuration" : "View Progress"; + } +} diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.html b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.html new file mode 100644 index 00000000..f864dc92 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.html @@ -0,0 +1,149 @@ + + + + +
+ Task ID: {{ check.id }} +
+
+ Task Name: {{ check.name }} +
+
+ S-NSSAI:{{ check.snssai }} +
+
+ +
+ Arrived Time: {{ check.arrivedtime }} +
+
+ Status: {{ check.status }} +
+
+
+
+ + + + + Name: + {{ item.name }} + + + S-NSSAI: + {{ item.snssai }} + + + Time: + {{ item.expiretime }} + + + Area: + {{ item. area }} + + + + + + + +
+ NST ID: {{ item.id }} +
+
+ NST Name: {{ item.name }} +
+
+
+
+ + +
+ + +
+ 切片实例 ID: + + + +
+
+ 切片实例名称:{{selectedServiceName}} +
+
+ +
+
+ +

匹配的共享切片子网实例:

+ +
+
+ 切片子网实例 ID: + + + +
+
+ 切片子网实例名称:{{selectedServiceName}} +
+
+ + +
+
+
+ +
+
+ 切片子网实例 ID: + + + +
+
+ 切片子网实例名称:{{selectedServiceName}} +
+
+ + +
+
+
+ + +
+
+ 切片子网实例 ID: + + + +
+
+ 切片子网实例名称:{{selectedServiceName}} +
+
+ + +
+
+
+
+
+
+ +
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.less b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.less new file mode 100644 index 00000000..aad9a554 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.less @@ -0,0 +1,15 @@ +nz-select { + width: 70%; +} + +.taskmodel_list { + margin-bottom: 20px; + + .listitem_subtitle { + font-size: 14px; + color: rgba(0, 0, 0, 0.85); + margin-bottom: 16px; + font-weight: 500; + } + +} \ No newline at end of file diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.spec.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.spec.ts new file mode 100644 index 00000000..a6c02728 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SlicingTaskModelComponent } from './slicing-task-model.component'; + +describe('SlicingTaskModelComponent', () => { + let component: SlicingTaskModelComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SlicingTaskModelComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SlicingTaskModelComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.ts new file mode 100644 index 00000000..2abe8d44 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.ts @@ -0,0 +1,61 @@ +import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; + +@Component({ + selector: 'app-slicing-task-model', + templateUrl: './slicing-task-model.component.html', + styleUrls: ['./slicing-task-model.component.less'] +}) +export class SlicingTaskModelComponent implements OnInit { + @Input() showDetail: boolean; + @Input() moduleTitle: string; + @Input() modelData: object; + @Output() cancel = new EventEmitter(); + + constructor() { } + checkDetail: [{}] = [{ + id: "b1bb0ce7-ebca-4fa7-95ed-4840d70a1177", + name: "5G Slice eMMB", + snssai: "1-010101", + arrivedtime: "2019-10-29 10:00", + status: "Checking" + }]; //配置审核详情 + businessRequirement: [{}] = [{ + name: "5G Slice eMMB", + snssai: "1-010101", + expiretime: "2019-10-29 10:00", + area: "Beijing", + }];//业务需求信息 + NSTinfo: [{}] = [{ + id: "46da8cf8-0878-48ac-bea3-f2200959411a", + name: "eMBB instancel" + }];//匹配NST信息 + selectedServiceId = '46da8cf8-0878-48ac-bea3-f2200959411a'; + selectedServiceName = ''; + serviceId = ['46da8cf8-0878-48ac-bea3-f2200959411a', '46da8cf8-0878-48ac-bea3-f2200959411b', '46da8cf8-0878-48ac-bea3-f2200959411c']; + serviceData: {} = { + "46da8cf8-0878-48ac-bea3-f2200959411a": "eMBB instancela", + "46da8cf8-0878-48ac-bea3-f2200959411b": "eMBB instancelb", + "46da8cf8-0878-48ac-bea3-f2200959411c": "eMBB instancelc", + }; + + ngOnInit() { + this.serviceIdChange(this.selectedServiceId) + } + + serviceIdChange(value: string): void { + this.selectedServiceName = this.serviceData[value]; + console.log(this.selectedServiceName, "=====") + } + resetService() { + this.selectedServiceId = ""; + this.serviceIdChange(this.selectedServiceId); + } + + handleCancel() { + this.showDetail = false; + this.cancel.emit(this.showDetail); + } + handleOk() { + this.handleCancel(); + } +} -- cgit 1.2.3-korg