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: 04c28d7a1328c0bb1d0f12da0a10b9c70c170411 (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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
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,
			},
		});
	}
}