feat(goods): per-member detail tabs in edit dialog; revert right-tree to raw names; split configured/family badges; add GET /origin-goods/:id

This commit is contained in:
yeuimu
2026-08-28 16:55:07 +08:00
parent 753b554413
commit f28f51155f
7 changed files with 281 additions and 151 deletions
+15 -6
View File
@@ -131,17 +131,26 @@ pnpm --filter @inkreach/api backfill:product-families
- 商品配置页布局不变(左树=官网商品、右树=原产品库分类平铺);配置弹窗保持原「合并同名」
勾选流程,提交时**静默**把勾选链接与主链接归入同一族(无族自动成族);族内**不区分主次**
(成员列表无设为主链接按钮,主链接仅作为详情数据源的内部实现);
- 编辑弹窗的「**关联原产品**」区块:显示族编码与链接数,成员行原始链接名便于核对)
可**逐个展开**——查看成员详情(SDS ID / 链接价格 / SKU 数 / 物流备注 / 工艺位置 / 仓库)、
- 编辑弹窗的「**关联原产品**」区块:显示族编码与链接数,成员行显示**原始链接名**便于核对)
可**逐个展开**——查看成员详情(SDS ID / 链接价格 / SKU 数 / 物流备注 / 工艺位置 / 仓库)、
**配置该链接的标签**(保存后人工接管;「恢复自动」回到按名称派生)、
**改价格**(尺码 × 颜色 → 价格表格,写入族价格覆盖,人工格子可「还原」回推导价)
成员行支持 `移除出族`,底部搜索添加成员——操作直接作用于族(并集与价格矩阵随重算更新);
- 编辑弹窗 SKU 表含 **物流 / 工艺 / 印花数量** 维度列(价格由
`物流 × 工艺 × 印花数量 × 尺码 × 颜色` 决定);
**改价格**(尺码 × 颜色 → 价格表格,写入族价格覆盖,人工格子可「还原」回推导价)
**查看成员自己的详情**(商品详情 / 尺码表 / 包装规格 / SKU 四个页签,懒加载
`GET /origin-goods/:id`,SKU 表带 物流/工艺/印花数量 维度列;未同步时可在面板内直接同步);
SDS 商品不再在弹窗底部展示单一链接的旧详情区(自定义商品的编辑表单仍保留在底部);
- 编辑弹窗商品「名称」预填解析后的「品名 型号」,保存即采用解析名;右侧原产品库与配置弹窗
始终显示**原始链接名**
- 右树徽标语义:**已配置 N**(绿,已配置为官网商品)/ **成族**(蓝,已归族但尚未配置)/
**未配置**(橙);「定位到官网商品」仅在已配置的链接上出现(按 主链接 → 同族 → 旧副源
顺序定位并高亮),「配置」在未配置的链接上出现;
- 人工改价/自动成族等族管理 API`/product-families/*`)保留,供脚本或后续界面使用;
- 页面组件化:`GoodsView.vue` 拆出 `components/` 下的 GoodsEditDialog(编辑弹窗)、
GoodsConfigDialog(配置弹窗)、CustomGoodDialog(自定义商品)、TagFilterPopover(标签筛选弹层)。
> 注意:同一族的多条链接(如 单面印花/双面印花)如果各自都点了一次「配置」,会产生多个
> 解析后同名的官网商品(名称相同但关联链接不同)——族合并的预期用法是每族配置一个商品,
> 其余链接保持为族成员即可;重复的可手动删除。
**链接级标签(自动派生 + 人工修正,2026-08 规则改版)**
- 标签与**产品链接一一对应**(每条链接因印花数量/工艺/物流不同而价格不同),