2.7 KiB
2.7 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | R15-0 | R15执行合同建档与范围冻结 | 创建并校验团队在岗视图合同 CSV 并冻结本阶段只做请假联动的轻量状态板 | CSV 校验通过且明确不做打卡 排班 迟到早退等复杂考勤 | python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-21_12-20-00-r15-team-presence.csv | manual | DONE | DONE | DONE | issues/2026-03-21_12-20-00-r15-team-presence.csv|issues/2026-03-21_12-10-00-r14-people-lifecycle.csv | [] | none |
| 3 | R15-1 | EmployeePresence 模型与 API | 新增员工每日状态记录 EmployeePresence 与 me/team/summary API | 员工可查看和更新当日状态 团队可查询当天汇总分布 | cd server && npm run prisma:validate && npm test | manual | DONE | DONE | DONE | server/prisma/schema.prisma|server/src/routes/presence.js|server/src/app.js|server/tests | ["R15-0"] | none |
| 4 | R15-2 | 请假联动与冲突规则 | 把已批准请假自动同步到状态板 并定义 leave_sync 优先级和手工覆盖边界 | 当天有请假覆盖时团队视图强制展示 leave 且普通员工不可覆盖 leave_sync 记录 | cd server && npm test && ./scripts/regression-workflow-actions.sh | manual | DONE | DONE | DONE | server/src/routes/presence.js|server/src/routes/leave.js|server/tests | ["R15-1"] | none |
| 5 | R15-3 | 团队在岗页与 Portal 卡片 | 新增 TeamPresencePage 并在 Portal 增加今日团队状态卡片与员工快捷更新入口 | 老板和行政可在单页看到今日在岗分布 员工可在 Portal 10 秒内更新状态 | cd client && npm run typecheck && npm run build | manual | DONE | DONE | DONE | client/src/pages/TeamPresencePage.tsx|client/src/pages/PortalHomePage.tsx|client/src/router/index.tsx|client/src/api/presence.ts | ["R15-1"] | none |
| 6 | R15-4 | 站内提醒与每日视图 | 补齐团队状态的站内提醒和筛选视图 支持查看全部 在岗 不在岗 | 状态变更和关键缺失可通过站内提醒和团队页筛选发现 | cd server && npm test && cd ../client && npm run typecheck && npm run build | manual | DONE | DONE | DONE | server/src/routes/notifications.js|client/src/pages/TeamPresencePage.tsx|client/src/pages/NotificationsPage.tsx | ["R15-3"] | none |
| 7 | R15-5 | R15回归与验收收口 | 完成团队状态 API 请假联动 Portal 卡片与提醒后的整体验收 | 请假审批通过后团队状态自动体现 且 Portal 登录 主导航 现有请假主链路零回归 | cd server && npm test && ./scripts/regression-all.sh && cd ../client && npm run typecheck && npm run build && npm run test:e2e | manual | DONE | DONE | DONE | issues/2026-03-21_12-20-00-r15-team-presence.csv|server/scripts/regression-all.sh|client/tests/e2e/team-presence.spec.ts | ["R15-2","R15-4"] | none |