learning-backup

06 · 开发计划与排期

版本 v0.3 | 创建 2026-06-10 | 最后编辑 2026-06-10 | 状态 草稿 | 作者 XXX

优先级口径见 00-overview.md §2.1。


0. 实施进度快照(截至 2026-06-10)

模块 状态 说明
后端地基(infra/middleware/common) ✅ 完成 config/db(Bun)/logger/idgen + requestid/recover/cors/auth(JWT)/audit + 统一响应/错误码/分页
鉴权(登录/me/JWT/数据权限) ✅ 完成 含 org_path 子树范围;修复 JWT uid 精度 bug(Snowflake 必须字符串化)
组织架构 🟡 部分 组织/部门树读取 + 新增(path 计算)、岗位/职级读取已完成;节点移动、架构图待做
员工花名册 🟡 部分 列表(多维筛选/分页/数据权限)+ 详情 + 时间线已完成;导入导出、自定义列待做
入离调转 + 审批闭环 ✅ 完成 通用审批引擎 + 流程单;通过即事务化生效(员工/履历/动态/审计一致),E2E 验证
人事动态 / 操作日志 ✅ 完成 hr_events 时间线 + audit_logs 检索
统计分析看板 ✅ 完成(接口) overview/structure/turnover/tenure/headcount,5 接口,范围收敛
合同管理 ✅ 完成 签订/续签/终止(DELETE)/到期提醒/模板
任职奖惩 ✅ 完成 奖励/惩罚录入即进员工动态时间线;列表/校验 + 前端页
员工关怀 ✅ 完成 本月生日 / 入职周年名单(按月计算)+ 前端页
档案库 ✅ 完成 分类/条目 + 借阅审批(复用审批引擎)+ 归还状态机 + 前端页
前端 web(Nuxt) ✅ 完成 登录/工作台/组织/花名册/事务审批/合同/统计/动态 全部页面,浏览器验证端到端闭环
人事报表 ✅ 完成 3 内置模板(在职花名册/部门人数/月度入离职)+ 预览 + 导出真实 .xlsx(excelize)+ 前端页

10 大功能域全部具备后端,且均有可用前端页面(10/10)。 增强项:花名册批量导入/导出 ✅;组织/部门节点移动 ✅(子树 path + 员工 org_path 级联、防环、事务);剩余 报表定时推送等。 | 交付/部署 | ✅ 就绪 | 根 README + schema.sql + 全栈 docker-compose(db/redis/server/web/nginx 单一 URL) + nginx 反代;dev 模式已验证可访问 |

已建后端业务域:auth · org · employee · process · approval · timeline · analytics


1. 排期前提与现实校准


2. WBS(工作分解)

阶段 M0 · 规划(本阶段,已完成)

阶段 M1 · 地基(必须)

阶段 M2 · 核心闭环(必须,P0)

阶段 M3 · 数据可视化(重要,P0)

阶段 M4 · 广度铺开(P1/P2)

阶段 M5 · 交付(必须)


3. 时间盒分配(理想,可压缩)

时间盒 内容 不达标时的降级
Day1 上午 M1 地基 + 鉴权 简化 middleware(先 auth+audit)
Day1 下午 M2 组织 + 花名册 导入导出后置
Day1 晚 M2 入离调转 + 审批 + 动态 审批简化为单级
Day2 上午 M3 看板 + 工作台 图表减到 3 个核心
Day2 下午 M4 广度(合同/档案优先) P2 仅做骨架
Day2 晚 M5 部署 + README + Slidev 优先保证「可访问 URL」

4. 优先级与降级清单(Cut Line)

当时间不足,从下往上砍,保证砍线以上始终完整可演示。

必保(砍线以上)
  ① 登录 + 组织树 + 花名册列表/详情
  ② 一条审批闭环(调动 or 入职)+ 动态/审计留痕
  ③ 统计看板(至少 3 图)
  ④ 可访问的在线 URL + README
———————————— Cut Line ————————————
可砍(时间不够则降级为骨架/占位)
  ⑤ 合同到期提醒自动化 → 手动列表
  ⑥ 档案借阅审批 → 仅上传/列表
  ⑦ 奖惩/关怀/报表 → 页面骨架 + 1 个动作
  ⑧ 定时推送、PDF 导出、自定义报表设计器

5. 测试与质量

层次 做法
后端单测 service 层关键逻辑(审批状态机、path 级联、数据权限拼接)用 Go test
接口自测 .http/Postman 集合或 curl 脚本覆盖主链路
前端 关键 composable/工具函数 vitest;页面以手动走查为主
端到端 一条「调动审批闭环」手动 E2E 验收脚本(见 §6)
数据一致性 流程生效后校验 employees/job_history/hr_events 三处一致
静态检查 Go:go vet + golangci-lint;前端:ESLint + vue-tsc/nuxi typecheck

6. 验收清单(Demo 脚本)

  1. super_admin 登录 → 工作台显示指标卡与提醒。
  2. 组织架构:新建部门、移动节点,架构图正确刷新。
  3. 花名册:按部门+在职状态筛选 → 自定义列 → 导出 Excel;导入 50 行(含错误)看校验报告。
  4. 打开某员工档案 → 发起「调动」流程 → 切换 mgr01 审批通过 → 回到档案看部门已变更、履历新增、动态时间线新增。
  5. 人事动态/操作日志:检索到上述变更两条线记录。
  6. 统计看板:切换组织范围,图表联动刷新。
  7. 退出登录 → 以 emp01 登录只能看本人档案与发起本人流程。

7. 风险登记册

ID 风险 概率 影响 应对 触发降级
R1 工期不足以铺满 10 域 严守 §4 砍线,P2 只做骨架 砍 ⑤–⑧
R2 Nuxt 无现成前端可复用,UI 工作量大 优先用成熟 headless 组件 + Tailwind,复用自建 ui 组件 减少页面精修
R3 审批状态机/事务一致性 bug 通用审批表 + service 事务 + 单测 审批降为单级
R4 组织 path 级联更新出错 事务内前缀替换 + 单测覆盖移动场景 暂禁跨级移动
R5 部署/内网联通失败 提前 Day1 验证 compose 与端口可达 退化为单机直跑
R6 导入导出兼容/性能 excelize + 行级校验 + 限量 导出仅当前页

变更记录

版本 日期 作者 说明
v0.1 2026-06-10 XXX 初稿:WBS、时间盒、降级砍线、测试、验收脚本、风险登记
v0.2 2026-06-10 XXX 新增 §0 实施进度快照,反映后端已落地模块
v0.3 2026-06-10 XXX 进度更新:前端全量完成、任职奖惩接口、交付包(README+schema+全栈 compose)就绪