summaryrefslogtreecommitdiffstats
path: root/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-business-management/slicing-business-model/slicing-business-model.component.ts
blob: 6d477e4a156239a1dd1d7ca5ef5c05ca58f8ce66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import { Component, OnInit, Input } from '@angular/core';
import { NzModalService, NzMessageService } from "ng-zorro-antd";
import { SlicingTaskServices } from '.././../../../../../core/services/slicingTaskServices';
import { NsiModelComponent } from "../../nsi-management/nsi-model/nsi-model.component";

@Component({
    selector: 'app-slicing-business-model',
    templateUrl: './slicing-business-model.component.html',
    styleUrls: ['./slicing-business-model.component.less']
})
export class SlicingBusinessModelComponent implements OnInit {

    constructor(
        private myhttp: SlicingTaskServices,
        private modalService: NzModalService,
        private message: NzMessageService
    ) {
    }

    @Input() businessId;
    @Input() outerData;
    businessRequirement: any[];
    NSTinfo: any[] = [];
    nsiInfo: any[] = [];
    taskModel: boolean = false;
    isSpinning: boolean = true;
    status: string = "";
    businessDetailInfo : any = {}
    rantext: string = "RAN Network Edge IP address";
    isshowcore: boolean = false;
    isshowran: boolean = false;
    ngOnInit() {
        this.status = this.outerData.orchestration_status
        this.getDetail()
    }
    detailFn(flag,form){
      this.rantext  = form =='ran'? "RAN Network Edge IP address" : "Core Network Edge IP address";
      if(form =='ran'){
        this.isshowran = !this.isshowran
      }else{
        this.isshowcore = !this.isshowcore
      }
    }
    getDetail() {
        this.myhttp.getSlicingBusinessDetail(this.businessId).then(res => {
            this.isSpinning = false;
            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;
           const connect_info = {
               an_ip_adrress: an_slice_task_info.ip_adrress,
               an_interface_id: an_slice_task_info.interface_id,
               an_nextHop_info: an_slice_task_info.nextHop_info,
               cn_interface_id: cn_slice_task_info.interface_id,
               cn_ip_adrress: cn_slice_task_info.ip_adrress,
               cn_nextHop_info: cn_slice_task_info.nextHop_info,
               max_bandWidth: tn_bh_slice_task_info.max_bandWidth,
               link_type: tn_bh_slice_task_info.link_type,
               lantency: tn_bh_slice_task_info.lantency
            }
            this.businessDetailInfo = connect_info
           
            business_demand_info.area = coverage_area_ta_list.map(item => {
                item = item.split(';').join('-');
                return item
            });
            // area : Front-end analog data
            let area = ["Haidian District;Beijing;Beijing", "Xicheng District;Beijing;Beijing", "Changping District;Beijing;Beijing"].map(item => {
                item = item.split(';').join(' - ');
                return item
            });
            this.businessRequirement = [{ ...business_demand_info, area }];
            this.NSTinfo = [nst_info];
            console.log('ngs',this.NSTinfo)
            if (nsi_info.nsi_id !== null) {
                this.nsiInfo = [nsi_info];
            }
        })
    }
    showdetail(data) {
        const nsiModal = this.modalService.create({
            nzTitle: "Detail",
            nzContent: NsiModelComponent,
            nzWidth: "70%",
            nzOkText: null,
            nzCancelText: null,
            nzComponentParams: {
                nsiId: data.nsi_id
            }
        });
    }
}