修复报销确认弹窗阻断恢复(08-30-b2-submit-error-ocr-fallback)
这个提交包含在:
@@ -34,6 +34,7 @@
|
||||
- 将“已关联 PDF 但 OCR 未取得金额”从“缺少发票”中拆出,给出独立原因和恢复路径;不得让员工以为需要重复上传一张已经存在的票。
|
||||
- 错误反馈使用明细序号、费用类型、说明摘要或页面内发票序号,不向普通用户展示数据库 UUID、API 路径、原始 details 或“发票池”等内部术语。
|
||||
- PC 与移动端都提供提交失败摘要,并在对应明细或发票卡片附近显示原因和下一步;动态错误使用可访问的告警语义,toast 只能补充,不能是唯一反馈。
|
||||
- 从 `warn` / `manual_review` 预检确认弹窗继续提交后若被 B2 阻断,PC 与移动端都必须先关闭确认弹窗、移除遮罩,再把焦点移到首个具体问题;错误恢复动作不得被仍打开的模态层遮挡。
|
||||
- 服务端仍是提交权威;前端预检查不得替代服务端结构化错误和并发后的最终反馈。
|
||||
|
||||
### R3 未归属发票的可恢复操作
|
||||
@@ -78,7 +79,7 @@
|
||||
|
||||
- 后端聚焦测试覆盖未归属、无关联 PDF、金额识别失败、完整金额超额、off/未执行 OCR 人工核对、混合金额证据、免票补助、flag off 兼容和 0014 类正常通过。
|
||||
- 原子关联接口覆盖成功、权限、状态、跨单、已有归属与并发零写入。
|
||||
- 前端单元/组件及 PC/移动 E2E 覆盖安全中文映射、就近定位、原子恢复、人工核对提示、可访问告警和内部 ID 不泄露。
|
||||
- 前端单元/组件及 PC/移动 E2E 覆盖安全中文映射、就近定位、原子恢复、人工核对提示、可访问告警和内部 ID 不泄露;`manual_review` 与 `warn` 都必须走完“确认弹窗 → B2 阻断 → 弹窗/遮罩关闭 → 就地关联 → 再次确认提交成功”的真实路径。
|
||||
- 运行 Prisma validate、相关 Vitest、前端 typecheck/build、聚焦 Playwright、`node scripts/qa/check-ui-design-rules.mjs --strict`、流程/文档/Trellis governance 与 `git diff --check`;凡修改用户可见前端文案,strict UI 文案门禁必须在提交和部署前运行,不能只依赖公网 bundle 扫描兜底。部署后只用合成草稿做公网验收。
|
||||
|
||||
## Out of Scope
|
||||
|
||||
在新工单中引用
屏蔽一个用户