From 9bea71e4149ed5d19ba6892b3a6f26c3c69fdde3 Mon Sep 17 00:00:00 2001 From: yitaikarma Date: Mon, 20 Apr 2026 14:54:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B9=B3=E5=8F=B0=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91=EF=BC=8C=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E9=80=97=E5=8F=B7=E5=88=86=E9=9A=94=E5=80=BC=E7=9A=84?= =?UTF-8?q?=E7=8B=AC=E7=AB=8B=E5=88=86=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Copilot --- .../views/decision/designer/properties.vue | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/modeler/src/views/decision/designer/properties.vue b/modeler/src/views/decision/designer/properties.vue index 972b4b2..25a86f2 100644 --- a/modeler/src/views/decision/designer/properties.vue +++ b/modeler/src/views/decision/designer/properties.vue @@ -108,7 +108,8 @@ :placeholder="setting.description" size="small" style="width:100%;" /> + v-else-if="setting.paramKey === 'platforms'" + v-model:value="setting.defaultValue"> {{pl.description}} a[0] - b[0]) - // 只保留分组后的参数数组,丢弃 key .map(item => item[1]); + // 第三步:展开逗号分隔的 platforms 值 —— 每个平台拆成独立分组 + const expandedGroups: Array = []; + for (const group of rawGroups) { + const platformParam = group.find(p => p.paramKey === 'platforms'); + if (platformParam) { + const platformValues = String(platformParam.defaultValue ?? '') + .split(',') + .map(v => v.trim()) + .filter(Boolean); + if (platformValues.length > 1) { + // 每个平台值生成独立分组,其余参数保持一致 + for (const pv of platformValues) { + const newGroup = JSON.parse(JSON.stringify(group)) as ElementParameter[]; + const pp = newGroup.find(p => p.paramKey === 'platforms'); + if (pp) pp.defaultValue = pv; + expandedGroups.push(newGroup); + } + continue; + } + } + expandedGroups.push(group); + } + + groupedParameters.value = expandedGroups; multiableParameters.value = multiable === true && groupedParameters.value.length > 0; }; - // 获取平台Tab显示名称(优先使用下属平台名称) + // 获取平台Tab显示名称(优先取该分组的 platforms 参数值,其次下属平台名称) const getPlatformTabName = (index: number): string => { + const group = groupedParameters.value[index]; + if (group) { + const platformParam = group.find(p => p.paramKey === 'platforms'); + if (platformParam?.defaultValue) { + return String(platformParam.defaultValue); + } + } const sub = subPlatforms.value[index]; if (sub) { return sub.name || sub.description || `平台 ${index + 1}`;