import { SubnetParamsModelComponent } from './views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component';
import { SlicingBusinessTableComponent } from './views/services/slicing-management/slicing-resource-management/slicing-business-management/slicing-business-table/slicing-business-table.component'
import { BasicInfoComponent } from './shared/components/basic-info/basic-info.component';
-
+import { CheckProcessModelComponent } from './views/services/slicing-management/slicing-task-management/check-process-model/check-process-model.component'
@NgModule({
providers: [
NssiManagementComponent,
SubnetParamsModelComponent,
SlicingBusinessTableComponent,
- BasicInfoComponent
+ BasicInfoComponent,
+ CheckProcessModelComponent
],
imports: [
BrowserModule,
deactivateSlicingService:this.baseUrl+"/resource/{serviceId}/deactivate",\r
terminateSlicingService:this.baseUrl+"/resource/{serviceId}",\r
queryOperationProgress:this.baseUrl+"resource/{serviceId}/progress",\r
+ slicingBasicInfo: this.baseUrl + '/task/{taskId}/taskCreationInfo',\r
}\r
\r
\r
submitSlicing (reqbody) {\r
return this.http.put<any>(this.url.submitSlicing, reqbody)\r
}\r
+ getSlicingBasicInfo (taskId: string) {\r
+ const url = this.url.slicingBasicInfo.replace('{taskId}', taskId);\r
+ return this.http.get<any>(url);\r
+ }\r
\r
// Get slicing business list\r
getSlicingBusinessList (paramsObj,isSelect: boolean) {\r
--- /dev/null
+{\r
+ "result_header": {\r
+ "result_code": "200",\r
+ "result_message": "5G slicing task creation info result."\r
+ },\r
+ "result_body": {\r
+ "task_id": "b1bb0ce7-ebca-4fa7-95ed-4840d70a1177",\r
+ "task_name": "5G Slicee MMB",\r
+ "create_time": "1454171445000",\r
+ "processing_status": "Waiting for review",\r
+ "business_demand_info": {\r
+ "service_name": "5G Slice eMMB",\r
+ "service_snssai": "1-010101",\r
+ "exp_data_rate_dl": "300",\r
+ "exp_data_rate_ul": "300",\r
+ "ue_mobility_level": "stageary",\r
+ "latency": "20",\r
+ "use_interval": "12",\r
+ "coverage_area_ta_list": [" xxxx;xxxxx;xxxxx ", " xxxx;xxxxx;xxxxx ", " xxxx;xxxxx;xxxxx "],\r
+ "activity_factor": "60",\r
+ "resource_sharing_level": "shared",\r
+ "area_traffic_cap_ul": "300",\r
+ "area_traffic_cap_dl": "300",\r
+ "max_number_of_ues": "10000"\r
+ },\r
+ "nst_info": {\r
+ "nst_id": "46da8cf8-0878-48ac-bea3-f2200959411a",\r
+ "nst_name": "eMBBNST"\r
+ }\r
+ }\r
+}\r
"/uui-slicing/nsmf/resource/nsi/instances/pageNo/:pageNo/pageSize/:pageSize": "/slicing_instance",
"/uui-slicing/nsmf/resource/nsi/:nsiId/nssiInstances": "/slicing_subnet_instance",
"/uui-slicing/nsmf/resource/nssi/:environmentContext/instances/pageNo/:pageNo/pageSize/:pageSize": "/slicing_subnet_context",
+ "/uui-slicing/nsmf/task/:taskId/taskCreationInfo": "/slicing_taskCreationInfo",
+
///////<-------------slicing_business--------->/////
"/uui-slicing/nsmf/resource/business/pageNo/:pageNo/pageSize/:pageSize": "/slicing_business_list",
"/uui-slicing/nsmf/resource/:businessStatus/business/pageNo/:pageNo/pageSize/:pageSize": "/slicing_business_list_activated",
--- /dev/null
+<nz-modal
+ [nzVisible]="showProcess"
+ nzWidth="85%"
+ [nzTitle]="moduleTitle"
+ (nzOnCancel)="handleCancel()"
+ (nzOnOk)="handleOk()"
+>
+ <app-basic-info
+ [checkDetail]="checkDetail"
+ [businessRequirement]="businessRequirement"
+ [NSTinfo]="NSTinfo"
+ >
+ </app-basic-info>
+
+</nz-modal>
--- /dev/null
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { CheckProcessModelComponent } from './check-process-model.component';
+
+describe('CheckProcessModelComponent', () => {
+ let component: CheckProcessModelComponent;
+ let fixture: ComponentFixture<CheckProcessModelComponent>;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [CheckProcessModelComponent]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(CheckProcessModelComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
--- /dev/null
+import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
+import { SlicingTaskServices } from '../../../../../core/services/slicingTaskServices'
+
+@Component({
+ selector: 'app-check-process-model',
+ templateUrl: './check-process-model.component.html',
+ styleUrls: ['./check-process-model.component.less']
+})
+export class CheckProcessModelComponent implements OnInit {
+
+ @Input() moduleTitle: string;
+ @Input() showProcess: boolean;
+ @Input() taskId: string;
+
+ @Output() cancel = new EventEmitter<boolean>();
+
+ constructor(private http: SlicingTaskServices) { }
+
+ checkDetail: any[];
+ businessRequirement: any[];
+ NSTinfo: any[];
+
+ ngOnInit() { }
+
+ ngOnChanges() {
+ if (this.showProcess) {
+ this.getInfo();
+ }
+ }
+
+ getInfo(): void {
+ this.http.getSlicingBasicInfo(this.taskId).subscribe(res => {
+ const { result_body, result_header: { result_code } } = res;
+ if (+result_code === 200) {
+ const {
+ task_id,
+ task_name,
+ create_time,
+ processing_status,
+ business_demand_info,
+ nst_info,
+ business_demand_info: { service_snssai }
+ } = result_body;
+ // 处理配置审核详情数据
+ this.checkDetail = [{ task_id, task_name, create_time, processing_status, service_snssai }];
+ // 业务需求信息数据
+ this.businessRequirement = [business_demand_info];
+ // 匹配NST信息
+ this.NSTinfo = [nst_info];
+ }
+ })
+ }
+
+ handleCancel() {
+ this.showProcess = false;
+ this.cancel.emit(this.showProcess)
+ }
+ handleOk() { }
+
+}
<app-slicing-task-model [moduleTitle]="moduleTitle" [showDetail]="showDetail" [taskId]="taskId"
(cancel)="showDetail=$event">
</app-slicing-task-model>
+ <app-check-process-model
+ [moduleTitle]="moduleTitle"
+ [showProcess]="showProcess"
+ [taskId]="taskId"
+ (cancel)="showProcess=$event"
+ >
+ </app-check-process-model>
</div>
\ No newline at end of file
this.getTaskList()
}
showDetail: boolean = false;
+ showProcess: boolean = false;
selectedValue = null;
- // detailData: object = {};
taskId: string;
moduleTitle: string = "";
listOfData: any[] = [];
showdetail(data: any): void {
this.taskId = data.task_id;
- this.showDetail = true;
this.moduleTitle = data.status;
+ if(data.status === '审核阶段') {
+ this.showDetail = true;
+ } else {
+ this.showProcess = true;
+ }
}
}