7.0 KiB
7.0 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | A1 | R51 执行合同建档与范围冻结 | 创建并校验 R51 移动端增强执行合同 CSV,冻结范围仅包含移动首页、移动我的页、底部导航和移动审批页增强;明确本轮不新增后端端点、不修改 PWA start_url、不做独立 mobile layout。 | issues/2026-04-05_r51-mobile-enhancement.csv 列完整、Dependencies 为 JSON 数组字符串、Test_Method 可复现;范围仅覆盖移动端前端增强,不混入后端 API 变更或权限码调整。 | 命令:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-04-05_r51-mobile-enhancement.csv。检查:1) 对照 AGENTS.md 与 issues/README.md 确认 12 列完整;2) 范围限定为前端增强;3) A2-A6 依赖链与 reviewer/qa 收口一致。 | manual | DONE | DONE | DONE | issues/2026-04-05_r51-mobile-enhancement.csv | [] | 2026-04-05:Issue CSV 已创建并通过 validate_issues_csv.py 校验,范围与依赖已冻结。 |
| 3 | A2 | 移动路由补齐与底部导航统一挂载 | 新增 /mobile 与 /mobile/me 路由,补充移动端底部导航组件,并在 /mobile/* 下统一挂载,保持现有 AppShellLayout、桌面导航和权限守卫结构不变。 | /mobile 与 /mobile/me 可访问;底部导航固定展示 首页/审批/拍照/我的 四个 tab;仅在移动视口显示;无权限 tab 显示禁用态不跳 403;桌面端 /mobile/* 不出现底部导航。 | 命令:export PATH=/home/shunli/.nvm/versions/node/v22.20.0/bin:$PATH && cd client && npm run typecheck && npm run build。业务:1) 已登录用户访问 /mobile 可见底部导航;2) 进入 /mobile/approvals、/mobile/capture、/mobile/assets/scan、/mobile/me 时导航高亮正确;3) 桌面视口不显示底部导航。 | manual | DONE | DONE | DONE | client/src/router/index.tsx|client/src/router/lazy|client/src/layouts/AppShellLayout.tsx|client/src/components/mobile/MobileBottomNav.tsx | ["A1"] | 2026-04-05:移动路由、底部导航与 /mobile/* 留白接线完成;验证通过 `npm run typecheck` 与 `npm run build`。 |
| 4 | A3 | 移动首页与移动我的页落地 | 新增 MobilePortalPage 与 MobileMePage,复用现有 presence、workflow、notifications、employees 与 auth API 展示移动首页和移动个人页,并提供考勤快捷更新、完整档案入口与推送开关。 | /mobile 显示今日考勤、待审批数量、快捷入口和最近 5 条通知;今日考勤支持 office/remote/out 快捷更新并即时刷新;/mobile/me 展示姓名、部门、头像、完整档案入口和外部推送开关;不新增后端字段。 | 命令:export PATH=/home/shunli/.nvm/versions/node/v22.20.0/bin:$PATH && cd client && npm run typecheck && npm run build。业务:1) 移动首页可直接更新考勤状态;2) leave_sync 状态下禁止误改;3) 最近通知点击可跳转;4) 我的页可展示头像/部门名并切换推送开关。 | manual | DONE | DONE | DONE | client/src/pages/MobilePortalPage.tsx|client/src/pages/MobileMePage.tsx|client/src/api/notifications.ts|client/src/api/presence.ts|client/src/api/employees.ts|client/src/api/auth.ts | ["A2"] | 2026-04-05:移动首页与移动我的页已复用现有 API 落地,覆盖考勤快捷更新、通知跳转、完整档案入口与推送开关;验证通过 `npm run typecheck` 与 `npm run build`。 |
| 5 | A4 | 移动审批搜索 分类筛选与已处理页签 | 增强 MobileApprovalsPage,增加待处理/已处理双层 tab、业务类型 tab 与前端搜索,复用现有 workflow/tasks API;已处理仅展示最近 30 天 completed 任务。 | 有审批权限用户可在 /mobile/approvals 按待处理/已处理切换、按业务类型过滤、按关键字搜索;已处理 tab 仅展示最近 30 天 status=completed 数据;现有单条详情与单条审批不回归。 | 命令:export PATH=/home/shunli/.nvm/versions/node/v22.20.0/bin:$PATH && cd client && npm run typecheck && npm run build。业务:1) 搜索匹配步骤名/业务类型/任务ID/业务实体ID;2) 业务类型 tab 过滤请假/报销/采购/差旅;3) 已处理页签展示最近 30 天 completed 任务。 | manual | DONE | DONE | DONE | client/src/pages/MobileApprovalsPage.tsx|client/src/api/workflow.ts | ["A2"] | 2026-04-05:移动审批已补齐待处理/已处理双层 tab、业务类型筛选与前端搜索;已处理仅保留最近 30 天 completed 数据;验证通过 `npm run typecheck` 与 `npm run build`。 |
| 6 | A5 | 批量审批与离线批量入队/同步收口 | 在 MobileApprovalsPage 增加批量处理模式与多选框,支持批量通过和共享意见的批量驳回;在线串行调用现有 API,离线逐条复用 workflowActionQueue 入队与同步。 | 待处理页签可进入批量模式并选择多条任务;批量通过在线串行成功并汇总结果;批量驳回必须填写共享意见;离线模式下批量通过/驳回逐条写入现有审批草稿队列并沿用现有重放/冲突分类逻辑。 | 命令:export PATH=/home/shunli/.nvm/versions/node/v22.20.0/bin:$PATH && cd client && npm run typecheck && npm run build。业务:1) 在线批量通过后列表刷新与 badge 数同步减少;2) 在线批量驳回无共享意见时禁止提交;3) 离线批量操作逐条入队,恢复联网后可自动/手动同步。 | manual | DONE | DONE | DONE | client/src/pages/MobileApprovalsPage.tsx|client/src/mobile/workflowActionQueue.ts | ["A4"] | 2026-04-05:已完成批量通过、共享意见批量驳回、离线逐条入队与自动/手动同步收口;reviewer 自审重点检查离线队列复用、重复处理与冲突分类,无阻塞问题。 |
| 7 | A6 | R51 reviewer QA 与提交收口 | 执行 reviewer 风格复核、前端 post-check、业务回归和 CSV 状态回填,确认移动首页、我的页、底部导航与移动审批增强不回归。 | A2-A5 的 Review1_Status 与 Regression_Status 有证据回填;typecheck/build 通过;移动首页考勤更新、通知跳转、移动我的页、移动审批搜索/筛选/已处理/批量审批主链路回归通过。 | 命令:export PATH=/home/shunli/.nvm/versions/node/v22.20.0/bin:$PATH && cd client && npm run typecheck && npm run build。业务:1) 普通已登录用户在移动视口访问 /mobile 可见考勤卡、待审批卡、快捷入口、最近通知和底部导航;2) /mobile/me 展示头像、部门名、姓名、完整档案入口与推送开关;3) 有审批权限用户在 /mobile/approvals 可用搜索、业务类型筛选、已处理 tab 与批量审批;4) 桌面视口访问 /mobile/* 不显示底部导航。 | manual | DONE | DONE | DONE | issues/2026-04-05_r51-mobile-enhancement.csv|client/src/pages/MobilePortalPage.tsx|client/src/pages/MobileMePage.tsx|client/src/pages/MobileApprovalsPage.tsx|client/src/components/mobile/MobileBottomNav.tsx | ["A3","A5"] | 2026-04-05:reviewer 自审完成,`npm run typecheck` 与 `npm run build` 通过;移动首页、移动我的页、移动审批与底部导航主链路已收口。公网 smoke 测试通过(OpenClaw 验收 2026-04-06)。 |