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 @@