1 import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core";
2 import { NzMessageService } from "ng-zorro-antd";
3 import { SlicingTaskServices } from "../../../../../core/services/slicingTaskServices";
4 import { Util } from "../../../../../shared/utils/utils";
5 import { COMMUNICATION_FORM_ITEMS, MASKTEXT } from "./constants";
8 selector: "app-business-order",
9 templateUrl: "./business-order.component.html",
10 styleUrls: ["./business-order.component.less"],
12 export class BusinessOrderComponent implements OnInit {
14 private myhttp: SlicingTaskServices,
15 private message: NzMessageService,
22 let areaList = ["Beijing;Beijing;Haidian District;Wanshoulu Street"];
23 if (this.modelParams && this.showModel) {
24 this.slicing_order_info = { ...this.modelParams };
25 if (this.slicing_order_info.coverageArea) {
27 areaList.push(this.slicing_order_info.coverageArea);
30 this.AreaFormatting(areaList);
33 COMMUNICATION_FORM_ITEMS.forEach((item, index) => {
34 if (item.key == "coverageAreaNumber") {
35 item["coverflag"] = flag == true ? false : true;
40 @Input() showModel: boolean;
41 @Input() modelParams: any;
42 @Output() cancel = new EventEmitter<boolean>();
43 comunicationFormItems = COMMUNICATION_FORM_ITEMS;
44 slicing_order_info = {
50 resourceSharingLevel: "shared",
51 uEMobilityLevel: "stationary",
53 coverageAreaNumber: null,
57 validateRulesShow: any[] = [];
58 rulesText: any[] = [];
59 areaLevel: number = 4;
60 masktext: string = MASKTEXT;
61 loading: boolean = false;
62 AreaFormatting(areaList): void {
63 this.areaList = areaList.map((item: any) => {
64 let arr = item.split(";");
65 item = arr.map((it, index) => {
69 } else if (index === 1) {
71 } else if (index === 2) {
79 obj.options = [{ name: it, id: it }];
86 handleCancel(): void {
87 this.showModel = false;
88 this.cancel.emit(this.showModel);
89 this.slicing_order_info = {
95 resourceSharingLevel: "shared",
96 uEMobilityLevel: "stationary",
98 coverageAreaNumber: null,
101 this.validateRulesShow = [];
105 const coverage_list: string[] = [];
107 COMMUNICATION_FORM_ITEMS.forEach((item, index) => {
108 if (item.required && item.type === "input") {
112 this.slicing_order_info[item.key],
115 this.validateRulesShow
119 if (this.validateRulesShow.indexOf(true) > -1) {
122 for (const key in this.areaList) {
123 const value = this.areaList[key];
125 for (const val of value) {
127 str += area.selected + ";";
128 if (!area.selected) {
129 this.message.error("Please complete the form");
133 coverage_list.push(str.substring(0, str.length - 1));
135 if (coverage_list.length > 1) {
136 coverageAreas = coverage_list.join("|");
138 coverageAreas = coverage_list.toString();
140 const coverageAreaNumber = this.slicing_order_info[
143 if (coverageAreaNumber) {
144 this.slicing_order_info.coverageArea = `${coverageAreas}-${coverageAreaNumber}`;
146 this.slicing_order_info.coverageArea = `${coverageAreas}`;
148 delete this.slicing_order_info.coverageAreaNumber;
151 slicing_order_info: this.slicing_order_info,
153 const csmfSlicingPurchaseFailedCallback = () => {
158 // csmfSlicingPurchaseWithContent
159 const { intentContent } = this.slicing_order_info;
161 this.csmfSlicingPurchaseWithContent(paramsObj, csmfSlicingPurchaseFailedCallback);
164 this.csmfSlicingPurchase(paramsObj, csmfSlicingPurchaseFailedCallback);
167 csmfSlicingPurchase(paramsObj, csmfSlicingPurchaseFailedCallback): void {
169 .csmfSlicingPurchase(paramsObj, csmfSlicingPurchaseFailedCallback)
171 const result = res.result_header;
174 result.result_code &&
175 +result.result_code === 200
179 this.message.create("error", "Network error");
181 this.loading = false;
186 csmfSlicingPurchaseWithContent(paramsObj, csmfSlicingPurchaseFailedCallback): void {
188 .csmfSlicingPurchaseWithContent(paramsObj, csmfSlicingPurchaseFailedCallback)
190 const result = res.result_header;
193 result.result_code &&
194 +result.result_code === 200
198 this.message.create("error", "Network error");
200 this.loading = false;