6d477e4a156239a1dd1d7ca5ef5c05ca58f8ce66
[usecase-ui.git] /
1 import { Component, OnInit, Input } from '@angular/core';
2 import { NzModalService, NzMessageService } from "ng-zorro-antd";
3 import { SlicingTaskServices } from '.././../../../../../core/services/slicingTaskServices';
4 import { NsiModelComponent } from "../../nsi-management/nsi-model/nsi-model.component";
5
6 @Component({
7     selector: 'app-slicing-business-model',
8     templateUrl: './slicing-business-model.component.html',
9     styleUrls: ['./slicing-business-model.component.less']
10 })
11 export class SlicingBusinessModelComponent implements OnInit {
12
13     constructor(
14         private myhttp: SlicingTaskServices,
15         private modalService: NzModalService,
16         private message: NzMessageService
17     ) {
18     }
19
20     @Input() businessId;
21     @Input() outerData;
22     businessRequirement: any[];
23     NSTinfo: any[] = [];
24     nsiInfo: any[] = [];
25     taskModel: boolean = false;
26     isSpinning: boolean = true;
27     status: string = "";
28     businessDetailInfo : any = {}
29     rantext: string = "RAN Network Edge IP address";
30     isshowcore: boolean = false;
31     isshowran: boolean = false;
32     ngOnInit() {
33         this.status = this.outerData.orchestration_status
34         this.getDetail()
35     }
36     detailFn(flag,form){
37       this.rantext  = form =='ran'? "RAN Network Edge IP address" : "Core Network Edge IP address";
38       if(form =='ran'){
39         this.isshowran = !this.isshowran
40       }else{
41         this.isshowcore = !this.isshowcore
42       }
43     }
44     getDetail() {
45         this.myhttp.getSlicingBusinessDetail(this.businessId).then(res => {
46             this.isSpinning = false;
47             const { business_demand_info, business_demand_info: { coverage_area_ta_list }, nst_info, nsi_info ,connection_link: { an_slice_task_info,cn_slice_task_info,tn_bh_slice_task_info }} = res.result_body;
48            const connect_info = {
49                an_ip_adrress: an_slice_task_info.ip_adrress,
50                an_interface_id: an_slice_task_info.interface_id,
51                an_nextHop_info: an_slice_task_info.nextHop_info,
52                cn_interface_id: cn_slice_task_info.interface_id,
53                cn_ip_adrress: cn_slice_task_info.ip_adrress,
54                cn_nextHop_info: cn_slice_task_info.nextHop_info,
55                max_bandWidth: tn_bh_slice_task_info.max_bandWidth,
56                link_type: tn_bh_slice_task_info.link_type,
57                lantency: tn_bh_slice_task_info.lantency
58             }
59             this.businessDetailInfo = connect_info
60            
61             business_demand_info.area = coverage_area_ta_list.map(item => {
62                 item = item.split(';').join('-');
63                 return item
64             });
65             // area : Front-end analog data
66             let area = ["Haidian District;Beijing;Beijing", "Xicheng District;Beijing;Beijing", "Changping District;Beijing;Beijing"].map(item => {
67                 item = item.split(';').join(' - ');
68                 return item
69             });
70             this.businessRequirement = [{ ...business_demand_info, area }];
71             this.NSTinfo = [nst_info];
72             console.log('ngs',this.NSTinfo)
73             if (nsi_info.nsi_id !== null) {
74                 this.nsiInfo = [nsi_info];
75             }
76         })
77     }
78     showdetail(data) {
79         const nsiModal = this.modalService.create({
80             nzTitle: "Detail",
81             nzContent: NsiModelComponent,
82             nzWidth: "70%",
83             nzOkText: null,
84             nzCancelText: null,
85             nzComponentParams: {
86                 nsiId: data.nsi_id
87             }
88         });
89     }
90 }