备货采购(二):PDD 商品详情创建入口与任务类型展示 #136

Closed
opened 2026-08-28 17:33:31 +08:00 by ila · 4 comments
Owner

所属与来源

  • 关联工单:#135 备货采购模型与创建路径(前置)、#127 采购规则落库、#116 门禁与校验分级。
  • 来源:用户于 2026-08-28 提出在 PDD 商品模块创建备货采购,并要求「流程和实现尽量简单些,这样后期也可以更新」。
  • 类型:Admin / 备货采购创建入口与任务类型展示。
  • 设计证据:新增一个创建表单与列表/详情的类型标识,属现有界面的小范围扩展,可复用现有商品详情与采购任务列表规范,提供标注截图即可,不需要完整原型。设计证据经用户确认后方可编写生产代码。
  • 工具回退说明:本工单通过 Gitea API 创建;当前会话未提供 Gitea MCP 工具,按 AGENTS.md「Gitea 交互与工单最小读取」记录回退原因。

目标

  1. 在 PDD 商品详情提供「创建备货采购」入口,一屏内完成创建。
  2. 采购任务列表与详情能区分订单采购与备货采购。
  3. 界面不引入库存、批次、关联订单等尚未实现的概念。

非目标

  • 不实现库存、入库、扣减与订单关联(#135 已明确排除)。
  • 不做批量创建、不做备货任务重试入口。
  • 不新增顶级导航模块。
  • 不修改既有 SYB 订单采购的创建流程与界面。
  • 不实现支付相关入口。

实施方案

一、创建入口

  1. 位置:PDD 商品详情页,新增「创建备货采购」按钮。不新增顶级菜单。
  2. 仅在商品 status = active 且已有采集到的规格数据时可用;不可用时不渲染按钮,而非渲染后禁用。
  3. 表单字段(一屏内完成):
    • 颜色:下拉,取值来自该商品已采集的颜色列表,非自由输入;
    • 尺码:下拉,同上;
    • 数量:正整数,沿用既有数量校验口径;
    • 价格上下限:以该颜色的采集价格作为默认值,允许修改;
    • 执行模式:沿用既有 executionMode 选择方式,不为备货单独裁剪。
  4. 提交调用 #135 的创建接口,携带幂等 requestId;失败时展示服务端返回的可读错误,不在前端拼接原因。
  5. 创建成功后跳转到该采购任务详情。

二、类型区分

  1. 采购任务列表新增类型标识(订单采购 / 备货采购),并支持按类型筛选。
  2. 采购任务详情显示类型;备货任务的虾皮订单相关字段为空,界面应显示占位而非空白或报错。
  3. 备货任务详情不显示重试入口——#135 已明确备货任务不支持重试。

三、文案边界

  1. 备货采购的界面文案需明确「不参与库存扣减与订单关联」,避免用户误以为系统会自动把备货与后续订单对上。该提示仅一行,不追加引导页与说明块。
  2. 不使用「库存」「入库」「批次」等尚未实现的词汇。

安全边界

  • 创建采购任务属可能导向真实下单的操作,沿用既有的高风险确认口径。
  • 不新增任何支付入口。
  • 权限沿用既有采购任务创建的权限点,不新增也不放宽。

验收标准

  • PDD 商品详情可创建备货采购,颜色与尺码取自该商品已采集规格,非自由输入。
  • 商品非 active 或无规格数据时不渲染入口。
  • 价格上下限默认取所选颜色的采集价格,可修改。
  • 创建成功后跳转到任务详情;失败时展示服务端可读错误。
  • 采购任务列表可区分并筛选两种类型。
  • 备货任务详情中虾皮订单相关字段显示占位,不报错、不显示重试入口。
  • 界面文案明确不参与库存扣减与订单关联,且未出现「库存」「入库」「批次」等未实现概念。
  • 既有 SYB 订单采购的创建流程与界面无任何变化。
  • 设计证据经用户确认后才进入生产代码。

验证方式

  • 前端构建与既有 Web 测试通过。
  • 手工验证:创建、失败提示、类型筛选、备货任务详情占位显示四条路径。
  • 与 #135 联调:确认前端未绕过服务端任何校验。
  • 未覆盖的浏览器与异常路径如实回写。

依赖、并行与风险

  • 前置依赖 #135:接口与字段稳定后再实施,避免返工。
  • 建议排在 #129~#134 之后,与 #135 顺序衔接。
  • 风险:用户误把备货采购当作有库存管理的功能。缓解:第 9 项的文案边界与第 10 项的词汇约束。
  • 回退:还原本工单提交即可;#135 的接口与数据不受影响。

文档影响

  • Wiki Business-Rules-and-Glossary:备货采购的操作入口与界面边界(与 #135 的定义合并说明,避免重复)。
  • 若 #135 已完整记录业务定义,本工单可仅补充入口位置说明;实施时确认并在工单说明。
  • 按 Wiki-first 门禁:如需更新,先改线上页面并回读 revision,再执行一轮 sync 与一轮 sync --check,把页面与 revision 写回本工单。

状态

待实施(前置 #135;界面需先取得设计证据)。

## 所属与来源 - 关联工单:#135 备货采购模型与创建路径(前置)、#127 采购规则落库、#116 门禁与校验分级。 - 来源:用户于 2026-08-28 提出在 PDD 商品模块创建备货采购,并要求「流程和实现尽量简单些,这样后期也可以更新」。 - 类型:Admin / 备货采购创建入口与任务类型展示。 - 设计证据:新增一个创建表单与列表/详情的类型标识,属现有界面的小范围扩展,可复用现有商品详情与采购任务列表规范,提供标注截图即可,不需要完整原型。**设计证据经用户确认后方可编写生产代码。** - 工具回退说明:本工单通过 Gitea API 创建;当前会话未提供 Gitea MCP 工具,按 `AGENTS.md`「Gitea 交互与工单最小读取」记录回退原因。 ## 目标 1. 在 PDD 商品详情提供「创建备货采购」入口,一屏内完成创建。 2. 采购任务列表与详情能区分订单采购与备货采购。 3. 界面不引入库存、批次、关联订单等尚未实现的概念。 ## 非目标 - 不实现库存、入库、扣减与订单关联(#135 已明确排除)。 - 不做批量创建、不做备货任务重试入口。 - 不新增顶级导航模块。 - 不修改既有 SYB 订单采购的创建流程与界面。 - 不实现支付相关入口。 ## 实施方案 ### 一、创建入口 1. 位置:PDD 商品详情页,新增「创建备货采购」按钮。**不新增顶级菜单**。 2. 仅在商品 `status = active` 且已有采集到的规格数据时可用;不可用时不渲染按钮,而非渲染后禁用。 3. 表单字段(一屏内完成): - 颜色:下拉,取值来自该商品**已采集的颜色列表**,非自由输入; - 尺码:下拉,同上; - 数量:正整数,沿用既有数量校验口径; - 价格上下限:以该颜色的采集价格作为默认值,允许修改; - 执行模式:沿用既有 `executionMode` 选择方式,不为备货单独裁剪。 4. 提交调用 #135 的创建接口,携带幂等 requestId;失败时展示服务端返回的可读错误,不在前端拼接原因。 5. 创建成功后跳转到该采购任务详情。 ### 二、类型区分 6. 采购任务列表新增类型标识(订单采购 / 备货采购),并支持按类型筛选。 7. 采购任务详情显示类型;备货任务的虾皮订单相关字段为空,界面应显示占位而非空白或报错。 8. 备货任务详情**不显示**重试入口——#135 已明确备货任务不支持重试。 ### 三、文案边界 9. 备货采购的界面文案需明确「不参与库存扣减与订单关联」,避免用户误以为系统会自动把备货与后续订单对上。该提示仅一行,不追加引导页与说明块。 10. 不使用「库存」「入库」「批次」等尚未实现的词汇。 ## 安全边界 - 创建采购任务属可能导向真实下单的操作,沿用既有的高风险确认口径。 - 不新增任何支付入口。 - 权限沿用既有采购任务创建的权限点,不新增也不放宽。 ## 验收标准 - [ ] PDD 商品详情可创建备货采购,颜色与尺码取自该商品已采集规格,非自由输入。 - [ ] 商品非 `active` 或无规格数据时不渲染入口。 - [ ] 价格上下限默认取所选颜色的采集价格,可修改。 - [ ] 创建成功后跳转到任务详情;失败时展示服务端可读错误。 - [ ] 采购任务列表可区分并筛选两种类型。 - [ ] 备货任务详情中虾皮订单相关字段显示占位,不报错、不显示重试入口。 - [ ] 界面文案明确不参与库存扣减与订单关联,且未出现「库存」「入库」「批次」等未实现概念。 - [ ] 既有 SYB 订单采购的创建流程与界面无任何变化。 - [ ] 设计证据经用户确认后才进入生产代码。 ## 验证方式 - 前端构建与既有 Web 测试通过。 - 手工验证:创建、失败提示、类型筛选、备货任务详情占位显示四条路径。 - 与 #135 联调:确认前端未绕过服务端任何校验。 - 未覆盖的浏览器与异常路径如实回写。 ## 依赖、并行与风险 - **前置依赖 #135**:接口与字段稳定后再实施,避免返工。 - 建议排在 #129~#134 之后,与 #135 顺序衔接。 - 风险:用户误把备货采购当作有库存管理的功能。缓解:第 9 项的文案边界与第 10 项的词汇约束。 - 回退:还原本工单提交即可;#135 的接口与数据不受影响。 ## 文档影响 - Wiki `Business-Rules-and-Glossary`:备货采购的操作入口与界面边界(与 #135 的定义合并说明,避免重复)。 - 若 #135 已完整记录业务定义,本工单可仅补充入口位置说明;实施时确认并在工单说明。 - 按 Wiki-first 门禁:如需更新,先改线上页面并回读 revision,再执行一轮 `sync` 与一轮 `sync --check`,把页面与 revision 写回本工单。 ## 状态 待实施(前置 #135;界面需先取得设计证据)。
Author
Owner

设计证据待用户确认(v1)

Gitea MCP 在当前会话没有提供可调用接口,本次按仓库规则回退 Gitea API 上传附件并评论。

#136 备货采购界面标注截图 v1

  • 版本:v1,2026-08-28;识别方式:图片右上角“待审核 · v1”。
  • 覆盖:PDD 商品详情入口及隐藏条件;一屏创建表单;颜色切换后的价格默认值;提交 loading/字段错误/服务端错误;采购任务类型筛选与标签;备货详情占位;备货任务无重试、重新采购、SYB 回填入口;加载/空/失败/权限边界。
  • 复用现有 PDD 商品详情抽屉、Element Plus 表单、采购任务列表/详情,不新增顶级菜单。
  • 表单采用可见标签、字段就近错误、提交 loading 与禁用,避免重复提交;该取舍参考现有页面规范与 UI/UX 检查结果,不引入新视觉体系。
  • 文案按工单验收保留一行:“备货采购不参与库存扣减与订单关联。”除该已确认风险提示外,不新增库存、入库、批次概念。

当前未编写 #136 生产代码。请用户确认本截图覆盖范围后再实施。

## 设计证据待用户确认(v1) Gitea MCP 在当前会话没有提供可调用接口,本次按仓库规则回退 Gitea API 上传附件并评论。 ![#136 备货采购界面标注截图 v1](https://git.ilapage.cn/attachments/d368c7c1-c242-49c6-a356-8da4d93cd16c) - 版本:v1,2026-08-28;识别方式:图片右上角“待审核 · v1”。 - 覆盖:PDD 商品详情入口及隐藏条件;一屏创建表单;颜色切换后的价格默认值;提交 loading/字段错误/服务端错误;采购任务类型筛选与标签;备货详情占位;备货任务无重试、重新采购、SYB 回填入口;加载/空/失败/权限边界。 - 复用现有 PDD 商品详情抽屉、Element Plus 表单、采购任务列表/详情,不新增顶级菜单。 - 表单采用可见标签、字段就近错误、提交 loading 与禁用,避免重复提交;该取舍参考现有页面规范与 UI/UX 检查结果,不引入新视觉体系。 - 文案按工单验收保留一行:“备货采购不参与库存扣减与订单关联。”除该已确认风险提示外,不新增库存、入库、批次概念。 当前未编写 #136 生产代码。请用户确认本截图覆盖范围后再实施。
Author
Owner

设计确认

用户于 2026-08-28 明确确认 #136 v1 标注原型。

  • 设计证据:https://git.ilapage.cn/attachments/d368c7c1-c242-49c6-a356-8da4d93cd16c
  • 版本识别:图片右上角“工单 #136 · v1”
  • 确认人:需求方用户
  • 确认时间:2026-08-28(Asia/Shanghai)
  • 确认覆盖:PDD 商品详情入口与启用条件、单屏创建表单及状态、颜色切换价格默认值、成功跳转/服务端错误、采购任务类型筛选/标签/详情占位、备货不可重试及文案/权限边界。

设计门禁已通过,开始按 v1 实施生产代码。本会话未提供 Gitea MCP,按仓库规则回退 Gitea API。

## 设计确认 用户于 2026-08-28 明确确认 **#136 v1 标注原型**。 - 设计证据:https://git.ilapage.cn/attachments/d368c7c1-c242-49c6-a356-8da4d93cd16c - 版本识别:图片右上角“工单 #136 · v1” - 确认人:需求方用户 - 确认时间:2026-08-28(Asia/Shanghai) - 确认覆盖:PDD 商品详情入口与启用条件、单屏创建表单及状态、颜色切换价格默认值、成功跳转/服务端错误、采购任务类型筛选/标签/详情占位、备货不可重试及文案/权限边界。 设计门禁已通过,开始按 v1 实施生产代码。本会话未提供 Gitea MCP,按仓库规则回退 Gitea API。
Author
Owner

实施完成,待验收

已按用户确认的 #136 v1 完成实现并推送。

实现

  • PDD 商品详情仅在商品为 active、存在可选且有价格的颜色(存在尺码维度时还须有可选尺码),且当前角色为管理员/采购员时显示“创建备货采购”。
  • 创建弹窗只允许选择最新采集档案中的可选颜色/尺码;数量默认 1;支持正式/演练;颜色切换同步刷新已采集价格作为上下限默认值,提交前可编辑。
  • 创建请求使用 UUID requestId,服务端错误在弹窗内展示;成功后跳转并打开对应采购任务详情。
  • 采购管理增加“订单采购 / 备货采购”筛选、列表类型标签和详情类型;备货任务的 SYB/虾皮字段显示“—”,隐藏 SYB 回填与重新采购入口,失败任务不提供重试。
  • 保留确认文案:“备货采购不参与库存扣减与订单关联。”
  • 未增加库存/入库/批次概念,未增加支付入口。

验证

  • 定向 ESLint:通过。
  • pnpm build:prod:通过;仅有仓库既有 CSS 与大分块警告。
  • .\scripts\verify.ps1 -Component all:通过(服务端测试/构建、Web 全量 lint/构建、Android 单元测试/debug APK)。
  • 已在本地登录态页面只读核验 PDD 商品详情弹窗及采购管理类型筛选/列;验证停在“创建任务”之前,未创建采购任务、订单或支付。
  • 真正提交备货任务及后续真机执行未做,需验收时另行明确授权。

文档与提交

  • Wiki:Business-Rules-and-Glossary,在线回读 revision 230c6c7c011843c87b64b9a8bca5f17718c2bede。
  • python dev_scripts/harness.py sync:通过。
  • python dev_scripts/harness.py sync --check:通过。
  • 提交:9916ed5(已推送到 origin/main)。
  • 当前 Gitea MCP 已恢复可用,本条使用 MCP 回写;此前设计证据与确认评论按当时记录经 API 回退。

工单保持开启,等待用户验收。

## 实施完成,待验收 已按用户确认的 #136 v1 完成实现并推送。 ### 实现 - PDD 商品详情仅在商品为 `active`、存在可选且有价格的颜色(存在尺码维度时还须有可选尺码),且当前角色为管理员/采购员时显示“创建备货采购”。 - 创建弹窗只允许选择最新采集档案中的可选颜色/尺码;数量默认 1;支持正式/演练;颜色切换同步刷新已采集价格作为上下限默认值,提交前可编辑。 - 创建请求使用 UUID `requestId`,服务端错误在弹窗内展示;成功后跳转并打开对应采购任务详情。 - 采购管理增加“订单采购 / 备货采购”筛选、列表类型标签和详情类型;备货任务的 SYB/虾皮字段显示“—”,隐藏 SYB 回填与重新采购入口,失败任务不提供重试。 - 保留确认文案:“备货采购不参与库存扣减与订单关联。” - 未增加库存/入库/批次概念,未增加支付入口。 ### 验证 - 定向 ESLint:通过。 - `pnpm build:prod`:通过;仅有仓库既有 CSS 与大分块警告。 - `.\scripts\verify.ps1 -Component all`:通过(服务端测试/构建、Web 全量 lint/构建、Android 单元测试/debug APK)。 - 已在本地登录态页面只读核验 PDD 商品详情弹窗及采购管理类型筛选/列;验证停在“创建任务”之前,未创建采购任务、订单或支付。 - 真正提交备货任务及后续真机执行未做,需验收时另行明确授权。 ### 文档与提交 - Wiki:`Business-Rules-and-Glossary`,在线回读 revision `230c6c7c011843c87b64b9a8bca5f17718c2bede`。 - `python dev_scripts/harness.py sync`:通过。 - `python dev_scripts/harness.py sync --check`:通过。 - 提交:`9916ed5`(已推送到 `origin/main`)。 - 当前 Gitea MCP 已恢复可用,本条使用 MCP 回写;此前设计证据与确认评论按当时记录经 API 回退。 工单保持开启,等待用户验收。
Author
Owner

验收通过

用户于 2026-08-28 明确确认“#136 通过验收”。验收结论已记录,关闭本单。

  • 验收提交:9916ed5
  • 本次仅记录验收,不重复同步 Wiki;实现阶段已完成长期文档闭环,且验收未引入新的长期事实。
  • 本单未声明 Epic/MVP 父工单,因此无父工单状态需要同步。
## 验收通过 用户于 2026-08-28 明确确认“#136 通过验收”。验收结论已记录,关闭本单。 - 验收提交:`9916ed5` - 本次仅记录验收,不重复同步 Wiki;实现阶段已完成长期文档闭环,且验收未引入新的长期事实。 - 本单未声明 Epic/MVP 父工单,因此无父工单状态需要同步。
ila closed this issue 2026-08-28 21:50:31 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#136