Files
zkxw/docs/superpowers/specs/2026-10-14-presign-detail-order-actions-only-design.md
T

2.5 KiB
Raw Blame History

预签约详情底栏仅订单级三按钮 — 设计说明

日期: 2026-10-14
状态: 已确认(方案 1)
范围: mobile-oa-h5 市场专员 / 地区经理「预签约订单」详情底栏;mobile-h5 经 WebView 复用,无独立改动
前置: 意向金转账操作已在编辑页转账卡片完成

1. 目标

列表卡片进入详情后,底部操作栏只展示订单级按钮(在后端授权范围内):

  • 编辑
  • 转正式协议
  • 删除

不再在详情底栏展示意向金相关动作(添加 / 编辑 / 删除意向金、提交财务确认、撤回等)。意向金仅在编辑页操作。

2. 决策摘要

项 决策
实现点 改 collectAllowedActions 的 presign 分支
详情可用动作 仅 edit / convert / delete(PRESIGN_ORDER_ACTIONS)
权限 仍取详情 allowedActions / actions,再与上述白名单求交
意向金 编辑页转账卡片继续用各笔 allowedActions + transferAllowedActions
端覆盖 专员、经理同一套;不改 mobile-h5 壳

3. 实现要点

3.1 action-policy.js

collectAllowedActions('presign', …):

  • 保留:从 detail.allowedActions(或 detail.actions)过滤出 edit / convert / delete
  • 移除:拼装 transfers[].allowedActions → nested 转账动作;拼装 transferAllowedActions → create-transfer

PRESIGN_ORDER_ACTIONS、MarketBottomBar 标签(编辑 / 转正式协议 / 删除)已存在,无需改文案。

MarketModuleDetail 继续调用 collectAllowedActions,无需为预签再加一层过滤。

3.2 测试

更新 module-actions.test.js(及任何断言「详情含 submit-transfer / create-transfer」的用例):

  • 有订单授权时详情动作仅为 edit / convert / delete(子集)
  • 转账级 allowedActions / transferAllowedActions 不再出现在 collectAllowedActions 返回值中
  • 非预签模块(payment / freight 等)行为不变

可选:契约测试确认详情底栏不出现「添加意向金」「提交财务确认」等文案绑定(若已有详情契约则改之)。

4. 非目标

  • 不改编辑页意向金卡片与保存自动提交财务确认逻辑
  • 不改 Web 管理端
  • 不改后端 allowedActions 字段结构(后端仍可下发转账动作;前端详情底栏不再消费)
  • 不强制已转正式 / 无权限时仍显示三个按钮(无权限则不显示对应项)