1.6 KiB
1.6 KiB
产品族 × 商品配置页完整融入 实施计划
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:executing-plans. Steps use checkbox (
- [ ]) syntax.
Goal: 「商品配置」页深度接入族:右树按族分组、配置勾选兄弟=挂族(双写兼容)、编辑表单可查看/切换族。
Tasks:
- 后端:
UpdateGoodDto.familyId?: number | null;update()校验族存在后写入;GOOD_INCLUDE.originGood加familyselect 并透出到GoodDetailDto(family: { familyId, familyCode, familyName } | null)。测试:update 改族/清族/非法族 404。 - 右树按族分组:
buildRightTree.mapCat内按og.familyId分桶:族节点(isFamily: true,label=编码 · 族名 (n))+ 未入族桶;og 节点parentId指向族节点(collectSiblings语义随之升级为同族);非 OG 节点模板分支渲染族节点。过滤/展开/计数逻辑不改(遍历式,天然兼容)。 - 配置弹窗挂族:
handleConfigSubmit在 createGood 前:主链接有族 →updateMembers(add: 勾选兄弟);无族且有勾选 →POST /product-families(族名=主链接名 3 段截断,originGoodIds=[主+勾选]);保留 mergedOriginGoodIds 双写(公开读路径兼容观察期)。 - 编辑表单族显示/切换:编辑弹窗显示
所属族(familyCode/familyName),可搜索切换(远程搜索族列表),保存时updateGood({ familyId })。 - 验证:api 全量 + admin vitest + vue-tsc/build + 冒烟;文档更新(structs/product-center);合并 develop。