文件
hyb-oa/issues/2026-05-06_22-34-54-r102-reimbursement-main-flow.csv
T

10 行
6.6 KiB
CSV

ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
A1,R102 报销主流程合同,"以 R100 设计规则和 R101 移动端收口为基础,集中修复报销编号、草稿删除、发票默认绑定、上传交互和页面啰嗦问题。","本 CSV 校验通过;明确本批仅处理报销主流程,不重构采购/差旅/票据中心全局页面。","python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-06_22-34-54-r102-reimbursement-main-flow.csv;业务流程影响:固定报销主流程改造范围。","python|manual",DONE,DONE,DONE,"issues/2026-05-06_22-34-54-r102-reimbursement-main-flow.csv","[]","涉及权限和状态规则;回滚路径为 revert 本批提交,若涉及 Prisma 迁移需单独说明。"
A2,报销业务编号与显示兜底,"创建报销草稿时生成业务编号,前端列表、详情、打印和移动卡片不再把 UUID 作为主展示;历史无编号草稿显示 草稿单 或日期摘要。","新建报销接口返回 formNumber;列表和详情主标题不显示 UUID;静态诊断中报销 UUID 主展示问题减少。","server: npm run prisma:validate && node --check src/routes/reimbursements.js;client: npm run typecheck;业务流程:员工新建报销草稿后列表和详情显示业务编号或草稿摘要。","node|prisma|typescript",DONE,DONE,DONE,"server/src/routes/reimbursements.js|client/src/lib/reimbursementDisplay.ts|client/src/pages/ReimbursementsPage.tsx|client/src/pages/ReimbursementDetailPage.tsx|client/src/pages/ReimbursementPrintPage.tsx|client/src/pages/MobileReimbursementsPage.tsx","[""A1""]","优先复用 server/src/services/documentSequence.js;不为历史数据强制迁移,避免生产风险。"
A3,草稿删除入口,"前端暴露删除草稿入口,调用现有 DELETE /reimbursements/:id;仅 draft 状态允许删除,reviewing 使用撤回,approved/paid 不提供删除。","报销列表和详情页草稿状态可删除且二次确认;非草稿不显示删除;删除后返回列表并刷新。","cd client && npx playwright test tests/e2e/r102-reimbursement-main-flow.spec.ts --reporter=list;server node --check src/routes/reimbursements.js;业务流程:创建草稿→列表删除;创建草稿→详情删除。","playwright|typescript|node",DONE,DONE,DONE,"client/src/api/reimbursements.ts|client/src/pages/ReimbursementsPage.tsx|client/src/pages/ReimbursementDetailPage.tsx|server/src/routes/reimbursements.js","[""A2""]","后端已有 draft 删除能力时只补前端;若后端缺少权限校验则本批补齐。"
A4,发票默认绑定明细,"添加发票弹窗中,报销只有一条明细时默认绑定该明细;多条明细时优先按发票金额与明细金额匹配;无法匹配时允许不绑定具体明细。","打开添加发票弹窗时,单明细场景下可绑定发票的下拉默认选中唯一明细;多明细同金额时选中匹配明细;用户仍可改为整单绑定。","cd client && npx playwright test tests/e2e/r102-reimbursement-main-flow.spec.ts --reporter=list;业务流程:草稿含一条明细→添加发票→默认绑定明细→绑定成功。","playwright|typescript",DONE,DONE,DONE,"client/src/pages/ReimbursementDetailPage.tsx","[""A2""]","不改变后端绑定 API;只优化前端默认选择算法。"
A5,发票上传交互精简与批量,"添加发票区域支持多选文件、中文文件回显、上传进度和失败保留;文案从解释型改为任务型。","上传控件允许 multiple;按钮文案为 上传发票;上传中显示完成数;失败文件保留;不暴露原生英文上传按钮。","cd client && npx playwright test tests/e2e/r102-reimbursement-main-flow.spec.ts --reporter=list;业务流程:添加发票弹窗选择多个文件→上传按钮状态可见→失败提示可读。","playwright|typescript",DONE,DONE,DONE,"client/src/pages/ReimbursementDetailPage.tsx|client/src/api/invoicePool.ts|scripts/qa/check-ui-design-rules.mjs","[""A4""]","OCR 后端调用保持现状;若发现长期处理中,仅前端显示可重试/刷新提示,后续 OCR 专项再深改。"
A6,报销页面文案与结构精简,"按 R100 规则精简报销列表、详情和添加发票弹窗的解释型文案,突出状态、金额、明细、发票和主操作。","报销列表副标题和详情说明更短;添加发票弹窗不再出现长段流程解释;PC 和移动首屏更简洁。","node scripts/qa/check-ui-design-rules.mjs;cd client && npx playwright test tests/e2e/r102-reimbursement-main-flow.spec.ts --reporter=list;业务流程:员工从列表进入草稿详情并添加发票,首屏关键操作清晰。","node|playwright|typescript",DONE,DONE,DONE,"client/src/pages/ReimbursementsPage.tsx|client/src/pages/ReimbursementDetailPage.tsx|client/src/pages/reimbursement-detail/ReimbursementActions.tsx|client/src/pages/MobileReimbursementsPage.tsx","[""A2"",""A3"",""A4"",""A5""]","不做全站设计重构;采购/差旅留给 R103。"
A7,报销主流程自动化验证,"新增 R102 Playwright 用例覆盖新建草稿编号显示、删除草稿、添加发票默认绑定、批量上传控件和移动报销卡片。","R102 用例通过;覆盖 PC 390/1440 关键路径;失败截图可用于后续修复。","cd client && npx playwright test tests/e2e/r102-reimbursement-main-flow.spec.ts --reporter=list;业务流程:新建草稿→查看列表/详情→添加发票默认绑定→删除草稿→移动报销查看。","playwright",DONE,DONE,DONE,"client/tests/e2e/r102-reimbursement-main-flow.spec.ts","[""A2"",""A3"",""A4"",""A5"",""A6""]","使用 mock API,不依赖生产数据;后续可追加 live smoke。"
A8,验证回填与中文提交,"执行 CSV 校验、后端语法/Prisma、前端 typecheck/build、UI 诊断、R102 Playwright,并中文提交。","A1-A7 状态按实测回填;git diff --check 通过;提交信息中文且引用 R102/A1-A8。","python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-06_22-34-54-r102-reimbursement-main-flow.csv;cd server && npm run prisma:validate && node --check src/routes/reimbursements.js;cd client && npm run build;node scripts/qa/check-ui-design-rules.mjs;cd client && npx playwright test tests/e2e/r102-reimbursement-main-flow.spec.ts --reporter=list;业务流程:确认报销主流程变更可构建可回归。","python|node|npm|playwright|git",DONE,DONE,DONE,"issues/2026-05-06_22-34-54-r102-reimbursement-main-flow.csv|server/src/routes/reimbursements.js|client","[""A1"",""A2"",""A3"",""A4"",""A5"",""A6"",""A7""]","提交后进入 R103 跨页面一致性。"