R7E-16D 审批动作二次确认

Refs: R7E-16D BIZ8-12B QAOPS8-17
这个提交包含在:
2026-05-15 21:20:49 +08:00
父节点 ff58b0d697
当前提交 96488d8052
共修改 20 个文件,包含 611 行新增和 67 行删除
+4 -3
查看文件
@@ -60,9 +60,10 @@
1. PC 进入 `审批中心`,或从企业微信消息打开移动审批。
2. 用业务类型筛选报销、请假或采购。
3. 先查看详情,再执行通过、退回或驳回。
4. 退回或驳回必须填写可理解说明。
5. 不处理自己提交的单据;系统会阻断自审。
6. 管理员账号不等于业务审批人,除非同时具备正式业务审批角色且不是自审。
4. 点击通过、退回或驳回后先看确认弹窗:通过会进入下一审批节点或完成审批;退回是让申请人修改后重提;驳回是终止当前流程或进入驳回态。
5. 退回或驳回必须填写可理解说明。
6. 不处理自己提交的单据;系统会阻断自审。
7. 管理员账号不等于业务审批人,除非同时具备正式业务审批角色且不是自审。
## 4. 财务操作
+8 -5
查看文件
@@ -272,18 +272,21 @@ R7EP 历史结论:公网、live smoke/OCR、移动矩阵、核心业务流、
| 反馈项 | 级别 | 归属 | 本轮处理 |
| --- | --- | --- | --- |
| 通知首页卡片只显示“新”,浏览详情后“新”消失 | PASS | `R7E-15` | 按未读提醒行为接受,不改成“已读/未读”常驻状态 |
| 移动详情页左上返回按钮和报销单号贴得太近 | MEDIUM | `R7E-16C` | 保留左上返回,改为 44px 图标返回槽和独立标题槽,避免挤压单号 |
| 审批卡片右侧仍只显示“待”,详情处理按钮居中且三按钮分两行 | MEDIUM | `R7E-16C` | 增加审批专用状态槽和在线三按钮同排布局 |
| 财务 `/mobile/me` 有入口,但点击后像回首页,付款未启用提示不可发现 | MEDIUM | `BIZ8-12B` | 财务入口定位到首页财务卡片并显示“付款批次未启用”空态 |
| 移动详情页左上返回按钮和报销单号贴得太近 | PASS | `R7E-16C` | 用户确认左上返回按钮已有清楚间距 |
| 审批卡片右侧仍只显示“待”,详情处理按钮居中且三按钮分两行 | PASS | `R7E-16C` | 用户确认右侧完整显示“待处理”,详情三个按钮在一行 |
| 财务 `/mobile/me` 有入口,但点击后像回首页,付款未启用提示不可发现 | PASS | `BIZ8-12B` | 用户确认直接定位到财务卡片并显示“付款批次未启用” |
| `wangshunli` 当前没有通知 | INFO | `R7E-15` | 不作为阻断;deeplink 已由此前代表消息验证关闭 |
| 审批详情中“退回”和“驳回”语义容易混淆 | MEDIUM | `R7E-16D` | 按产品决策保留短按钮“通过 / 驳回 / 退回”,在二次确认弹窗说明具体后果 |
本节对应修复已于 2026-05-15 19:31 CST 通过 `bash deploy/trialrun/deploy.sh` 部署到 `https://oa.hyinda.com`,部署基线为 `f945c0b R7E 真机二次反馈移动修复`,`SYNC_ENV=0`,未覆盖远端 `.env`。部署脚本内置远端构建、init、Prisma migration status、`/ready`、external deps smoke、runtime smoke 和公网 bundle 扫描均通过。部署后补充验证:`curl -fsS https://oa.hyinda.com/ready` 通过,`PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs` 扫描 57 个资源且 findings=0,live smoke env readiness 通过,`cd client && E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list` 通过 6 项。真机复测仍需用户补充 `SMOKE101` 审批状态和操作区、`SMOKE002` 详情头部间距、`wangzhiling` 财务入口定位。
本节对应修复已于 2026-05-15 19:31 CST 通过 `bash deploy/trialrun/deploy.sh` 部署到 `https://oa.hyinda.com`,部署基线为 `f945c0b R7E 真机二次反馈移动修复`,`SYNC_ENV=0`,未覆盖远端 `.env`。部署脚本内置远端构建、init、Prisma migration status、`/ready`、external deps smoke、runtime smoke 和公网 bundle 扫描均通过。部署后补充验证:`curl -fsS https://oa.hyinda.com/ready` 通过,`PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs` 扫描 57 个资源且 findings=0,live smoke env readiness 通过,`cd client && E2E_BASE_URL=https://oa.hyinda.com npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list` 通过 6 项。2026-05-15 用户补充确认 `SMOKE101` 审批状态和操作区、`SMOKE002` 详情头部间距、`wangzhiling` 财务入口定位均通过;审批动作二次确认进入 `R7E-16D`。
`R7E-16D` 已于本地实现并验证:PC 审批详情、PC 列表快捷通过、移动审批详情在线动作和离线草稿动作都会先弹二次确认;确认文案解释通过、驳回、退回的后果;移动审批详情主操作改为底部固定操作区。验证命令:`cd client && npm run typecheck`、`cd client && npm run build`、`cd client && npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list`、`cd client && npx playwright test tests/e2e/workflow-action-confirm-ui.spec.ts tests/e2e/r89-mobile-login-navigation.spec.ts --workers=1 --reporter=list` 均通过。本项尚未部署到 `https://oa.hyinda.com`,需要后续受控部署后再做真机复测。
## QAOPS8 Go/No-Go 当前结论
执行时间:2026-05-15。
`QAOPS8-17` 当前结论为 `Pause`,原因不是自动化基础门禁失败,也不是 WF8 deeplink 阻断;剩余门禁是 R7E 修复后真机体验反馈、财务角色真机入口复核和最终人工验收结论。该结论用于防止把自动化或单台代表设备证据误解释为正式上线 `Go`。
`QAOPS8-17` 当前结论为 `Pause`,原因不是自动化基础门禁失败,也不是 WF8 deeplink 阻断;R7E-16C 和 BIZ8-12B 代表真机反馈已通过,剩余门禁是 R7E-16D 部署后真机复测和最终人工验收结论。该结论用于防止把自动化或单台代表设备证据误解释为正式上线 `Go`。
| 检查项 | 当前状态 | 处理 |
| --- | --- | --- |
+2 -2
查看文件
@@ -137,7 +137,7 @@ MIA7 之后,移动 OA 的信息架构以“一级入口少、任务摘要轻
- 标题显示业务编号或摘要,例如“报销单 BX20260506001”。
- 状态、金额、申请人、更新时间作为摘要条。
- 主流程操作固定在页头或底部操作区,危险操作靠右或二次确认。
- 主流程操作固定在页头或底部操作区,危险或终局动作必须二次确认;审批动作按钮保持“通过 / 驳回 / 退回”短文案,具体后果放在确认弹窗中说明。
- 审批流、附件、发票和日志分区展示,避免混在一个长表单里。
- 审批、财务和管理员视角可以展示更多审计信息,但普通员工主视角只展示与下一步动作有关的信息。
@@ -159,7 +159,7 @@ MIA7 之后,移动 OA 的信息架构以“一级入口少、任务摘要轻
- 移动首页一级快捷入口使用图标宫格:图标在上、短标题在下,4 项等宽,辅助说明不在小屏常驻展示,避免图标和文字挤压;标题单行省略,不允许逐字换行。
- 移动端页面边距、卡片间距、底部导航高度和吸底操作高度使用统一 token;不通过 viewport 缩放字体解决拥挤问题。
- 次级入口和信息字段可按最小宽度自动从两列变一列;核心操作按钮必须保持明确可点,不得被内容、安全区或底部栏遮挡。
- 报销详情、审批详情等深层 Push 页隐藏底部导航,使用顶部返回和上下文吸底操作,避免底部 Tab 在深层页面假选中。
- 报销详情、审批详情等深层 Push 页隐藏底部导航,使用顶部返回和上下文吸底操作,避免底部 Tab 在深层页面假选中;审批详情的通过、驳回、退回等主操作放在底部操作区并先确认。
- 企业微信个人应用消息 deeplink 应直达移动待办或业务详情;首次进入如需点击进入工作台,应保持后续可直接回到目标页。
- 首页最近通知只展示事件消息,不能重复完整待办卡片;如果某条待办已在首页待处理摘要出现,通知区域不再重复显示同一待办内容。
- 移动列表使用卡片和状态标签,首屏优先展示“谁提交、什么事项、金额/天数、当前状态和下一步”。
+2
查看文件
@@ -226,6 +226,8 @@
批量审批不得绕过单条任务的权限、状态和业务校验。
审批动作按钮使用短文案 `通过 / 驳回 / 退回`,不得在按钮内堆叠长说明。PC 和移动端执行这些动作前必须二次确认,在确认弹窗中解释后果:通过会进入下一审批节点或完成审批并写入历史;驳回会终止当前流程或进入驳回态,申请人通常需要复制或重新发起;退回会回到申请人修改态,保留原单号和审批历史,申请人修改后可重新提交。驳回和退回都必须填写可理解意见。
### 6.1 自审与转审约束
- 自审默认禁止,不因申请人同时拥有 `admin`、`manager`、`ceo`、`finance` 或其他角色而放开。