diff options
author | 2019-12-05 14:33:09 +0800 | |
---|---|---|
committer | 2019-12-05 14:33:21 +0800 | |
commit | 6077654ad074c2c07acf1434dfdec2fc5abd17d9 (patch) | |
tree | c458499190421a64587ff81df6b5f521e378c0a9 /usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model | |
parent | 19b190ce4d1042c769b93c50882b91e748af061d (diff) |
feat: Completed the submit function in the task processing dialog
Change-Id: I2ab002ce9876687921684f4834908701d98b0d1e
Issue-ID: USECASEUI-352
Signed-off-by: cyuamber <xuranyjy@chinamobile.com>
Diffstat (limited to 'usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model')
2 files changed, 106 insertions, 16 deletions
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component.html b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component.html index 4d8e54b2..1dfc6338 100644 --- a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component.html +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component.html @@ -9,13 +9,18 @@ <div *ngIf="item.key === 'an_coverage_area_ta_list'"> <div *ngFor="let area of areaList; let i = index"> <nz-form-control [nzSpan]="4" [nzOffset]=" i && !ind ? 5 : 0" class="subnet_params_area" *ngFor="let item of area; let ind = index"> - <nz-select [(ngModel)]="item.selected" [name]="'areaList'+i+'_'+ind"> + <nz-select [(ngModel)]="item.selected" [name]="'area' +i + ind" (nzOpenChange)="handleChange(area, item)" (ngModelChange)="handleChangeSelected(area,item)"> <nz-option [nzValue]="op.name" *ngFor="let op of item.options" [nzLabel]="op.name" ></nz-option> </nz-select> </nz-form-control> - <button nz-button nzType="primary" nzSize="small" *ngIf="!i && !ind" class="subnet_params_button" (click)="creatAreaList()"> - <i nz-icon class="anticon anticon-plus subnet_params_icon"></i> - </button> + <nz-form-control [nzSpan]="1" [nzOffset]="1"> + <button nz-button nzType="primary" nzSize="small" class="subnet_params_button" *ngIf="!i" (click)="creatAreaList()"> + <i nz-icon class="anticon anticon-plus subnet_params_icon"></i> + </button> + <button nz-button nzType="primary" nzSize="small" class="subnet_params_button" *ngIf="i" (click)="deleteAreaList(i)"> + <i nz-icon class="anticon anticon-minus subnet_params_icon"></i> + </button> + </nz-form-control> </div> </div> @@ -30,13 +35,20 @@ </nz-form-item> </form> <form nz-form *ngIf="title === '核心域'"> - <nz-form-item *ngFor="let item of coreFormItems"> - <nz-form-label [nzSpan]="10" nzRequired [nzFor]="item.key">{{item.title}}</nz-form-label> - <nz-form-control [nzSpan]="10"> - <input nz-input [(ngModel)]="detailData[item.key]" [name]="item.key" [id]="item.key"/> - </nz-form-control> - </nz-form-item> - </form> + <nz-form-item *ngFor="let item of coreFormItems"> + <nz-form-label [nzSpan]="10" nzRequired [nzFor]="item.key">{{item.title}}</nz-form-label> + <nz-form-control [nzSpan]="10" > + <input nz-input [(ngModel)]="detailData[item.key]" [name]="item.key" [id]="item.key" [readOnly]="item.title === 'S-NSSAI'" *ngIf="item.title !== '共享等级' && item.title !== '游牧性'"/> + <nz-radio-group [name]="item.key" [(ngModel)]="detailData[item.key]" *ngIf="item.title === '共享等级'"> + <label nz-radio [nzValue]="option.key" *ngFor="let option of item.options">{{option.title}}</label> + </nz-radio-group> + <nz-select [name]="item.key" [(ngModel)]="detailData[item.key]" *ngIf=" item.title === '游牧性'"> + <nz-option [nzValue]="option.key" *ngFor="let option of item.options" [nzLabel]="option.title"></nz-option> + </nz-select> + </nz-form-control> + + </nz-form-item> + </form> </div> </nz-modal> diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component.ts index 1a3a194e..92c50d15 100644 --- a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component.ts +++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; -import { WIRELESS_FORM_ITEMS, TRANSFRER_FORM_ITEMS, CORE_FORM_ITEMS } from '../.../../../../../../../../constants/constants' +import { WIRELESS_FORM_ITEMS, TRANSFRER_FORM_ITEMS, CORE_FORM_ITEMS, ADDRESS } from '../.../../../../../../../../constants/constants' @Component({ selector: 'app-subnet-params-model', @@ -12,6 +12,7 @@ export class SubnetParamsModelComponent implements OnInit { @Input() detailData: any; @Input() title: string; @Output() cancel = new EventEmitter<boolean>(); + @Output() paramsDataChange = new EventEmitter<any>(); transferFormItems = TRANSFRER_FORM_ITEMS; coreFormItems = CORE_FORM_ITEMS; @@ -32,8 +33,17 @@ export class SubnetParamsModelComponent implements OnInit { let areaList = [...this.detailData.an_coverage_area_ta_list]; this.areaList = areaList.map ( (item: any) => { let arr = item.split(';'); - item = arr.map( ite => { - let obj: any = {}; + item = arr.map( (ite, index) => { + let key: string; + if (!index) { + key = 'province'; + } else if (index === 1){ + key = 'city' + } else { + key = 'district' + } + const obj: any = {}; + obj.key = key; obj.selected = ite obj.options = [{name: ite, id: ite}] return obj @@ -42,8 +52,61 @@ export class SubnetParamsModelComponent implements OnInit { }) } - creatAreaList () { - + creatAreaList (): void { + let arr = [ + { + key: 'province', + selected: '', + options: [] + }, + { + key: 'city', + selected: '', + options: [] + }, + { + key: 'district', + selected: '', + options: [] + } + ] + this.areaList.push(arr) + } + + deleteAreaList (index: number): void { + this.areaList.splice(index,1); + } + + handleChange(area: any[], areaItem: any): void{ + if (areaItem.key === 'province' && areaItem.options.length <= 1) { + areaItem.options = ADDRESS; + } else if (areaItem.key === 'city' && areaItem.options.length <= 1) { + ADDRESS.forEach( item => { + if(item.name === area[0].selected) { + areaItem.options = item.city; + } + }) + }else if (areaItem.key === 'district' && areaItem.options.length <= 1) { + ADDRESS.forEach( (item: any) => { + item.city.forEach(city => { + if (city.name === area[1].selected) { + areaItem.options = city.county; + } + }) + }) + } + } + + handleChangeSelected(area: any[], areaItem: any) { + if (areaItem.key === 'province') { + area[1].selected = '' + area[1].options = []; + area[2].selected = ''; + area[2].options = []; + } else if (areaItem.key === 'city') { + area[2].selected = ''; + area[2].options = []; + } } handleCancel() { @@ -52,6 +115,21 @@ export class SubnetParamsModelComponent implements OnInit { } handleOk(): void { + let params: object; + if (this.title === '无线域') { + const an_coverage_area_ta_list: string[] = []; + this.areaList.forEach( item => { + let str: string = ''; + item.forEach( area => { + str += area.selected + ';'; + }) + an_coverage_area_ta_list.push(str.substring(0, str.length-1)); + }) + params = {...this.detailData, an_coverage_area_ta_list} + } else { + params = {...this.detailData} + } + this.paramsDataChange.emit(params) this.handleCancel() } |