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

42 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Context
三个后台业务列表都需要展示相同的审批摘要,但各自保留既有退款、充值或换货操作。审批来源和业务处理状态均由后端列表接口返回,前端不请求单条审批详情来填充表格。
## Goals / Non-Goals
- Goals:
- 统一展示提交人、审批状态、当前审批人摘要和业务处理状态。
- 正确区分无审批、历史本地审批和企微审批。
- 在不增加逐行请求的前提下支持长摘要完整查看。
- Non-Goals:
- 不创建、修改或撤回审批流程。
- 不增加历史本地审批操作按钮。
- 不以 `approval_status` 推断 `processing_status`,或反向推断。
## Decisions
- Decision: 三个列表项模型复用相同名称和语义的审批摘要字段,字段由各自的列表接口直接返回。
- Decision: `approval_source=none` 时审批状态与当前审批人摘要均显示 `-``legacy` 时审批状态固定显示“历史审批”,当前审批人摘要显示 `-``wecom` 时直接展示 `approval_status_name``current_approver_summary`
- Decision: 审批人摘要仅负责展示,使用表格溢出省略与 tooltip 呈现完整文本。
- Decision: 业务处理状态单独读取 `processing_status_name`,不与审批状态混合或映射。
- Decision: 列表分页和刷新仅调用现有列表 API禁止为每条记录请求审批详情。
- Alternatives considered: 从单条详情或企微审批 API 批量补齐摘要。未采用,因为会引入 N+1 请求并与列表响应已提供的摘要字段重复。
## Risks / Trade-offs
- 后端遗漏摘要字段时信息不可用 -> 统一显示稳定占位,不影响原有列表和业务操作。
- 审批状态名称可能为空 -> 企微来源显示稳定占位,不自行翻译状态码。
- 审批人摘要长度不受控 -> 表格列使用溢出省略和 hover 完整文本。
## Migration Plan
1. 扩展三个列表项类型以保留审批摘要字段。
2. 在三个列表中添加四个展示列并遵循审批来源规则。
3. 验证 `none``legacy``wecom` 和处理状态为空的响应。
4. 验证刷新、分页未出现逐行审批详情请求。
5. 如需回滚,移除列表列与附加类型字段;不涉及数据迁移。
## Open Questions
- 无。