From f0f8f489982a314b92b343bf5583478910c46be4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=98=8A=E5=A4=A9?= <442384644@qq.com> Date: Fri, 16 Oct 2026 15:15:40 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=95=86=E5=93=81=E7=BC=96=E8=BE=91):=20?= =?UTF-8?q?=E5=A4=9A=E8=A7=84=E6=A0=BC=E7=BC=96=E8=BE=91=E5=9B=9E=E6=98=BE?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 实物编辑 items 兼容中台 {name,values} 与采集 {value,detail} 双轨格式 - 网盘 restoreManySku 形参改名避免遮蔽同名 ref(原规格编辑区拿不到数据、保存 items 提交空数组);单规格值 SKU 也回显 - add/:id? 同路由复用实例,监听 editId 变化重载编辑数据或重置新增表单,清除编辑残留 --- .../src/pages/plugin/normal/add/index.vue | 7 +- .../src/pages/plugin/virtual/product/Add.vue | 78 +++++++++++++++++-- 2 files changed, 76 insertions(+), 9 deletions(-) diff --git a/frontend/admin/src/pages/plugin/normal/add/index.vue b/frontend/admin/src/pages/plugin/normal/add/index.vue index a6d2307d2..26938f9ea 100644 --- a/frontend/admin/src/pages/plugin/normal/add/index.vue +++ b/frontend/admin/src/pages/plugin/normal/add/index.vue @@ -755,11 +755,12 @@ function getUploadType() { function infoData(data, isCopy) { let cate_id = data.cate_id.map(Number); let label_id = data.label_id.map(Number); - // 兼容两种 items 来源:编辑回填 detail 为字符串数组;采集回填 detail 为 [{value, pic}] 对象数组,规格名统一在 value 键 + // 兼容两种 items 来源:中台编辑回填为 {name, values}(规格名在 name、规格值为字符串数组); + // 采集回填为 {value, detail}(detail 为字符串数组或 [{value, pic}] 对象数组),规格名统一归一到 value 键 attrs.value = Array.isArray(data.items) ? data.items.map((item) => ({ - value: item.value, - detail: (item.detail ?? []).map((v) => + value: item.value ?? item.name, + detail: (item.detail ?? item.values ?? []).map((v) => typeof v === 'string' ? { value: v, pic: '' } : { value: v.value ?? '', pic: v.pic ?? '' }, ), add_pic: item.add_pic ?? 0, diff --git a/frontend/admin/src/pages/plugin/virtual/product/Add.vue b/frontend/admin/src/pages/plugin/virtual/product/Add.vue index a80e1ec6e..b04c28cf8 100644 --- a/frontend/admin/src/pages/plugin/virtual/product/Add.vue +++ b/frontend/admin/src/pages/plugin/virtual/product/Add.vue @@ -210,7 +210,7 @@