From 5d35d950b3f39c7e955527ed412c6d147677985b Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 5 Sep 2024 17:29:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=BD=91=E5=85=83=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E7=89=B9=E6=AE=8ASMF-upfid=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/ne/neConfig/hooks/useConfigArray.ts | 65 +++++++++++++++++++ src/views/ne/neConfig/index.vue | 5 +- 2 files changed, 69 insertions(+), 1 deletion(-) 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%" >