From f2d200b6043e1b478347439c8d57e216685ed318 Mon Sep 17 00:00:00 2001 From: cyuamber Date: Wed, 27 Nov 2019 17:51:28 +0800 Subject: feat: Local simulation data and display on the Slicing task management page Change-Id: I56fb1fbbb63e490980a4d1f4d9d148d825f311f6 Issue-ID: USECASEUI-352 Signed-off-by: cyuamber --- .../src/app/core/services/serviceList.service.ts | 9 ++++ .../src/app/mock/json/slicing_task_list.json | 43 +++++++++++++++++ usecaseui-portal/src/app/mock/routes.js | 3 ++ .../slicing-task-management.component.html | 25 ++++++---- .../slicing-task-management.component.ts | 54 +++++++++++++--------- 5 files changed, 104 insertions(+), 30 deletions(-) create mode 100644 usecaseui-portal/src/app/mock/json/slicing_task_list.json (limited to 'usecaseui-portal/src/app') diff --git a/usecaseui-portal/src/app/core/services/serviceList.service.ts b/usecaseui-portal/src/app/core/services/serviceList.service.ts index bde2c253..2280aa9e 100644 --- a/usecaseui-portal/src/app/core/services/serviceList.service.ts +++ b/usecaseui-portal/src/app/core/services/serviceList.service.ts @@ -23,6 +23,7 @@ export class ServiceListService { constructor(private http: HttpClient) { } baseUrl = baseUrl.baseUrl; + nsmfBaseUrl = '/api/uui-slicing/nsmf' url = { customers: this.baseUrl + "/uui-lcm/customers", serviceType: this.baseUrl + "/uui-lcm/customers/" + "*_*" + "/service-subscriptions", @@ -51,6 +52,7 @@ export class ServiceListService { pnfDetail: this.baseUrl + "/uui-sotn/getPnfInfo/", connectivity: this.baseUrl + "/uui-sotn/getConnectivityInfo/", vpnBinding: this.baseUrl + "/uui-sotn/getPinterfaceByVpnId/", + slicingTaskList: this.nsmfBaseUrl + "/task/business/pageNo/{pageNo}/pageSize/{pageSize}" }; @@ -207,4 +209,11 @@ export class ServiceListService { let url = this.url.vpnBinding + id; return this.http.get(url); } + + // Get slicing order task list + getSlicingTaskList (pageNo, pageSize) { + const url = this.url.slicingTaskList.replace("{pageNo}", pageNo).replace("{pageSize}", pageSize) + return this.http.get(url); + } + } diff --git a/usecaseui-portal/src/app/mock/json/slicing_task_list.json b/usecaseui-portal/src/app/mock/json/slicing_task_list.json new file mode 100644 index 00000000..2c7b67c0 --- /dev/null +++ b/usecaseui-portal/src/app/mock/json/slicing_task_list.json @@ -0,0 +1,43 @@ +{ + "result_header": { + "result_code": "200", + "result_message": "5G slicing task query result." + }, + "result_body": { + "record_number": 2, + "slicing_task_list": [ + { + "task_id": "b1bb0ce7-ebca-4fa7-95ed-4840d70a1177", + "task_name": "5G Slice service eMMB", + "service_snssai": "1-010101", + "service_type": "eMMB", + "arrival_time": "1454171445000", + "processing_status": "Waiting to Confirm" + }, + { + "task_id": "6965-8758-5468-2548-457896541236", + "task_name": "5G Slice service eMMB", + "service_snssai": "1-010101", + "service_type": "eMMB", + "arrival_time": "1454171445500", + "processing_status": "Creating" + }, + { + "task_id": "b1bb0ce7-ebca-4fa7-95ed-4840d7041177", + "task_name": "5G Slice service eMMB", + "service_snssai": "1-010101", + "service_type": "eMMB", + "arrival_time": "1454471445000", + "processing_status": "Planning" + }, + { + "task_id": "b1bb0de7-ebca-4fa7-95ed-4840d7041177", + "task_name": "5G Slice service eMMB", + "service_snssai": "1-010101", + "service_type": "eMMB", + "arrival_time": "1544471445000", + "processing_status": "Completed" + } + ] + } +} diff --git a/usecaseui-portal/src/app/mock/routes.js b/usecaseui-portal/src/app/mock/routes.js index 093f847b..bac9e15f 100644 --- a/usecaseui-portal/src/app/mock/routes.js +++ b/usecaseui-portal/src/app/mock/routes.js @@ -91,6 +91,9 @@ module.exports = "/POST/uui-lcm/vf-packages": "/POST_uui-lcm_vf-packages", "/POST/uui-lcm/:jsonData": "/POST_uui-lcm_create", + ///////<-------------slicing-tesk-management--------->///// + "/uui-slicing/nsmf/task/business/pageNo/:pageNo/pageSize/:pageSize": "/slicing_task_list", + ///////<-------------general interface--------->///// "/api/*": "/$1", "/*/*": "/$1_$2", 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 index 6a5abe88..ac350037 100644 --- 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 @@ -13,19 +13,28 @@ - Name - Age - Status - Action + 任务ID + 任务名称 + S-NSSAI + 切片业务类型 + 到达时间 + 处理环节 + 操作 - {{ data.name }} - {{ data.age }} - {{ data.status===0?"Checking Configuration":"Creating Slicing" }} + {{ data.task_id }} + {{ data.task_name }} + {{ data.service_snssai }} + {{ data.service_type }} + {{ data.arrival_time }} + {{ data.status }} - Show Detail + 任务处理 + 任务处理 + 查看进度 + 查看结果 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 index ad29c5ed..3d8efab0 100644 --- 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 @@ -1,4 +1,6 @@ import { Component, OnInit } from '@angular/core'; +import * as moment from 'moment'; +import { ServiceListService } from '.././../../../core/services/serviceList.service' @Component({ selector: 'app-slicing-task-management', @@ -7,33 +9,41 @@ import { Component, OnInit } from '@angular/core'; }) export class SlicingTaskManagementComponent implements OnInit { - constructor() { } + constructor(private myhttp: ServiceListService) { } - ngOnInit() { } + ngOnInit() { + this.getTaskList() + } 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 - } - ]; + listOfData = []; + getTaskList (): void{ + this.myhttp.getSlicingTaskList(1,10).subscribe (res => { + const { result_header: { result_code }, result_body: { slicing_task_list } } = res + if (+result_code === 200) { + this.listOfData = slicing_task_list.map( item => { + item.arrival_time = moment(+item.arrival_time).format('YYYY-MM-DD hh:mm') + switch (item.processing_status){ + case 'Planning': + item.status = '规划阶段'; + break; + case 'Waiting to Confirm': + item.status = '审核阶段'; + break; + case 'Creating': + item.status = '切片创建中'; + break; + case 'Completed': + item.status = '创建完成'; + break; + } + return item; + }) + } + }) + } showdetail(data: any) { console.log(data, this.showDetail) this.detailData = data; -- cgit 1.2.3-korg