Admin:顺运宝下一步支持单条创建采购任务 #106

Closed
opened 2026-08-10 16:28:10 +08:00 by ila · 3 comments
Owner

基本信息

  • 类型:需求
  • 父级大工单:#14
  • 所属 MVP / 版本:#15 Admin 四模块可用闭环
  • 阶段:顺运宝货运单与采购任务

要解决什么

顺运宝列表“下一步”按钮目前所有阶段都只打开处理详情;规格匹配完成后按钮仍显示“核对规格”,采购员必须再勾选该行并回到顶部打开创建采购任务弹窗,流程不连续。

做什么 / 不做什么

  • 做:让“下一步”文字准确对应当前阶段;可创建采购任务时,点击行内按钮自动把当前行带入现有采购确认弹窗;已有未结束任务时提供查看采集采购页入口。
  • 不做:不在一次点击后直接创建任务;不跳过客户端、执行模式、人民币价格上限或真实下单确认;不改变真实下单默认关闭、安全门禁、数据库结构和 Client 接口。

怎么做

  • 修改 admin/service/syb.go 的阶段动作文字:可采购显示“创建采购任务”,已有任务显示“查看采购任务”,其余阶段保持与详情流程一致。
  • 修改 admin/templates/syb/list.html:按阶段输出处理详情、单条采购确认或采集采购查看动作的数据属性。
  • 修改 admin/static/js/app.js:复用现有采购确认弹窗,单条入口只选择并展示对应可采购行;保留顶部批量创建能力;提交时继续使用现有真实下单确认逻辑。
  • 补充 service/页面测试,并同步 docs/admin/05-ui-specification.md。
  • 服务端继续通过现有 CreatePurchaseTasksWithOptions 重新校验规格映射、数量、价格、客户端权限、执行模式和幂等性。

验收标准

  • 各处理阶段均显示准确的下一步文字。
  • 可采购行点击“创建采购任务”后,确认弹窗只展示并提交当前明细,默认执行模式仍为采购演练。
  • 单条创建仍强制选择可见客户端并确认人民币价格上限;真实下单仍要求完整安全确认。
  • 顶部勾选后的批量创建行为保持可用,单条入口不污染原勾选状态。
  • 已有未结束任务的行点击“查看采购任务”进入采集采购页,不会重复创建。
  • 服务端过期状态或重复任务校验失败时不创建并显示具体原因。
  • 不改变数据库结构、Client 四接口和真实下单安全红线。

怎么验证

从 admin/ 执行:

$env:GOTOOLCHAIN="go1.23.0"; gofmt -w .; go vet ./...; go build ./...; go test ./... -count=1
Remove-Item Env:GOTOOLCHAIN

浏览器分别构造各处理阶段,验证按钮文字、单条/批量确认弹窗和真实下单确认门禁;不执行真实下单。

风险和回退

采购任务是下单链路入口。风险是误选多行、重复创建或绕过真实下单确认。实现复用原服务端校验和确认弹窗,单条入口不修改复选框状态;回退模板、JS、service 文案和测试即可,不涉及数据迁移。任务进入不可逆阶段后仍只准核对订单,绝不重新下单。

## 基本信息 - 类型:需求 - 父级大工单:#14 - 所属 MVP / 版本:#15 Admin 四模块可用闭环 - 阶段:顺运宝货运单与采购任务 ## 要解决什么 顺运宝列表“下一步”按钮目前所有阶段都只打开处理详情;规格匹配完成后按钮仍显示“核对规格”,采购员必须再勾选该行并回到顶部打开创建采购任务弹窗,流程不连续。 ## 做什么 / 不做什么 - 做:让“下一步”文字准确对应当前阶段;可创建采购任务时,点击行内按钮自动把当前行带入现有采购确认弹窗;已有未结束任务时提供查看采集采购页入口。 - 不做:不在一次点击后直接创建任务;不跳过客户端、执行模式、人民币价格上限或真实下单确认;不改变真实下单默认关闭、安全门禁、数据库结构和 Client 接口。 ## 怎么做 - 修改 `admin/service/syb.go` 的阶段动作文字:可采购显示“创建采购任务”,已有任务显示“查看采购任务”,其余阶段保持与详情流程一致。 - 修改 `admin/templates/syb/list.html`:按阶段输出处理详情、单条采购确认或采集采购查看动作的数据属性。 - 修改 `admin/static/js/app.js`:复用现有采购确认弹窗,单条入口只选择并展示对应可采购行;保留顶部批量创建能力;提交时继续使用现有真实下单确认逻辑。 - 补充 service/页面测试,并同步 `docs/admin/05-ui-specification.md`。 - 服务端继续通过现有 `CreatePurchaseTasksWithOptions` 重新校验规格映射、数量、价格、客户端权限、执行模式和幂等性。 ## 验收标准 - [x] 各处理阶段均显示准确的下一步文字。 - [x] 可采购行点击“创建采购任务”后,确认弹窗只展示并提交当前明细,默认执行模式仍为采购演练。 - [x] 单条创建仍强制选择可见客户端并确认人民币价格上限;真实下单仍要求完整安全确认。 - [x] 顶部勾选后的批量创建行为保持可用,单条入口不污染原勾选状态。 - [x] 已有未结束任务的行点击“查看采购任务”进入采集采购页,不会重复创建。 - [x] 服务端过期状态或重复任务校验失败时不创建并显示具体原因。 - [x] 不改变数据库结构、Client 四接口和真实下单安全红线。 ## 怎么验证 从 `admin/` 执行: ```powershell $env:GOTOOLCHAIN="go1.23.0"; gofmt -w .; go vet ./...; go build ./...; go test ./... -count=1 Remove-Item Env:GOTOOLCHAIN ``` 浏览器分别构造各处理阶段,验证按钮文字、单条/批量确认弹窗和真实下单确认门禁;不执行真实下单。 ## 风险和回退 采购任务是下单链路入口。风险是误选多行、重复创建或绕过真实下单确认。实现复用原服务端校验和确认弹窗,单条入口不修改复选框状态;回退模板、JS、service 文案和测试即可,不涉及数据迁移。任务进入不可逆阶段后仍只准核对订单,绝不重新下单。
Author
Owner

状态:进行中。已完成代码现状核对,开始按已确认方案实施。

状态:进行中。已完成代码现状核对,开始按已确认方案实施。
Author
Owner

状态:待验收。

已实现:

  • 阶段动作文字完整化;可采购行显示“创建采购任务”,已有任务显示“查看采购任务”。
  • 单条入口复用现有采购确认弹窗,只带当前明细且不污染复选框;顶部批量入口保持原行为。
  • 每次打开确认弹窗重置为采购演练并清空 live 确认;服务端权限、价格、映射、幂等及真实下单门禁不变。

验证:Go 1.23.0 下 go vet ./...、go build ./...、go test ./... -count=1 全部通过;采购工作流回归、模板测试、node --check static/js/app.js 与 git diff --check 通过。未在生产库创建任务,未执行真实下单,需浏览器验收单条/批量弹窗。

实现提交:7106f6b
归档提交:57aac2b
归档:docs/task/106-admin顺运宝下一步单条创建采购任务.md

状态:待验收。 已实现: - 阶段动作文字完整化;可采购行显示“创建采购任务”,已有任务显示“查看采购任务”。 - 单条入口复用现有采购确认弹窗,只带当前明细且不污染复选框;顶部批量入口保持原行为。 - 每次打开确认弹窗重置为采购演练并清空 live 确认;服务端权限、价格、映射、幂等及真实下单门禁不变。 验证:Go 1.23.0 下 `go vet ./...`、`go build ./...`、`go test ./... -count=1` 全部通过;采购工作流回归、模板测试、`node --check static/js/app.js` 与 `git diff --check` 通过。未在生产库创建任务,未执行真实下单,需浏览器验收单条/批量弹窗。 实现提交:`7106f6b` 归档提交:`57aac2b` 归档:`docs/task/106-admin顺运宝下一步单条创建采购任务.md`
Author
Owner

用户已明确验收通过。验收清单已回填,本工单关闭。

用户已明确验收通过。验收清单已回填,本工单关闭。
ila closed this issue 2026-08-10 23:24:52 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmautobuy#106