summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usecaseui-portal/src/app/mock/json/slicing_task_auditInfo.json2
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component.html13
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component.less12
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component.ts59
-rw-r--r--usecaseui-portal/src/constants/constants.ts86
5 files changed, 118 insertions, 54 deletions
diff --git a/usecaseui-portal/src/app/mock/json/slicing_task_auditInfo.json b/usecaseui-portal/src/app/mock/json/slicing_task_auditInfo.json
index 07e6c98c..216a5497 100644
--- a/usecaseui-portal/src/app/mock/json/slicing_task_auditInfo.json
+++ b/usecaseui-portal/src/app/mock/json/slicing_task_auditInfo.json
@@ -70,7 +70,7 @@
"sliceProfile_TN_BH_sST": "test_sliceProfile_TN_BH _sST",
"sliceProfile_TN_BH_sNSSAI": "test_tn_service_snssai_01",
"sliceProfile_TN_resourceSharingLevel": "shared",
- "tn_connection_links": ["123213"],
+ "tn_connection_links": "123213",
"tn_connection_links_option": [{
"id": "123213",
"AN": "1an",
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 f9e5e28c..6e5b5b0e 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
@@ -57,7 +57,8 @@
</nz-input-group>
<!-- connection links table -->
<div *ngIf="item.title === 'Connection Links'">
- <nz-table #basicTable [nzData]="[{}]" nzShowPagination="false">
+ <nz-table #basicTable [nzData]="this.formData[item.options.key]" nzShowPagination="true"
+ nzPageSize="2">
<thead>
<tr>
<th *ngFor="let val of item.header" class="subnet_td">{{val.title}}</th>
@@ -65,14 +66,18 @@
</tr>
</thead>
<tbody>
- <tr *ngFor="let t of formData[item.options.key]">
+ <tr *ngFor="let t of basicTable.data">
<td *ngFor="let val of item.header" class="subnet_td">
{{t[val.key]}}
</td>
- <td nzShowCheckbox="true" [nzChecked]="t.checked"
+ <!-- <td nzShowCheckbox="true" [nzChecked]="t.checked"
(nzCheckedChange)="changeLinkCheck(t.id, $event)" [nzDisabled]="item.disable"
class="subnet_td">
- <!-- <input type="checkbox" ng-model="t.checked" ng-change="nzCheckedChange(t.id)"> -->
+ </td> -->
+ <td>
+ <input type="radio" name="linkcheck" [value]="t.id"
+ (click)="changeLinkCheck(t.id)" [checked]="t.checked"
+ [disabled]="item.disable" class="table_radio" />
</td>
</tr>
</tbody>
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component.less b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component.less
index a8674691..589a507e 100644
--- a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component.less
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/subnet-params-model/subnet-params-model.component.less
@@ -1,8 +1,18 @@
.subnet_params_container {
padding-left: 3%;
+ ::ng-deep .ant-table {
+ width: 600px !important;
+ overflow: scroll !important;
+ height: 200px;
+ }
+
+ .table_radio {
+ color: #EAEAEA;
+ }
+
.subnet_td {
- width: 100px;
+ min-width: 100px;
}
.subnet_params_area {
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 c878de59..792e8dce 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
@@ -56,12 +56,13 @@ export class SubnetParamsModelComponent implements OnInit {
this.CNkeyList = this.transferFormItems.find((item) => {return item.title === 'CN Endpoint'}).options.map((val) => {return val.key})
this.keyList = this.ANkeyList.concat(this.CNkeyList)
this.formData['tn_connection_links_option'].forEach((item) => { // add init selection status
- if (this.formData['tn_connection_links']!== null && this.formData['tn_connection_links'].indexOf(item.id) !== -1) {
+ if (typeof this.formData['tn_connection_links'] !== 'undefined' && this.formData['tn_connection_links'] !== '' && this.formData['tn_connection_links'] !== null && item.id === this.formData['tn_connection_links']) {
item.checked = true
} else {
item.checked = false
}
})
+ console.log(this.formData['tn_connection_links_option'])
this.judgeTn() // init judge
}
// If the endpoint related parameters from the back end are incomplete, delete the endpoint item
@@ -98,10 +99,10 @@ export class SubnetParamsModelComponent implements OnInit {
item.checked = false
})
this.formData['tn_connection_links'] = null
+ this.notPassPara = ['tn_connection_links', 'tn_connection_links_option']
this.transferFormItems.forEach((item) => {
if (item.title === 'Connection Links') {
item.disable = true
- this.notPassPara = ['tn_connection_links', 'tn_connection_links_option']
} else if (item.title === 'AN Endpoint' || item.title === 'CN Endpoint') {
item.required = true
item.disable = false
@@ -112,15 +113,16 @@ export class SubnetParamsModelComponent implements OnInit {
if (item.title === 'Connection Links') {
item.disable = false
} else if (item.title === 'AN Endpoint' || item.title === 'CN Endpoint') {
- if (this.formData['tn_connection_links']!==null && this.formData['tn_connection_links'].length !== 0) {
+ if (typeof this.formData['tn_connection_links'] !== 'undefined' && this.formData['tn_connection_links']!==null && this.formData['tn_connection_links'] !== '') {
item.disable = true
item.required = false
this.notPassPara = ['tn_connection_links_option']
this.notPassPara = this.notPassPara.concat(this.ANkeyList, this.CNkeyList)
- console.log('not', this.notPassPara)
- } else if (this.formData['tn_connection_links']!==null && this.formData['tn_connection_links'].length === 0) {
+ } else { //:todo
+ this.formData['tn_connection_links'] = ''
item.disable = false
item.required = true
+ this.notPassPara = ['tn_connection_links_option']
}
}
})
@@ -158,12 +160,16 @@ export class SubnetParamsModelComponent implements OnInit {
}
}
- changeLinkCheck (id: string, e: boolean) : void{ // update the selection state
- this.formData['tn_connection_links_option'].find((item) => {
- return item.id === id
- }).checked = e
- const checkedList = this.formData['tn_connection_links_option'].filter((item) => {return item.checked === true})
- this.formData['tn_connection_links'] = checkedList.map((item) => {return item.id}) // get the selected id
+ changeLinkCheck (id: string) : void{ // update the selection state
+ this.formData['tn_connection_links_option'].forEach((item) => {
+ if (item.id === id) {
+ item.checked = true
+ } else {
+ item.checked = false
+ }
+ })
+ console.log(this.formData['tn_connection_links_option'])
+ this.formData['tn_connection_links'] = id // get the selected id
this.judgeTn()
}
@@ -386,17 +392,26 @@ export class SubnetParamsModelComponent implements OnInit {
} else {
params = {...this.formData};
}
- // Verify that each item exclude endpoint is not empty, include special handeling of area_list
- let checkParams = params
- if (this.title === 'An' || this.title === 'Cn') {
- checkParams = this.coreFormItems.filter((item) => {
- return item.required === true
- })
- } else if (this.title = 'Tn') {
- checkParams = this.transferFormItems.filter((item) => {
- return item.required === true
- })
- }
+ // Verify that each item exclude endpoint is not empty, include special handeling of area_list
+ let checkParams : object= params
+ let requireKeyList :string[] = []
+ let targetFormItems : any[] = []
+ if (this.title === 'An' || this.title === 'Cn') {
+ targetFormItems = this.coreFormItems
+ } else if (this.title = 'Tn') {
+ targetFormItems = this.transferFormItems
+ }
+ for (let item of targetFormItems) {
+ if (typeof item.required !== 'undefined' && item.required) {
+ if (typeof item.type !== 'undefined' && item.type !== 'endpoint')
+ {
+ requireKeyList.push(item.key)
+ }
+ }
+ }
+ console.log(requireKeyList)
+ checkParams = this.Util.pick(params, requireKeyList)
+ console.log(checkParams)
if (this.Util.deepCheck(checkParams) && this.areaCheckBeforeSubmit(params)) {
this.paramsDataChange.emit(params);
this.noPassParaChange.emit(this.notPassPara)
diff --git a/usecaseui-portal/src/constants/constants.ts b/usecaseui-portal/src/constants/constants.ts
index ab40534b..fecbcda8 100644
--- a/usecaseui-portal/src/constants/constants.ts
+++ b/usecaseui-portal/src/constants/constants.ts
@@ -134,27 +134,31 @@ export const TRANSFRER_FORM_ITEMS = [
title: 'S-NSSAI',
key: 'sliceProfile_TN_BH_sNSSAI',
required: true,
+ type: 'input'
},
{
title: 'Latency (ms)',
key: 'tn_bh_latency',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'Jitter',
key: 'sliceProfile_TN_BH_jitte',
required: false,
+ type: 'input'
},
{
title: 'MaxBandwidth',
key: 'tn_bh_bandwidth',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'Resource Sharing Level', // select
key: 'sliceProfile_TN_resourceSharingLevel', // :new
required: true,
- type: '',
+ type: 'radio',
options: [
{
title: 'Shared',
@@ -170,6 +174,7 @@ export const TRANSFRER_FORM_ITEMS = [
title: 'Connection Links',// table
key: 'tn_connection_links', // :new
required: false, // combined
+ type: 'table',
options: {
title: 'connection_links_option',
key: 'tn_connection_links_option'
@@ -201,6 +206,7 @@ export const TRANSFRER_FORM_ITEMS = [
{
title:'AN Endpoint', // input group
key:"an_Endpoint",
+ type: 'endpoint',
required: false,
disable: false,
options: [
@@ -224,6 +230,7 @@ export const TRANSFRER_FORM_ITEMS = [
{
title:'CN Endpoint',
key:"cn_Endpoint",
+ type: 'endpoint',
required: false,
disable: false,
options: [
@@ -251,12 +258,14 @@ export const CORE_FORM_ITEMS = {
{
title: 'S-NSSAI',
key: 'sliceProfile_AN_sNSSAI',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'Resource Sharing Level',
key: 'sliceProfile_AN_resourceSharingLevel',
required: true,
+ type: 'radio',
options: [
{
title: 'Shared',
@@ -272,6 +281,7 @@ export const CORE_FORM_ITEMS = {
title: 'Mobility',
key: 'sliceProfile_AN_uEMobilityLevel',
required: true,
+ type: 'select',
options: [
{
title: 'Stationary',
@@ -294,69 +304,82 @@ export const CORE_FORM_ITEMS = {
{
title: 'Latency (ms)',
key: 'an_latency',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'Max Number of PUD Session',
key: 'sliceProfile_AN_maxNumberofPDUSession',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'Max Number of UEs',
key: 'sliceProfile_AN_maxNumberofUEs',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'Activity Factor (%)',
key: 'sliceProfile_AN_activityFactor',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'User Downlink Experience Rate(Mbps)',
key: 'sliceProfile_AN_expDataRateDL',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'User Uplink Experience Rate(Mbps)',
key: 'sliceProfile_AN_expDataRateUL',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'Downlink Regional Traffic Density(Mbps/km )',
key: 'sliceProfile_AN_areaTrafficCapDL',
- required: false
+ required: false,
+ type: 'input'
},
{
title: 'Uplink Regional Traffic Density(Mbps/km )',
key: 'sliceProfile_AN_areaTrafficCapUL',
- required: false
+ required: false,
+ type: 'input'
},
{
title: 'Script Name',
key: 'an_script_name',
- required: false
+ required: false,
+ type: 'input'
},
{
title: 'Overall User Density',
key: 'sliceProfile_AN_overallUserDensity',
- required: false
+ required: false,
+ type: 'input'
},
{
title: 'Coverage Area Ta List',
key: 'an_coverage_area_ta_list',
- required: true
+ required: true,
+ type: 'area'
}
],
"Cn": [
{
title: 'S-NSSAI',
key: 'cn_service_snssai',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'Resource Sharing Level',
key: 'cn_resource_sharing_level',
required: true,
+ type: 'radio',
options: [
{
title: 'Shared',
@@ -372,6 +395,7 @@ export const CORE_FORM_ITEMS = {
title: 'Mobility',
key: 'cn_ue_mobility_level',
required: true,
+ type: 'select',
options: [
{
title: 'Stationary',
@@ -394,52 +418,62 @@ export const CORE_FORM_ITEMS = {
{
title: 'Latency (ms)',
key: 'cn_latency',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'Max Number of UEs',
key: 'cn_max_number_of_ues',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'Activity Factor (%)',
key: 'cn_activity_factor',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'User Downlink Experience Rate(Mbps)',
key: 'cn_exp_data_rate_dl',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'User Uplink Experience Rate(Mbps)',
key: 'cn_exp_data_rate_ul',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'Downlink Regional Traffic Density(Mbps/km )',
key: 'cn_area_traffic_cap_dl',
- required: false
+ required: false,
+ type: 'input'
},
{
title: 'Uplink Regional Traffic Density(Mbps/km )',
key: 'cn_area_traffic_cap_ul',
- required: false
+ required: false,
+ type: 'input'
},
{
title: 'Script Name',
key: 'cn_script_name',
- required: false
+ required: false,
+ type: 'input'
},
{
title: 'Max Number of PUD Session',
key: 'sliceProfile_CN_maxNumberofPDUSession',
- required: true
+ required: true,
+ type: 'input'
},
{
title: 'OverAll User Density',
key: 'sliceProfile_CN_overallUserDensity',
- required: false
+ required: false,
+ type: 'input'
},
// {
// title: 'ip-address',