|
|
|
@@ -14,13 +14,15 @@ R7E-11,审批流程试运行,"审批人按真实路径处理待办,员工查
|
|
|
|
|
R7E-12,请假流程试运行,"员工提交请假,审批人审批,员工和团队视角查看状态。","1) 请假提交成功;2) 审批处理成功;3) 移动/PC 状态一致;4) 团队状态或日历口径可解释。","流程级验证:员工提交请假 -> 审批通过/驳回 -> 查看进度和团队状态。",manual|playwright,DONE,DONE,DONE,docs/trialrun/人工试运行报告.md|client/tests/e2e/manual/r7e-browser-business-trialrun.spec.ts,"[""R7E-8""]",2026-05-14 无人工自动化补测:员工创建未来工作日请假并提交;审批人处理通过;申请人 PC 回看已通过且 /mobile/leave 记录页可见无横向滚动;测试单据 a22e45f8-b3d6-4862-97f2-30cbe4815e09;证据 artifacts/r7e/browser-business-trialrun/report-leave.md。
|
|
|
|
|
R7E-13,采购流程试运行,"员工提交或查看采购申请,审批人处理,状态和附件可追溯。","1) 采购申请路径可用;2) 审批处理可用;3) 附件和状态可追溯;4) 移动采购创建如缺失则记录为后续 UX/P2。","流程级验证:员工提交/查看采购 -> 审批处理 -> 查看状态和附件。",manual|playwright,DONE,DONE,DONE,docs/trialrun/人工试运行报告.md|client/tests/e2e/manual/r7e-browser-business-trialrun.spec.ts,"[""R7E-8""]",2026-05-14 无人工自动化补测:采购 CG-20260514-0005 完成 PC 创建 明细 无敏感测试附件上传 提交 审批 状态和审批历史回看;移动采购列表 详情和附件可见且无横向滚动;证据 artifacts/r7e/browser-business-trialrun/report-purchase-attachment.md。
|
|
|
|
|
R7E-14,财务审批和付款延期试运行,"财务按真实路径复核到财务审批的报销单;本轮不启用 payment_batch_v1,不追付款批次闭环,付款批次作为 P2 单独窗口处理。","1) 财务角色入口正确;2) 到财务审批的报销单可查看;3) payment_batch_v1 关闭时有明确空态或错误契约;4) 管理员不自动获得财务能力;5) 不执行真实付款批次。","流程级验证:财务进入移动入口或台账 -> 查看到财务审批的报销单或付款批次未启用提示 -> 检查管理员无财务执行能力 -> 记录付款批次延期到 P2。",manual|playwright,DONE,DONE,DONE,docs/trialrun/人工试运行报告.md|client/tests/e2e/manual/r7e-browser-business-trialrun.spec.ts,"[""R7E-8""]",2026-05-14 finance-closeout 诊断:报销 40876ef3-0652-4972-aa14-1aad1a855ae0 / BX-20260514-0016 状态 approved;/api/ap-operations/reimbursement-ledger 和 /api/payment-batches 均返回 payment_batch_v1_disabled / flag_force_off;未创建付款批次 未复核 未执行付款 未验证导出。2026-05-14 用户确认 R7E 财务付款策略为先不启用,付款批次延期到 P2;22:08 最新部署后 R7E_BROWSER_FLOW=finance-closeout 通过但 AP API 按 flag_force_off SKIP,R7E_BROWSER_FLOW=mobile 通过并确认员工 审批人 财务移动入口可见且无横向滚动;本行按延期口径收口,不代表付款批次已启用。
|
|
|
|
|
R7E-15,移动端和真机反馈,"收集 R7E 参与者在移动浏览器和企业微信中的真实体验反馈。","1) 至少覆盖代表性 iPhone/Android 或企业微信设备;2) 记录页面、视口、角色和问题级别;3) 阻断问题进入修复分流;4) 体验优化进入 UX8。","流程级验证:按真机公网测试清单人工复核;必要时补 Playwright 截图。",manual|playwright,DOING,TODO,TODO,docs/trialrun/人工试运行报告.md|output/playwright,"[""R7E-9""]",2026-05-14 自动化移动浏览器员工 审批人 财务核心入口通过且无横向滚动;用户真机补充:所有设备没有 PC 壳和横向滚动 但通知卡片和待审批卡片右侧状态只露第一个字 归属 R7E-16A;iOS 只能上传 PDF Android 企业微信选择器仍显示拍照和选择文件 归属 R7E-16B;2026-05-14 22:09 修复 5491e92 已部署 DG7+R124 公网移动矩阵 6 passed 且 R7E_BROWSER_FLOW=mobile 通过;2026-05-15 已补代表设备企业微信消息 deeplink 真机通过;2026-05-15 19:31 二次修复 f945c0b 已部署且 /ready public bundle live smoke env 和 DG7+R124 公网移动矩阵 6 passed;用户确认 SMOKE101 审批状态与三按钮布局、SMOKE002 详情头部间距、wangzhiling 财务入口定位均通过;Android 选择器显示拍照按平台限制处理 OA 端 PDF-only 校验已由 R7E-16B 覆盖;2026-05-15 21:46 CST 96488d8 已部署且 /ready public bundle live smoke env DG7+R124 公网移动矩阵和审批确认专项均通过;本行仍等待 R7E-16D 审批二次确认代表真机反馈和 R7E-18 阶段验收结论。
|
|
|
|
|
R7E-16,每日问题清单,"R7E 期间每天登记问题、级别、归属治理流、处理状态和证据路径。","1) 问题均有级别;2) 阻断问题当天决策;3) 新需求不混入即时修复;4) 每日 closeout 可追溯。","流程级验证:每日人工 closeout;问题分流到 R7E/UX8/ORG8/WF8/BIZ8/QAOPS8。",manual,DOING,TODO,TODO,docs/trialrun/人工试运行报告.md,"[""R7E-10"",""R7E-11"",""R7E-12"",""R7E-13"",""R7E-14"",""R7E-15""]",2026-05-14 用户真机反馈分流:免登录通过;企业微信消息 deeplink 全设备提示 requestid tokenexpired/深链已过期 为 HIGH 归属 WF8-11A;通知和待审批卡片右侧状态只露首字 为 MEDIUM 归属 R7E-16A;Android 企业微信 PDF 上传系统选择器仍显示拍照和选择文件 为 MEDIUM 归属 R7E-16B;财务移动入口和付款未启用空态不清楚 为 MEDIUM 归属 BIZ8-12A;2026-05-15 用户确认代表设备企业微信消息 deeplink 可免登录进对应详情 WF8-11 已关闭;二次反馈中通知新标记按未读行为接受,审批状态槽/详情头部/按钮布局归 R7E-16C 且 f945c0b 已部署公网验证通过并由用户确认通过;财务入口定位归 BIZ8-12B 已由用户确认通过;退回和驳回语义说明与二次确认归 R7E-16D 且 96488d8 已部署公网自动化验证通过;财务付款闭环延期到 P2;当前剩余为 R7E-16D 部署后代表真机确认和 R7E-18 人工验收结论。
|
|
|
|
|
R7E-15,移动端和真机反馈,"收集 R7E 参与者在移动浏览器和企业微信中的真实体验反馈。","1) 至少覆盖代表性 iPhone/Android 或企业微信设备;2) 记录页面、视口、角色和问题级别;3) 阻断问题进入修复分流;4) 体验优化进入 UX8。","流程级验证:按真机公网测试清单人工复核;必要时补 Playwright 截图。",manual|playwright,DONE,DONE,DONE,docs/trialrun/人工试运行报告.md|output/playwright,"[""R7E-9""]",2026-05-14 自动化移动浏览器员工 审批人 财务核心入口通过且无横向滚动;用户真机补充:所有设备没有 PC 壳和横向滚动 但通知卡片和待审批卡片右侧状态只露第一个字 归属 R7E-16A;iOS 只能上传 PDF Android 企业微信选择器仍显示拍照和选择文件 归属 R7E-16B;2026-05-14 22:09 修复 5491e92 已部署 DG7+R124 公网移动矩阵 6 passed 且 R7E_BROWSER_FLOW=mobile 通过;2026-05-15 已补代表设备企业微信消息 deeplink 真机通过;2026-05-15 19:31 二次修复 f945c0b 已部署且 /ready public bundle live smoke env 和 DG7+R124 公网移动矩阵 6 passed;用户确认 SMOKE101 审批状态与三按钮布局、SMOKE002 详情头部间距、wangzhiling 财务入口定位均通过;Android 选择器显示拍照按平台限制处理 OA 端 PDF-only 校验已由 R7E-16B 覆盖;2026-05-15 21:46 CST 96488d8 已部署且 /ready public bundle live smoke env DG7+R124 公网移动矩阵和审批确认专项均通过;用户确认审批详情底部操作按钮可见且点击会出现二次确认弹窗。R7E-15 代表真机反馈已按当前试运行范围关闭;R7E-18 阶段验收结论仍需单独人工确认。
|
|
|
|
|
R7E-16,每日问题清单,"R7E 期间每天登记问题、级别、归属治理流、处理状态和证据路径。","1) 问题均有级别;2) 阻断问题当天决策;3) 新需求不混入即时修复;4) 每日 closeout 可追溯。","流程级验证:每日人工 closeout;问题分流到 R7E/UX8/ORG8/WF8/BIZ8/QAOPS8。",manual,DOING,TODO,TODO,docs/trialrun/人工试运行报告.md,"[""R7E-10"",""R7E-11"",""R7E-12"",""R7E-13"",""R7E-14"",""R7E-15""]",2026-05-14 用户真机反馈分流:免登录通过;企业微信消息 deeplink 全设备提示 requestid tokenexpired/深链已过期 为 HIGH 归属 WF8-11A;通知和待审批卡片右侧状态只露首字 为 MEDIUM 归属 R7E-16A;Android 企业微信 PDF 上传系统选择器仍显示拍照和选择文件 为 MEDIUM 归属 R7E-16B;财务移动入口和付款未启用空态不清楚 为 MEDIUM 归属 BIZ8-12A;2026-05-15 用户确认代表设备企业微信消息 deeplink 可免登录进对应详情 WF8-11 已关闭;二次反馈中通知新标记按未读行为接受,审批状态槽/详情头部/按钮布局归 R7E-16C 且 f945c0b 已部署公网验证通过并由用户确认通过;财务入口定位归 BIZ8-12B 已由用户确认通过;退回和驳回语义说明与二次确认归 R7E-16D 且 96488d8 已部署公网自动化验证通过并由用户确认真机可见二次弹窗;财务付款闭环延期到 P2;2026-05-15 R7E-16E/R7E-16F 已完成本地自动化和视觉门禁但尚未部署到公网;当前剩余为 R7E-16E/R7E-16F 部署后公网复核和 R7E-18 人工验收结论。
|
|
|
|
|
R7E-16A,移动通知和待审批状态槽修复,"修复移动通知卡片和待审批卡片右侧状态徽标只显示第一个字的问题,保持无 PC 壳和无横向滚动。","1) 未读 已读 审批中 已处理等状态在 320/360/390/430px 可完整显示;2) 通知和审批卡片标题仍可省略但不挤压状态;3) 页面 scrollWidth 不超过视口;4) Playwright 移动矩阵通过。","流程级验证:cd client && npm run typecheck && 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。",npm|playwright,DONE,DONE,DONE,client/src/styles/mobile-touch.css|client/src/pages/MobilePortalPage.tsx|client/src/pages/MobileNotificationsPage.tsx|client/src/pages/MobileApprovalsPage.tsx|client/tests/e2e,"[""R7E-16""]",回滚路径:恢复 mobile-status-slot 旧样式和相关测试断言;不改变业务数据或路由。
|
|
|
|
|
R7E-16B,Android PDF 上传兜底校验,"补强移动发票上传的前端 PDF 过滤,记录 Android 企业微信系统选择器可能仍显示拍照和选择文件但 OA 不接收非 PDF 发票。","1) PDF 上传入口 accept 为 .pdf,application/pdf 且无 capture;2) 选择非 PDF 时前端拒绝并提示;3) 不把图片 OCR 误报为支持;4) 既有 PDF 上传测试通过。","流程级验证:cd client && npm run typecheck && npm run build;cd client && npx playwright test tests/e2e/r111-invoice-reimbursement-guard.spec.ts tests/e2e/r124-mobile-entry-matrix.spec.ts --workers=1 --reporter=list。",npm|playwright,DONE,DONE,DONE,client/src/lib/pdfFiles.ts|client/src/pages/MobileCapturePage.tsx|client/src/pages/MobileReimbursementDetailPage.tsx|client/src/pages/ReimbursementDetailPage.tsx|client/src/pages/invoice-pool/InvoiceUploadCard.tsx|client/tests/e2e,"[""R7E-16""]",Android WebView 文件选择器 UI 受系统和企业微信控制;本轮只保证 OA 端 PDF-only 校验和可解释提示 不新增图片 OCR。
|
|
|
|
|
R7E-16C,移动审批和详情头部二次修复,"根据 R7E 真机反馈修复审批卡片右侧只露待字、审批详情操作按钮布局和移动详情返回按钮与单号贴边问题。","1) 移动审批卡片和详情状态完整显示待处理/已处理等文本;2) 审批详情通过/驳回/退回在线操作在 320px 不挤压乱换行;3) 移动详情返回按钮保留左上且与标题至少 12px 间距;4) 不改变审批动作和 deeplink 语义。","流程级验证:cd client && npm run typecheck && 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;SMOKE101 真机复核 /mobile/approvals。",npm|playwright|manual,DONE,DONE,DONE,client/src/components/mobile/MobileDetailHeader.tsx|client/src/pages/MobileApprovalsPage.tsx|client/src/styles/mobile-touch.css|client/tests/e2e,"[""R7E-16A""]",已部署并真机通过:2026-05-15 19:31 CST f945c0b 已通过 deploy/trialrun/deploy.sh 发布到 https://oa.hyinda.com 且 SYNC_ENV=0 未覆盖远端 .env;部署后 /ready 通过 public bundle findings=0 live smoke env ready DG7+R124 公网移动矩阵 6 passed;用户确认 /mobile/approvals 右侧完整显示待处理 详情三个按钮在一行 且左上返回与标题有清楚间距。回滚路径:恢复移动详情头部和审批操作区样式;不改后端 API 权限 workflow 状态机或企业微信 deeplink。
|
|
|
|
|
R7E-16D,审批动作二次确认与底部操作统一,"保持通过/驳回/退回短按钮文案,但在 PC 和移动审批动作执行前增加二次确认,明确通过、驳回、退回的业务后果。","1) PC 审批详情通过/驳回/退回先弹确认;2) PC 列表快捷通过先弹确认;3) 移动审批详情通过/驳回/退回和离线草稿先弹确认;4) 确认文案区分通过推进、驳回终止、退回修改后重提;5) 不改后端 workflow 状态机。","流程级验证:cd client && npm run typecheck && 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。",npm|playwright,DONE,DONE,DONE,client/src/components/common/ConfirmDialog.tsx|client/src/lib/workflowActionConfirm.ts|client/src/pages/MobileApprovalsPage.tsx|client/src/pages/WorkflowTaskDetailPage.tsx|client/src/pages/WorkflowTasksPage.tsx|client/tests/e2e/workflow-action-confirm-ui.spec.ts|client/tests/e2e/r89-mobile-login-navigation.spec.ts|docs/需求-统一审批中心规约.md|docs/产品设计规则.md,"[""R7E-16C""]",已部署待真机复测:2026-05-15 21:46 CST 96488d8 已通过 deploy/trialrun/deploy.sh 发布到 https://oa.hyinda.com 且 SYNC_ENV=0 未覆盖远端 .env;部署脚本内置远端构建 init migration status /ready external deps smoke runtime smoke 和 public bundle 扫描通过;部署后 /ready ok public bundle findings=0 live smoke env ready;E2E_BASE_URL=https://oa.hyinda.com DG7+R124 公网移动矩阵复跑 6 passed;E2E_BASE_URL=https://oa.hyinda.com workflow-action-confirm-ui + R89 审批确认专项 5 passed;此前一次移动矩阵首轮失败为登录页前置时序,复跑已通过。回滚路径:移除二次确认 helper 和调用点 恢复原按钮直接触发 mutation;不改后端 API 权限 workflow 状态机 企业微信 deeplink 或付款批次开关。
|
|
|
|
|
R7E-17,阻断问题修复分流,"根据每日问题清单把阻断问题分流到当前 R7E 修复或后续连续治理流。","1) 阻断问题有 owner;2) 能在 R7E 内修的有方案和验证;3) 范围外问题进入 UX8/ORG8/WF8/BIZ8/QAOPS8;4) 不顺手扩大。","流程级验证:人工核对问题清单和分流结果;必要时创建后续连续 CSV。",manual,TODO,TODO,TODO,issues/*.csv|docs/trialrun/人工试运行报告.md,"[""R7E-16""]",已知分流:deeplink 归 WF8 并已代表设备验证关闭;状态槽归 R7E-16A 已部署并自动化验证;Android 选择器归 R7E-16B 按平台限制和 OA PDF-only 校验处理;财务付款批次延期到 P2;R7E-16D 已部署并公网自动化通过;本行待 R7E-15 审批二次确认真机反馈和 R7E-18 验收结论后再关闭。
|
|
|
|
|
R7E-16E,全站高风险操作二次确认统一,"把 R7E-16D 的审批确认模式推广到全站高风险动作,覆盖提交审批、撤回、删除、归档、启用/停用、批量处理、财务复核/付款、重复票据例外、敏感导出和通知测试/重发,不让普通保存草稿产生确认疲劳。","1) 新增通用 ActionConfirmDialog 和确认文案 helper;2) client/src 不再出现 window.confirm/window.prompt;3) 当前 R7E 相关高风险入口使用 OA 内确认弹窗和统一 testid;4) 不改后端 API/schema/权限/workflow/付款开关。","流程级验证:cd client && npm run typecheck && npm run build;rg -n 'window\\.(confirm|prompt)' client/src 应无结果;cd client && npx playwright test tests/e2e/system-action-confirmation.spec.ts --workers=1 --reporter=list。",npm|rg|playwright,DONE,DONE,DONE,client/src/components/common/ActionConfirmDialog.tsx|client/src/lib/actionConfirm.ts|client/src/pages|client/tests/e2e/system-action-confirmation.spec.ts|docs/产品设计规则.md|docs/需求-统一审批中心规约.md,"[""R7E-16D""]",2026-05-15 本地完成并验证:client typecheck 通过 client build 通过 rg window.confirm/window.prompt 无结果 system-action-confirmation 2 passed;覆盖报销草稿删除 敏感导出 付款批次执行等高风险动作的取消不调用接口和确认后调用接口;回滚路径为恢复相关按钮直接调用 mutation 和旧 ConfirmDialog;不改数据结构或远端配置。PC 端由自动化验收 真机仅保留企业微信差异项。
|
|
|
|
|
R7E-16F,PC 自动化和视觉门禁补强,"把 PC 端高风险确认验收从人工点击改为 Playwright 自动化和视觉检查,移动仍用矩阵覆盖布局,企业微信真机只测真实环境差异。","1) PC mock 自动化覆盖取消不调用接口、确认后才调用接口;2) 移动矩阵覆盖确认弹窗不溢出和吸底操作稳定;3) project-wide 视觉检查通过;4) QAOPS8-17 记录 PC 自动化替代人工验收口径。","流程级验证:cd client && npx playwright test tests/e2e/system-action-confirmation.spec.ts tests/e2e/workflow-action-confirm-ui.spec.ts --workers=1 --reporter=list;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;QA_SKIP_CLIENT_BUILD=1 bash scripts/qa/run-web-gates.sh project-wide-visual-local。",playwright|bash,DONE,DONE,DONE,client/tests/e2e/system-action-confirmation.spec.ts|client/tests/e2e/workflow-action-confirm-ui.spec.ts|docs/trialrun/人工试运行报告.md|issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv,"[""R7E-16E""]",2026-05-15 本地完成并验证:system-action-confirmation + workflow-action-confirm-ui 4 passed;DG7+R124 移动矩阵 6 passed;project-wide-visual-local 通过并自动准备临时 DB 和种子 1 passed。直接把 project-wide-visual 挂到裸 Vite 时曾因默认 E2E 数据前置不足出现登录 API HTTP_500 已归类为前置问题不作为业务回归。公网部署前只能记录本地自动化证据;部署后再复跑公网 ready public bundle PC mock 自动化和移动矩阵。R7E-18 仍需用户验收结论。
|
|
|
|
|
R7E-17,阻断问题修复分流,"根据每日问题清单把阻断问题分流到当前 R7E 修复或后续连续治理流。","1) 阻断问题有 owner;2) 能在 R7E 内修的有方案和验证;3) 范围外问题进入 UX8/ORG8/WF8/BIZ8/QAOPS8;4) 不顺手扩大。","流程级验证:人工核对问题清单和分流结果;必要时创建后续连续 CSV。",manual,TODO,TODO,TODO,issues/*.csv|docs/trialrun/人工试运行报告.md,"[""R7E-16""]",已知分流:deeplink 归 WF8 并已代表设备验证关闭;状态槽归 R7E-16A 已部署并自动化验证;Android 选择器归 R7E-16B 按平台限制和 OA PDF-only 校验处理;财务付款批次延期到 P2;R7E-16D 已部署并公网自动化通过且代表真机确认;R7E-16E/R7E-16F 已本地完成但尚未部署公网;本行待部署后公网复核和 R7E-18 验收结论后再关闭。
|
|
|
|
|
R7E-18,验收结论,"汇总 R7E 真实试运行结果,给出通过、暂停、回滚或继续观察结论。","1) 主流程结论完整;2) 阻断问题为 0 或明确暂停/回滚;3) 用户验收结论记录;4) 未完成项进入后续治理流。","流程级验证:人工验收;报告中列出流程结论、问题清单和后续动作。",manual,TODO,TODO,TODO,docs/trialrun/人工试运行报告.md,"[""R7E-17""]",不能仅凭自动化通过宣布 R7E 完成。
|
|
|
|
|
R7E-19,P2 排序调整,"根据 R7E 真实反馈调整 P2 候选优先级和后续连续治理流顺序。","1) P2 排序基于真实反馈;2) ORG8/WF8/BIZ8/QAOPS8 入口明确;3) 冻结项仍不进入;4) 如需变更 PRD 则另走事实源更新。","流程级验证:人工核对 PRD P2T 表、问题清单和后续 Issue 计划。",manual|rg,TODO,TODO,TODO,docs/海音达OA-MVP需求规格说明书.md|issues/*.csv,"[""R7E-18""]",P2 功能开发必须另建或延续对应连续合同。
|
|
|
|
|
R7E-20,R7E 收口,"完成 R7E CSV 状态回填、报告归档、验证说明和中文提交。","1) CSV 校验通过;2) 所有 DONE 有证据;3) git diff --check 通过;4) 中文提交引用 R7E;5) 最终说明是否部署和是否可测。","流程级验证:validate_issues_csv.py 本 CSV;git diff --check;人工核对报告和状态。",python3|git|manual,TODO,TODO,TODO,issues/2026-05-13_17-11-44-r7e-human-trialrun.csv|docs/trialrun/人工试运行报告.md,"[""R7E-18"",""R7E-19""]",真实 R7E 完成后才能回填;当前不得提前 DONE。
|
|
|
|
|