Files
one-pipe-system/openspec/changes/add-business-list-approval-summaries/design.md
luo d5fd8ac564
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 7m20s
feat: 退款充值换货列表提交人与审批摘要
2026-07-22 18:37:41 +08:00

2.3 KiB
Raw Blame History

Context

三个后台业务列表都需要展示相同的审批摘要,但各自保留既有退款、充值或换货操作。审批来源和业务处理状态均由后端列表接口返回,前端不请求单条审批详情来填充表格。

Goals / Non-Goals

  • Goals:
    • 统一展示提交人、审批状态、当前审批人摘要和业务处理状态。
    • 正确区分无审批、历史本地审批和企微审批。
    • 在不增加逐行请求的前提下支持长摘要完整查看。
  • Non-Goals:
    • 不创建、修改或撤回审批流程。
    • 不增加历史本地审批操作按钮。
    • 不以 approval_status 推断 processing_status,或反向推断。

Decisions

  • Decision: 三个列表项模型复用相同名称和语义的审批摘要字段,字段由各自的列表接口直接返回。
  • Decision: approval_source=none 时审批状态与当前审批人摘要均显示 -legacy 时审批状态固定显示“历史审批”,当前审批人摘要显示 -wecom 时直接展示 approval_status_namecurrent_approver_summary
  • Decision: 审批人摘要仅负责展示,使用表格溢出省略与 tooltip 呈现完整文本。
  • Decision: 业务处理状态单独读取 processing_status_name,不与审批状态混合或映射。
  • Decision: 列表分页和刷新仅调用现有列表 API禁止为每条记录请求审批详情。
  • Alternatives considered: 从单条详情或企微审批 API 批量补齐摘要。未采用,因为会引入 N+1 请求并与列表响应已提供的摘要字段重复。

Risks / Trade-offs

  • 后端遗漏摘要字段时信息不可用 -> 统一显示稳定占位,不影响原有列表和业务操作。
  • 审批状态名称可能为空 -> 企微来源显示稳定占位,不自行翻译状态码。
  • 审批人摘要长度不受控 -> 表格列使用溢出省略和 hover 完整文本。

Migration Plan

  1. 扩展三个列表项类型以保留审批摘要字段。
  2. 在三个列表中添加四个展示列并遵循审批来源规则。
  3. 验证 nonelegacywecom 和处理状态为空的响应。
  4. 验证刷新、分页未出现逐行审批详情请求。
  5. 如需回滚,移除列表列与附加类型字段;不涉及数据迁移。

Open Questions

  • 无。