diff --git a/src/views/ne/neConfig/hooks/useConfigArray.ts b/src/views/ne/neConfig/hooks/useConfigArray.ts index da74fd28..988a819c 100644 --- a/src/views/ne/neConfig/hooks/useConfigArray.ts +++ b/src/views/ne/neConfig/hooks/useConfigArray.ts @@ -67,6 +67,22 @@ export default function useConfigArray({ row[v.name] = Object.assign({}, v); } + // 特殊SMF-upfid选择 + if (neTypeSelect.value[0] === 'SMF' && Reflect.has(row, 'upfId')) { + const v = row.upfId.value; + if (typeof v === 'string') { + if (v === '') { + row.upfId.value = []; + } else if (v.includes(';')) { + row.upfId.value = v.split(';'); + } else if (v.includes(',')) { + row.upfId.value = v.split(','); + } else { + row.upfId.value = [v]; + } + } + } + modalState.from = row; modalState.type = 'arrayEdit'; modalState.title = `${treeState.selectNode.paramDisplay} ${from.title}`; @@ -87,6 +103,15 @@ export default function useConfigArray({ /**多列表编辑确认 */ function arrayEditOk(from: Record) { const loc = `${from['index']['value']}`; + + // 特殊SMF-upfid选择 + if (neTypeSelect.value[0] === 'SMF' && Reflect.has(from, 'upfId')) { + const v = from.upfId.value; + if (Array.isArray(v)) { + from.upfId.value = v.join(';'); + } + } + // 遍历提取属性和值 let data: Record = {}; for (const key in from) { @@ -187,6 +212,22 @@ export default function useConfigArray({ row[v.name] = Object.assign({}, v); } + // 特殊SMF-upfid选择 + if (neTypeSelect.value[0] === 'SMF' && Reflect.has(row, 'upfId')) { + const v = row.upfId.value; + if (typeof v === 'string') { + if (v === '') { + row.upfId.value = []; + } else if (v.includes(';')) { + row.upfId.value = v.split(';'); + } else if (v.includes(',')) { + row.upfId.value = v.split(','); + } else { + row.upfId.value = [v]; + } + } + } + modalState.from = row; modalState.type = 'arrayAdd'; modalState.title = `${treeState.selectNode.paramDisplay} ${from.title}`; @@ -197,6 +238,14 @@ export default function useConfigArray({ /**多列表新增单行确认 */ function arrayAddOk(from: Record) { + // 特殊SMF-upfid选择 + if (neTypeSelect.value[0] === 'SMF' && Reflect.has(from, 'upfId')) { + const v = from.upfId.value; + if (Array.isArray(v)) { + from.upfId.value = v.join(';'); + } + } + // 遍历提取属性和值 let data: Record = {}; for (const key in from) { @@ -321,6 +370,22 @@ export default function useConfigArray({ if ('bool' === row.type) { row.value = Boolean(row.value); } + + // 特殊SMF-upfid选择 + if (neTypeSelect.value[0] === 'SMF' && row.name === 'upfId') { + const v = row.value; + if (typeof v === 'string') { + if (v === '') { + row.value = []; + } else if (v.includes(';')) { + row.value = v.split(';'); + } else if (v.includes(',')) { + row.value = v.split(','); + } else { + row.value = [v]; + } + } + } } return ruleFrom; } diff --git a/src/views/ne/neConfig/index.vue b/src/views/ne/neConfig/index.vue index e9ef9ad8..405c85f7 100644 --- a/src/views/ne/neConfig/index.vue +++ b/src/views/ne/neConfig/index.vue @@ -589,7 +589,7 @@ onMounted(() => { @dblclick="listEdit(record)" > { v-model:value="modalState.from[item.name]['value']" :options="smfByUPFIdOptions" :disabled="['read-only', 'read', 'ro'].includes(item.access)" + :token-separators="[',', ';']" + mode="multiple" + :max-tag-count="5" :allow-clear="true" style="width: 100%" >