Files
TurboHR/0-req.md
T
2026-07-23 12:34:43 +08:00

68 KiB
Raw Blame History

劳动用工合规助手 — 需求规格说明书

文档编号: 0-req.md
版本: v2.0
日期: 2026-07-23
状态: 草案
修订: v2.0 — 面向中小企业优化 UI/UX 与交互逻辑,强调极简易用
修订: v3.0 — 升级为 SaaS 多租户架构,支持注册登录/多用户/云端存储


1. 背景与问题分析

1.1 劳动仲裁高发领域

根据司法大数据及各地仲裁委公开统计,劳动争议仲裁案件集中在以下三大领域,占比超过 85%

领域 典型争议点 占比(约)
劳动合同签订 未签书面合同(双倍工资)、逾期签订、到期未续签、违法约定试用期 30%
工资与加班费 拖欠/克扣工资、加班费计算基数错误、未支付加班费、未足额支付 35%
解聘/离职 违法解除劳动合同、未支付经济补偿金/赔偿金、程序不合规、未提前通知 20%

1.2 中小企业特殊痛点

  • 没有专职 HR:很多中小企业由老板或行政兼任,完全不懂劳动法
  • Excel 都嫌麻烦:现有管理方式靠记忆和纸质文件,连 Excel 都没用好
  • 请不起法律顾问:遇到问题不知道找谁,也不知道合不合规
  • 系统太复杂学不会:市面上的 HR 系统功能太多,上手成本高,中小企业用不起来
  • 怕出事但不知道怎么防:知道劳动仲裁麻烦,但不知道从哪里开始预防

1.3 系统定位

构建一个 中小企业也能用起来的极简用工合规工具

  1. 像计算器一样简单 — 打开就能用,不需要培训
  2. 像导航一样引导 — 该做什么、怎么做,一步步引导
  3. 像警报器一样提醒 — 有风险自动弹窗,不怕遗漏
  4. 像顾问一样解释 — 每个风险都附上法律依据和操作建议,不用自己查法条

2. 目标用户

核心用户:中小企业老板 / 行政兼 HR / 初级 HR

用户画像 典型场景
老板兼管 HR10-30人企业) 偶尔打开看看有没有风险,解聘时算一下补偿金
行政兼 HR30-80人企业) 每天花5分钟看看待办,合同到期前续签,每月算加班费
初级 HR80-200人企业) 日常合同管理、工资计算、解聘流程走查

用户特征假设

  • 不懂劳动法,需要系统主动告知合规要求
  • 不愿看长文,偏好"告诉我该做什么"
  • 可能第一次用类似系统,需要新手引导
  • 手机/平板也会用,不能只考虑桌面端

3. UI/UX 设计原则

3.1 核心原则:三看三不用

原则 含义 设计要求
看一眼就懂 不需要说明书 每个页面标题用大白话,不用法律术语
看一眼会点 知道下一步做什么 每个页面有且只有一个主操作按钮(蓝色高亮)
看一眼放心 知道当前状态 用红/黄/绿三色信号灯表示风险状态
不用记法条 系统自动判断合规 风险自动检测,附人话版法律解释
不用手算 系统自动计算 输入最少信息,自动算出结果
不用怕漏掉 系统主动提醒 到期/风险自动弹窗 + 角标提醒

3.2 交互设计规范

信息层级 — 渐进式披露

第一眼:看到什么 → 数字 + 信号灯(绿/黄/红)
第二眼:想知道为什么 → 点击展开风险说明
第三眼:想知道怎么办 → 展开操作建议 + 法律依据

操作流 — 一屏一焦点

  • 每个页面只做一件事,不堆砌功能
  • 主操作按钮固定在视觉焦点位置(右上角或底部居中)
  • 次要操作收起在"更多"菜单中
  • 表单分步填写,一屏不超过 5 个输入项

视觉语言 — 信号灯体系

颜色 含义 使用场景
🟢 绿色 合规/正常 合同在签、工资正常、无风险
🟡 黄色 需关注 合同即将到期、加班超时、待处理
🔴 红色 有风险 未签合同、到期未续签、违法解聘
灰色 不适用 离职员工、已完成事项

文案风格 — 说人话

法律术语 人话版本
「依据《劳动合同法》第82条」 「入职1个月没签合同,员工可以要求双倍工资」
「经济补偿金N」 「需要赔 X 个月工资,共 ¥XX,XXX」
「非过失性解除」 「员工没犯错但要辞退」
「法定节假日300%」 「国庆节加班1天 = 平时3天工资」

3.3 新手引导

  • 首次打开:3 步引导弹窗("这里看风险"→"这里管合同"→"这里算钱"
  • 空数据状态:展示示例截图 + "添加第一个员工"按钮,不让用户面对空白页
  • 关键操作前:简短提示卡片(如解聘前提示"建议先咨询律师")

4. 功能需求

4.1 模块总览

当前版本(v1.0 — 劳动合规基础 + AI 顾问 + 员工参与)

管理端(HR/老板使用)

┌──────────────────────────────────────────────────────────────┐
│                 劳动用工合规助手(管理端)                       │
├───────────┬──────────┬──────────┬──────────┬────────────┬─────┤
│  风险总览   │ 合同管理  │ 钱的计算  │ 解聘助手  │ AI合规顾问  │设置 │
│  (首页)    │          │          │          │            │     │
│ 红黄绿信号灯│ 员工合同  │ 加班费    │ 补偿金计算│ 智能问答    │企业 │
│ 待办清单   │ 到期提醒  │ 双倍工资  │ 合规检查  │ 风险预测    │用户 │
│ 一句话风险  │ 一键续签  │ 经济补偿  │ 流程引导  │ 合同审查    │套餐 │
│ AI风险预测  │纸质/电子  │          │          │ 案例匹配    │     │
└───────────┴──────────┴──────────┴──────────┴────────────┴─────┘
         ↓ 所有风险汇总到首页 ↓

员工端(员工使用,独立入口)

┌──────────────────────────────────────────────┐
│            员工端(手机号验证码登录)           │
├──────────┬──────────┬──────────────────────┤
│ 工资条    │ 我的合同  │ 入职填报/合同确认      │
│          │          │                      │
│ 月度工资  │ 合同信息  │ 扫码填报基本信息       │
│ 加班明细  │ 签订记录  │ 电子合同签署确认       │
│ 确认已阅  │ 下载查看  │ HR审核后入库           │
└──────────┴──────────┴──────────────────────┘

演进路线图

v1.0 (当前)                              v2.0 (近期)               v3.0 (中期)
┌───────────────────────────┐     ┌────────────────┐     ┌──────────────────┐
│ 劳动合规基础 + AI + 员工参与  │ ──→ │ + 社保公积金    │ ──→ │ + 人力成本分析    │
│ 合同/工资/解聘              │     │ 五险一金计算    │     │ 成本报表/趋势     │
│ AI 问答/风险预测/审查        │     │ 缴费基数/比例   │     │ 部门成本/人均     │
│ 员工端:工资条/合同/入职填报  │     │                │     │                  │
└───────────────────────────┘     └────────────────┘     └──────────────────┘

v4.0 (远期)
┌────────────────┐
│ + 员工自助门户  │
│ 考勤/请假/调薪  │
│ 在线审批流程   │
└────────────────┘

精简策略

  • v1.0 聚焦劳动仲裁三大高发领域 + AI 合规顾问 + 员工参与,管理端 5 个页面 + 员工端 3 个页面
  • 架构上预留扩展接口,后续模块即插即用,不重构现有代码
  • 每个页面最多 2 层深度,避免复杂导航

4.2 首页:风险总览(极简版)

目标:打开就知道有没有事、该做什么

页面布局

┌─────────────────────────────────────────────┐
│  👋 早上好!今天有 3 件事需要处理              │
│                                             │
│  ┌──────┐  ┌──────┐  ┌──────┐  ┌──────┐    │
│  │ 12   │  │ 🔴 2 │  │ 🟡 3 │  │ ¥8k  │    │
│  │ 员工  │  │ 高风险│  │ 待办 │  │加班费│    │
│  └──────┘  └──────┘  └──────┘  └──────┘    │
│                                             │
│  📋 今日待办                                 │
│  ┌─────────────────────────────────────┐    │
│  │ 🔴 张三入职35天未签合同 → 去处理      │    │
│  │ 🟡 李四合同还有20天到期 → 去续签      │    │
│  │ 🟡 王五上月加班48小时超标 → 查看      │    │
│  └─────────────────────────────────────┘    │
│                                             │
│  📊 风险分布                                 │
│  ┌─────────────────────────────────────┐    │
│  │  合同风险 ████████ 5项               │    │
│  │  工资风险 ████ 2项                   │    │
│  │  解聘风险 ██ 1项                     │    │
│  └─────────────────────────────────────┘    │
└─────────────────────────────────────────────┘

设计要点

  • 顶部一句话总结:「今天有 X 件事需要处理」,让用户立刻知道是否有事
  • 4 个数字卡片:员工总数 / 高风险数 / 待办数 / 本月加班费
  • 待办列表:每条一行,红/黄信号灯 + 一句话描述 + 「去处理」按钮
  • 风险分布:用简单进度条代替复杂图表,一眼看出哪类问题多
  • 无风险时:显示绿色大勾「 暂无风险,继续保持!」
  • 首次使用空状态:展示「添加第一个员工」引导卡片

4.3 合同管理

目标:不用记日期,不怕忘签,风险自动提醒

4.3.1 员工合同列表(极简表格)

列表只显示 5 列(避免信息过载):

姓名 部门 入职日期 合同状态 操作
张三 技术部 2026-06-18 🔴 未签合同(35天) 签订 / 详情
李四 销售部 2025-08-01 🟡 即将到期(20天) 续签 / 详情
王五 财务部 2024-03-15 🟢 正常 详情
  • 状态列用信号灯 + 简短文字,一眼看出问题
  • 点击「签订」/「续签」直接弹出表单,不需要进详情页
  • 搜索框 + 部门筛选,支持快速查找
  • 批量操作:全选 → 批量续签(适合到期合同多的情况)

4.3.2 添加/编辑员工(分步表单)

Step 1 — 基本信息(4 项)

姓名 *    [___________]
部门 *    [下拉选择___]
入职日期 *:[日期选择器__]
月工资 *  [___________] 元

Step 2 — 合同信息(5 项,可跳过)

合同类型:   ○ 固定期限  ○ 无固定期限  ○ 暂未签订
签订方式:   ○ 纸质合同  ○ 电子合同
签订日期:   [日期选择器__]
合同期限:   [下拉:1年/2年/3年/无固定]
试用期:     [下拉:无/1个月/2个月/3个月/6个月]
  • 如果选「暂未签订」,系统自动标记为高风险并提醒
  • 试用期下拉自动校验合法性(选了1年合同但选6个月试用期 → 红色提示)
  • 智能默认值:合同期限默认3年,试用期默认1个月,减少选择成本
  • 必填项最小化:只有姓名和入职日期是必填,其他都可以后补

签订方式说明

方式 说明 系统支持
纸质合同 打印后双方线下签字盖章 记录签订日期 + 可上传扫描件/拍照存档
电子合同 在线签署电子合同(如通过第三方电子签平台) 记录签订日期 + 可填写电子合同链接/编号
  • 选择「纸质合同」时,显示「上传扫描件」按钮(可选),支持拍照或选择文件上传
  • 选择「电子合同」时,显示「电子合同编号」输入框(可选)和「合同链接」输入框(可选)
  • 两种方式法律效力等同,系统不强制选择,默认为「纸质合同」

4.3.3 合规风险检查规则(后台自动运行)

规则 检查内容 信号灯 人话提示
C-01 入职超1个月未签合同 🔴 「张三入职35天了还没签合同,要赔双倍工资」
C-02 入职超1年未签合同 🔴 「超过1年没签合同,法律上等于已签无固定期限合同」
C-03 合同30天内到期 🟡 「李四合同还有20天到期,该准备续签了」
C-04 合同到期未续签仍用工 🔴 「合同已到期但还在上班,要赔双倍工资」
C-05 试用期超法定上限 🔴 「1年期合同试用期最多2个月,当前3个月不合法」
C-06 试用期工资过低 🟡 「试用期工资不能低于转正工资的80%」
C-07 两次固定期限后应签无固定 🔴 「已经签了2次固定合同,第3次应签无固定期限」

4.3.4 一键续签

  • 合同到期前30天,列表出现「续签」按钮
  • 点击后弹出确认弹窗:
    ┌───────────────────────────────┐
    │  续签李四的劳动合同?           │
    │                               │
    │  原合同:2025-08-01 ~ 2026-07-31│
    │  新合同期限:[3年 ▼]            │
    │  新到期日:2029-07-31           │
    │  试用期:无                     │
    │  签订方式:○ 纸质合同 ○ 电子合同 │
    │                               │
    │  [取消]         [确认续签]      │
    └───────────────────────────────┘
    
  • 续签时选择签订方式(纸质/电子),默认沿用上次签订方式
  • 续签后自动更新状态为 🟢 正常,风险消除

4.4 钱的计算(Tab 切换,一页搞定)

目标:输入最少信息,立刻算出该赔多少、该付多少

页面结构3 个 Tab,共享一个页面

┌─────────────────────────────────────────────┐
│  [ 加班费计算 ] [ 双倍工资 ] [ 经济补偿金 ]    │
├─────────────────────────────────────────────┤
│                                             │
│  (当前 Tab 的计算器内容)                     │
│                                             │
└─────────────────────────────────────────────┘

4.4.1 加班费计算器(Tab 1

界面设计:左输入右结果,实时计算

┌──────────────────┬──────────────────────┐
│  填写信息          │  计算结果              │
│                  │                      │
│  月工资:[8000__] │  📊 加班费明细          │
│        元         │                      │
│                  │  小时工资:¥46.00      │
│  工作日加班:      │                      │
│  [__10__] 小时    │  工作日 ¥690 (10h×1.5) │
│                  │  休息日 ¥736 (8h×2.0)  │
│  休息日加班:      │  节假日 ¥552 (4h×3.0)  │
│  [__8___] 小时    │                      │
│                  │  ───────────────────  │
│  节假日加班:      │  💰 合计:¥1,978       │
│  [__4___] 小时    │                      │
│                  │  ⚠️ 月加班22小时,     │
│  [计算]           │  未超36小时上限 ✅      │
└──────────────────┴──────────────────────┘

交互优化

  • 输入数字后实时计算,不需要点「计算」按钮
  • 结果区固定在右侧,输入时数字实时跳动更新
  • 超过36小时/月时,结果区显示黄色警告
  • 可选关联员工:选择员工后自动填入月工资

计算规则(后台自动,用户不需要知道公式):

小时工资 = 月工资 ÷ 21.75 ÷ 8
工作日加班费 = 小时工资 × 1.5 × 小时数
休息日加班费 = 小时工资 × 2.0 × 小时数
节假日加班费 = 小时工资 × 3.0 × 小时数

4.4.2 双倍工资计算器(Tab 2)

界面设计

┌──────────────────┬──────────────────────┐
│  填写信息          │  计算结果              │
│                  │                      │
│  月工资:[8000__] │  ⚠️ 风险提示            │
│        元         │                      │
│                  │  入职日期:2026-06-01  │
│  入职日期:        │  合同签订:未签订       │
│  [2026-06-01]    │                      │
│                  │  双倍工资起算:        │
│  合同签订日期:    │  2026-07-02           │
│  [未签订 ▼]      │                      │
│  或选择日期       │  双倍工资截止:        │
│                  │  2027-05-31           │
│                  │                      │
│                  │  💰 需赔:¥88,000      │
│                  │  (11个月 × ¥8,000)   │
│                  │                      │
│                  │  📌 法律规定:入职1个月 │
│                  │  没签合同,从第2个月起  │
│                  │  要付双倍工资,最多11个月│
└──────────────────┴──────────────────────┘

交互优化

  • 「合同签订日期」默认显示「未签订」,也可选择日期
  • 如果已签订但逾期,自动计算逾期月数的双倍工资
  • 结果区用醒目大字显示金额
  • 底部附「人话版」法律解释

4.4.3 经济补偿金计算器(Tab 3)

界面设计

┌──────────────────┬──────────────────────┐
│  填写信息          │  计算结果              │
│                  │                      │
│  入职日期:        │  📊 补偿金计算          │
│  [2022-03-01]    │                      │
│                  │  工作年限:4年2个月     │
│  离职日期:        │  → 按4.5个月计算       │
│  [2026-05-15]    │                      │
│                  │  月工资:¥8,000        │
│  月平均工资:      │                      │
│  [8000___] 元    │  💰 经济补偿金:        │
│                  │     ¥36,000           │
│  离职原因:        │     (4.5 × 8,000)     │
│  [协商解除 ▼]    │                      │
│                  │  ⚠️ 如果是违法解除:    │
│  当地社平工资:    │     赔偿金 = ¥72,000   │
│  [8000___] 元    │     (补偿金 × 2)       │
│  (选填,用于封顶)  │                      │
│                  │  📌 6个月以上算1年,    │
│                  │  不满6个月算半个月      │
└──────────────────┴──────────────────────┘

交互优化

  • 「离职原因」用下拉选择,选项用人话:
    • 「协商解除(双方同意)」
    • 「员工犯错被辞退」
    • 「员工没犯错但干不了」
    • 「公司裁员」
    • 「公司单方面违法辞退」
  • 根据离职原因自动判断是否需要支付补偿金
  • 「当地社平工资」选填,不填则跳过封顶计算
  • 结果同时显示正常补偿金和违法解除赔偿金(×2)

4.4.4 工资合规自动检查(后台规则)

规则 检查内容 信号灯 人话提示
S-01 工资低于当地最低工资 🔴 「工资不能低于当地最低工资标准」
S-02 加班超36小时/月 🟡 「月加班超过36小时有法律风险」
S-03 试用期工资过低 🟡 「试用期工资至少是转正工资的80%」

4.5 解聘助手(向导式流程)

目标:一步步引导完成合规解聘,不怕漏步骤

设计理念:不展示复杂清单,而是用向导式流程,一次只看一步

4.5.1 解聘向导(5 步)

┌─────────────────────────────────────────────┐
│  解聘助手                            ●●○○○  │
│  ─────────────────────────────────────────  │
│                                             │
│  Step 1/5:为什么解聘?                       │
│                                             │
│  ○ 协商解除(双方同意分开了)                  │
│  ○ 员工犯错被辞退(严重违纪/失职等)            │
│  ○ 员工没犯错但干不了(生病/不胜任等)          │
│  ○ 公司裁员(经营困难/技术调整等)              │
│  ○ 合同到期不续签                             │
│                                             │
│  💡 选不同原因,后续步骤和法律要求不同          │
│                                             │
│                          [下一步 →]          │
└─────────────────────────────────────────────┘

5 步流程

步骤 标题 内容 交互
Step 1 为什么解聘? 选择解聘原因(用人话选项) 单选
Step 2 员工信息 选择员工 → 自动带入入职日期/工资 → 填写解聘日期 下拉 + 日期
Step 3 合规检查 根据解聘原因自动展示相关检查项(3-5项) 逐项勾选
Step 4 算钱 自动计算补偿金/代通知金,展示金额 自动计算
Step 5 确认完成 汇总检查结果 + 金额 + 风险评估 → 保存记录 确认按钮

关键交互

  • 顶部进度条 ●●○○○ 直观显示进度
  • 每步只有 1 个主操作「下一步」
  • Step 3 合规检查根据 Step 1 的选择动态展示
    • 选「协商解除」→ 只检查「是否支付补偿金」「是否签协议」
    • 选「员工犯错」→ 检查「是否有规章制度依据」「是否有证据」「是否通知工会」
    • 选「裁员」→ 检查「是否提前30天说明」「是否听取意见」「是否报劳动部门」
  • 检查项用人话描述,不是法条原文
  • Step 5 如果有未通过检查项,显示红色警告但不阻止保存(尊重用户决策)

4.5.2 禁止解聘情形检查(自动弹出)

在 Step 2 选择员工后,自动检查是否属于不得解除情形:

检查项 触发条件 提示
孕期/产期/哺乳期 员工标记为女性 + 在孕期/哺乳期 🔴 「该员工在孕期,法律禁止解除」
工伤期间 员工标记为工伤 🔴 「工伤期间不得解除劳动合同」
医疗期 员工在规定的医疗期内 🔴 「医疗期内不得解除」
  • 如果触发禁止情形,弹出醒目红色警告框
  • 不阻止继续操作,但要求用户确认「我已了解风险,继续操作」

4.5.3 解聘记录

  • 完成向导后自动生成解聘记录
  • 记录包含:员工信息、解聘原因、检查结果、补偿金额、操作日期
  • 可在解聘助手页面底部查看历史记录
  • 支持导出单条记录为 PDF(可选)

4.6 AI 合规顾问

目标:像有个法律顾问在身边,随时问、自动查、提前预警

设计理念:不是冷冰冰的搜索框,而是对话式交互,用户用大白话提问,AI 用大白话回答

4.6.1 智能问答

界面设计:聊天式对话界面

┌─────────────────────────────────────────────┐
│  🤖 AI 合规顾问                              │
│                                             │
│  ┌─────────────────────────────────────┐    │
│  │ 🤖 你好!我是你的用工合规顾问,       │    │
│  │    有什么劳动法问题可以直接问我。      │    │
│  │                                     │    │
│  │    你可以问我:                      │    │
│  │    · 员工入职没签合同怎么办?         │    │
│    │ · 加班费怎么算?                    │    │
│    │ · 辞退员工需要赔多少?               │    │
│    └─────────────────────────────────┘    │
│                                             │
│  ┌─────────────────────────────────────┐    │
│  │ 👤 试用期最长可以约定几个月?          │    │
│  └─────────────────────────────────────┘    │
│                                             │
│  ┌─────────────────────────────────────┐    │
│  │ 🤖 根据《劳动合同法》第19条:         │    │
│  │                                     │    │
│  │  · 合同期 3个月~1年 → 试用期最多1个月 │    │
│  │  · 合同期 1年~3年 → 试用期最多2个月   │    │
│  │  · 合同期 3年以上 → 试用期最多6个月   │    │
│  │                                     │    │
│  │  ⚠️ 你的员工王五:合同2年但试用期3个月│    │
│  │     超过法定上限,建议调整为2个月      │    │
│  └─────────────────────────────────────┘    │
│                                             │
│  ┌─────────────────────────────────────┐    │
│  │ [输入问题...]                 [发送] │    │
│  └─────────────────────────────────────┘    │
└─────────────────────────────────────────────┘

交互特点

  • 聊天式界面,支持多轮对话(上下文记忆)
  • 回答时关联本企业数据(如「你的员工王五试用期超限」)
  • 回答附法律依据引用(可折叠查看法条原文)
  • 预设常见问题快捷按钮(「没签合同怎么办」「加班费怎么算」等)
  • 支持语音输入(移动端)

4.6.2 风险预测

界面设计:首页风险总览中的智能分析卡片

┌─────────────────────────────────────────────┐
│  🔮 AI 风险预测                              │
│                                             │
│  ⚠️ 未来30天预计新增 3 个风险:               │
│                                             │
│  · 李四合同7月31日到期 → 续签提醒             │
│  · 张三入职将满1年 → 未签合同风险升级         │
│  · 上月加班总时长上升40% → 超时风险           │
│                                             │
│  💡 建议:本周优先处理合同到期和未签问题        │
└─────────────────────────────────────────────┘
  • 基于企业当前数据(合同到期日、入职日期、加班趋势)预测未来风险
  • 每日自动刷新,展示在首页风险总览下方
  • 给出优先级建议(先处理什么)

4.6.3 合同审查

功能:上传合同文本或粘贴条款,AI 审查合法性

┌─────────────────────────────────────────────┐
│  📄 合同审查                                 │
│                                             │
│  [粘贴合同条款文本...]                       │
│  [或上传合同文件(.txt/.docx)]                 │
│                                             │
│  [开始审查]                                  │
│                                             │
│  ──────────── 审查结果 ────────────          │
│                                             │
│  🔴 试用期6个月超过法定上限(合同期2年最多2月)│
│  🟡 竞业限制未约定补偿标准                    │
│  🟡 加班费计算基数未明确约定                   │
│  🟢 社保缴纳条款符合规定                      │
│  🟢 工资支付条款符合规定                      │
│                                             │
│  📊 合规评分:72/100                         │
└─────────────────────────────────────────────┘
  • 逐条审查合同条款,标注红/黄/绿
  • 给出修改建议(人话版)
  • 合规评分直观展示合同整体合法程度

4.6.4 案例匹配

功能:输入争议情况,匹配相似仲裁案例,评估败诉风险

┌─────────────────────────────────────────────┐
│  ⚖️ 案例匹配                                 │
│                                             │
│  描述你的情况:                               │
│  [员工入职3个月没签合同,现在要辞退他...]      │
│                                             │
│  [分析]                                      │
│                                             │
│  ──────────── 相似案例 ────────────          │
│                                             │
│  📋 案例1:某科技公司 vs 员工张某             │
│  · 情形:入职3个月未签合同后辞退              │
│  · 结果:企业败诉,赔双倍工资+违法解除赔偿     │
│  · 赔偿金额:¥XX,XXX                         │
│  · 相似度:92%                               │
│                                             │
│  📋 案例2:某贸易公司 vs 员工李某             │
│  · 情形:未签合同 + 协商解除                  │
│  · 结果:企业赔双倍工资差额                   │
│  · 赔偿金额:¥XX,XXX                         │
│  · 相似度:85%                               │
│                                             │
│  ⚠️ 你的败诉风险:高(90%)                   │
│  💡 建议:先补签合同再协商解除,可降低风险      │
└─────────────────────────────────────────────┘
  • 内置劳动仲裁案例库(公开裁判文书)
  • AI 语义匹配相似案例,计算相似度
  • 评估败诉概率和预估赔偿金额
  • 给出风险降低建议

4.6.5 技术方案

组件 方案
LLM 阿里通义千问(Qwen),通过 DashScope API 调用,中文劳动法领域表现优秀
模型选择 qwen-plus(日常问答)/ qwen-max(合同审查/案例匹配等复杂任务)
API Key 通过环境变量 DASHSCOPE_API_KEY 注入,不硬编码
RAG 知识库 劳动法/劳动合同法/司法解释/地方条例 向量化存储
向量数据库 Supabase pgvector(与业务数据库共用,减少依赖)
Embedding DashScope text-embedding-v2(中文支持好,与 Qwen 生态统一)
上下文关联 每次问答注入当前企业数据摘要(员工数/风险项/合同状态)
案例库 爬取公开裁判文书,结构化存储 + 向量检索
流式输出 DashScope SSE 流式返回,打字机效果,提升体验
安全过滤 敏感问题兜底回复(「建议咨询专业律师」)

4.6.6 使用限制

套餐 AI 问答次数/月 合同审查次数/月 案例匹配次数/月
free 10 3 3
pro 100 20 20
enterprise 无限 无限 无限

4.7 员工参与(员工端,独立入口)

目标:让员工也能查看自己的合同和工资,参与入职填报和合同确认,减少 HR 沟通成本

设计理念:员工端独立入口,不需要注册账号,手机号验证码登录,极简操作

4.7.1 员工登录

  • 入口:独立页面 /portal/login,与管理端完全分离
  • 登录方式:支持两种方式,员工可自由选择
    • 方式一:手机号 + 密码(推荐,无需短信服务)
      • HR 创建员工时设置初始密码,员工首次登录后可修改
      • 密码 6 位以上,支持数字+字母组合
    • 方式二:手机号 + 验证码(无需记密码)
      • v1.0 方案:页面内显示验证码(暂不接入短信服务,降低成本)
      • 后续版本:接入阿里云短信服务,发送真实短信验证码
  • 验证码发送:优先通过页面内验证码(暂不接入短信服务,降低成本)
    • v1.0 方案:HR 通过微信分享员工端二维码/链接,员工扫码进入后输入手机号,系统发送验证码(页面内弹窗显示验证码,后续版本再接入短信)
    • 后续版本:接入阿里云短信服务,发送真实短信验证码
  • 身份识别:根据手机号匹配企业员工记录,自动关联 orgId
  • 安全:验证码 5 分钟有效,同一手机号每小时最多 5 次;密码错误 5 次锁定 30 分钟
┌─────────────────────────────────────────────┐
│  🏢 用工合规助手 — 员工端                      │
│                                             │
│  [密码登录]  [验证码登录]    ← 切换 Tab       │
│                                             │
│  ── 密码登录 ──                               │
│  手机号:[___________]                       │
│  密码:  [___________]                       │
│  [登录]                                      │
│                                             │
│  ── 验证码登录 ──                              │
│  手机号:[___________]                       │
│  [获取验证码]  验证码:[______]               │
│  [登录]                                      │
│                                             │
│  📱 也可扫描 HR 发送的二维码直接进入            │
└─────────────────────────────────────────────┘

HR 端生成员工端二维码

  • HR 在管理端可生成员工端入口二维码,扫码直接打开 /portal/login
  • 二维码可保存为图片,HR 通过微信发给员工
  • 员工扫码后选择密码登录或验证码登录
  • HR 创建员工时设置初始密码,可通过微信单独告知员工

4.7.2 工资条查看

页面/portal/payslip

┌─────────────────────────────────────────────┐
│  💰 我的工资条                                │
│                                             │
│  月份选择:[2026年7月 ▼]                      │
│                                             │
│  ┌─────────────────────────────────────┐    │
│  │ 基本工资:        ¥8,000            │    │
│  │ 加班费:          ¥1,978            │    │
│  │  └ 工作日加班:   ¥690 (10h)        │    │
│  │  └ 休息日加班:   ¥736 (8h)         │    │
│  │  └ 节假日加班:   ¥552 (4h)         │    │
│  │ ─────────────────────────          │    │
│  │ 应发合计:        ¥9,978            │    │
│  └─────────────────────────────────────┘    │
│                                             │
│  [确认已阅]                                  │
└─────────────────────────────────────────────┘
  • 按月查看工资明细,包含基本工资和加班费拆分
  • 加班费明细可展开查看工作日/休息日/节假日分类
  • 「确认已阅」按钮,记录员工已查看该月工资条(时间 + IP)
  • HR 端可查看哪些员工已确认、哪些未确认

4.7.3 我的合同

页面/portal/contract

┌─────────────────────────────────────────────┐
│  📄 我的劳动合同                              │
│                                             │
│  合同类型:固定期限                           │
│  签订方式:纸质合同                           │
│  签订日期:2026-03-15                        │
│  合同期限:2026-03-15 ~ 2029-03-143年)    │
│  试用期:2个月(2026-03-15 ~ 2026-05-14    │
│  试用期工资:¥6,400                          │
│  转正工资:¥8,000                            │
│                                             │
│  📎 合同扫描件:劳动合同_张三.pdf [查看]      │
│                                             │
│  ──────────── 签署记录 ────────────          │
│  ✅ 已确认签署(2026-03-15 14:32            │
│  确认IP192.168.x.x                         │
└─────────────────────────────────────────────┘
  • 查看自己的劳动合同信息(只读)
  • 可查看合同扫描件(纸质)或电子合同链接(电子)
  • 展示签署确认记录(时间 + IP
  • 如合同即将到期,顶部显示提示「您的合同还有 XX 天到期」

4.7.4 员工入职填报

页面/portal/onboarding?token=xxx

使用场景:HR 在管理端添加员工时选择「生成填报二维码」,员工扫码填写(HR 通过微信发送二维码图片或链接)

┌─────────────────────────────────────────────┐
│  📝 入职信息填报                              │
│                                             │
│  欢迎加入 XX公司!请填写以下信息:             │
│                                             │
│  姓名 *    [___________]                   │
│  手机号 *  [___________]                   │
│  身份证号 *[___________]                   │
│  紧急联系人:[___________]                   │
│  联系电话:  [___________]                   │
│  住址:      [___________]                   │
│  银行卡号:  [___________]                   │
│  开户行:    [___________]                   │
│                                             │
│  [提交]                                      │
│                                             │
│  📌 提交后 HR 将审核您的信息                  │
└─────────────────────────────────────────────┘
  • HR 端创建员工时可选「生成填报二维码」或「自己填写」
  • 选择「生成填报二维码」后,页面显示二维码图片 + 链接,HR 可:
    • 保存二维码图片,通过微信发给员工
    • 复制链接,通过微信直接发给员工
  • 填报链接含一次性 token,有效期 24 小时
  • 员工填写的信息进入「待审核」状态,HR 审核后正式入库
  • 填报信息加密传输(HTTPS
  • 暂不接入短信服务,降低初期成本,后续版本可增加短信通知

4.7.5 电子合同签署确认

页面/portal/contract-confirm?token=xxx

使用场景:HR 在管理端录入电子合同后,生成确认二维码/链接,通过微信发给员工

┌─────────────────────────────────────────────┐
│  ✍️ 合同签署确认                              │
│                                             │
│  XX公司 与 张三 的劳动合同                    │
│                                             │
│  合同类型:固定期限(3年)                    │
│  合同期限:2026-03-15 ~ 2029-03-14           │
│  试用期:2个月                               │
│  试用期工资:¥6,400                          │
│  转正工资:¥8,000                            │
│                                             │
│  📎 查看合同文件:[点击查看]                   │
│                                             │
│  ┌─────────────────────────────────────┐    │
│  │ ☐ 我已阅读合同内容,确认签署         │    │
│  └─────────────────────────────────────┘    │
│                                             │
│  [确认签署]                                  │
│                                             │
│  📌 确认后将记录签署时间和 IP 地址            │
└─────────────────────────────────────────────┘
  • 员工查看合同内容后勾选确认 + 点击「确认签署」
  • 系统记录确认时间、IP 地址、设备信息
  • HR 端合同状态自动更新为「已确认签署」
  • 确认链接含一次性 token,有效期 7 天
  • HR 生成确认二维码后,可保存图片通过微信发给员工,或复制链接直接发送
  • 暂不接入短信服务,通过微信发送二维码/链接即可
  • 法律效力说明:此确认为员工知情确认,正式电子签章需接入第三方电子签平台(后续版本)

4.8 风险提醒(融入首页,不单独成页)

设计理念:风险不需要单独页面,直接在首页和各模块中展示

风险展示位置

位置 展示方式
首页 待办列表 + 风险分布进度条
合同管理 列表状态列信号灯 + 详情页风险卡片
钱的计算 计算结果区的警告提示
解聘助手 向导 Step 3/5 的检查结果
顶部导航栏 红色角标显示待处理风险总数,点击跳转首页

风险处理

  • 在首页待办列表中,每条风险右侧有「去处理」按钮
  • 点击直接跳转到对应模块的操作页面
  • 处理完成后风险自动消除(如签了合同,未签风险消失)
  • 也可手动标记「已忽略」并填写备注(记录决策原因)

5. 数据模型(SaaS 多租户)

5.0 多租户基础表

Organization(企业/组织)

interface Organization {
  id: string;
  name: string;                    // 企业名称
  plan: 'free' | 'pro' | 'enterprise';  // 套餐
  maxEmployees: number;            // 套餐对应人数上限
  createdAt: string;
}

User(用户)

interface User {
  id: string;
  orgId: string;                   // 所属企业
  phone: string;                   // 手机号(登录用)
  email?: string;                  // 邮箱(选填)
  passwordHash: string;            // bcrypt 加密密码
  name: string;                    // 用户姓名
  role: 'admin' | 'hr' | 'viewer'; // 角色
  createdAt: string;
  lastLoginAt?: string;
}

角色权限

角色 权限
admin 全部操作 + 用户管理 + 套餐管理
hr 合同/加班/解聘的增删改查
viewer 只能查看,不能修改

5.1 员工信息 (Employee) — 精简字段

interface Employee {
  id: string;
  orgId: string;                   // 所属企业(多租户隔离)
  name: string;                    // 姓名(必填)
  department: string;              // 部门(必填)
  hireDate: string;                // 入职日期(必填)
  monthlySalary: number;           // 月工资标准(必填,加密存储)
  status: 'active' | 'resigned';   // 在职/离职
  gender?: 'male' | 'female';      // 性别(选填,用于禁止解聘检查)
  isPregnant?: boolean;            // 是否在孕期/哺乳期(选填)
  isInMedicalPeriod?: boolean;     // 是否在医疗期(选填)
  isWorkInjured?: boolean;         // 是否工伤期间(选填)
  phone?: string;                  // 联系电话(选填)
  createdBy: string;               // 创建人 userId
  createdAt: string;
  updatedAt: string;
}

精简策略:必填字段仅 4 个(姓名/部门/入职日期/月工资),其余选填

5.2 劳动合同 (LaborContract)

interface LaborContract {
  id: string;
  orgId: string;                   // 所属企业
  employeeId: string;              // 关联员工
  signDate: string | null;         // 签订日期(null=未签订)
  startDate: string;               // 合同起始日期
  endDate: string | null;          // 到期日期(null=无固定期限)
  contractType: 'fixed' | 'unfixed' | 'unsigned';  // 简化:固定/无固定/未签
  signMethod: 'paper' | 'electronic';  // 签订方式:纸质/电子
  contractYears: number;           // 合同年限(1/2/3等,无固定=0)
  probationMonths: number;         // 试用期月数(0=无试用期)
  probationSalary: number;         // 试用期工资(0=无试用期)
  renewalCount: number;            // 续签次数
  attachmentName?: string;         // 纸质合同扫描件文件名(可选)
  attachmentUrl?: string;          // 扫描件存储 URL(可选)
  electronicContractNo?: string;   // 电子合同编号(可选)
  electronicContractUrl?: string;  // 电子合同链接(可选)
  createdBy: string;
  createdAt: string;
  updatedAt: string;
}

精简策略:去掉 task 类型(中小企业极少使用)、去掉 status(由系统自动计算)

签订方式支持signMethod 区分纸质/电子,纸质可上传扫描件存档,电子可记录合同编号和链接

5.3 加班记录 (OvertimeRecord)

interface OvertimeRecord {
  id: string;
  orgId: string;                   // 所属企业
  employeeId: string;
  month: string;                   // YYYY-MM
  weekdayHours: number;            // 工作日加班小时
  weekendHours: number;            // 休息日加班小时
  holidayHours: number;            // 法定节假日加班小时
  calculatedPay: number;           // 应付加班费(自动计算)
  createdBy: string;
  createdAt: string;
}

精简策略:去掉 overtimePay(中小企业通常不记录已付金额,只算应付)

5.4 解聘记录 (TerminationRecord)

interface TerminationRecord {
  id: string;
  orgId: string;                   // 所属企业
  employeeId: string;
  terminationDate: string;
  reason: 'negotiated' | 'fault' | 'nonfault' | 'layoff' | 'expired';
  compensation: number;            // 经济补偿金(自动计算)
  checklistResult: {               // 向导检查结果
    item: string;
    passed: boolean;
    remark?: string;
  }[];
  riskLevel: 'safe' | 'warning' | 'danger';
  createdBy: string;
  createdAt: string;
}

精简策略:去掉 reasonDetail(向导中已选择)、去掉 noticeType(由向导检查项覆盖)、去掉单独的 hasProofIssued/hasArchiveTransferred(合并到 checklistResult

5.5 风险项 (RiskItem)

interface RiskItem {
  id: string;
  orgId: string;                   // 所属企业
  type: 'contract' | 'salary' | 'termination';
  level: 'high' | 'medium' | 'low';
  title: string;                   // 人话标题
  description: string;             // 人话描述
  suggestion: string;              // 人话建议
  legalBasis: string;              // 法律依据(折叠展示)
  employeeId?: string;
  status: 'pending' | 'resolved' | 'ignored';
  actionUrl?: string;              // 点击跳转的处理页面路由
  createdAt: string;
  resolvedAt?: string;
  resolvedBy?: string;
}

5.6 操作审计日志 (AuditLog)

interface AuditLog {
  id: string;
  orgId: string;
  userId: string;                  // 操作人
  action: string;                  // 操作类型(如 'contract.sign', 'termination.create'
  target: string;                  // 操作对象(如 'employee:张三'
  detail: string;                  // 操作详情
  ipAddress: string;               // IP 地址
  createdAt: string;
}

新增 actionUrl:风险项可以直接跳转到对应的处理页面,一键操作


6. 系统架构(SaaS 版)

6.1 技术架构

┌─────────────────────────────────────────────────────┐
│                    前端(React 18                   │
│  Vite + TailwindCSS + Recharts + React Router       │
│  部署:Vercel / Netlify                              │
├─────────────────────────────────────────────────────┤
│                 API 层(RESTful                     │
│  Axios 请求 → JWT Token 认证 → 路由守卫               │
├─────────────────────────────────────────────────────┤
│                 后端(Node.js                       │
│  Express + Prisma ORM + JWT 认证 + Zod 校验          │
│  部署:Railway / Render                              │
├─────────────────────────────────────────────────────┤
│                 数据库(PostgreSQL                   │
│  多租户隔离(org_id) + 全文搜索 + 自动备份            │
│  部署:Railway / Supabase / Neon                     │
└─────────────────────────────────────────────────────┘

6.2 多租户架构

隔离策略:共享数据库 + 行级隔离(org_id 字段)

  • 每个企业注册后创建一个 Organization(组织)
  • 所有业务数据表均包含 orgId 字段
  • 所有 API 请求自动注入当前用户的 orgId,只能访问本企业数据
  • Prisma 中间件自动过滤 orgId,防止越权

6.3 认证体系

功能 说明
注册 企业手机号/邮箱注册,创建 Organization + Admin 用户
登录 手机号/邮箱 + 密码登录,返回 JWT Token
Token 管理 Access Token2h 过期)+ Refresh Token7d 过期)
路由守卫 前端 React Router 守卫,未登录跳转登录页
API 拦截 后端中间件校验 JWT,提取 userId + orgId
角色权限 admin(管理员)/ hrHR 操作员)/ viewer(只读)

6.4 安全要求

类别 要求
密码存储 bcrypt 加密,不存明文
数据传输 全站 HTTPS
JWT 密钥 环境变量管理,不硬编码
SQL 注入 Prisma ORM 参数化查询,杜绝注入
XSS 防护 React 自动转义 + CSP 头
数据隔离 每个请求校验 orgId,禁止跨企业访问
敏感数据 工资字段加密存储(AES-256
操作日志 关键操作(解聘/合同变更)记录审计日志
速率限制 登录接口限流(5次/分钟),防止暴力破解

6.5 非功能需求

类别 要求
前端技术栈 React 18 + Vite + TailwindCSS + Recharts
后端技术栈 Node.js + Express + Prisma ORM + Zod
数据库 PostgreSQL,支持多租户行级隔离
认证 JWTAccess Token + Refresh Token
响应式 桌面端(1280px+/ 平板端(768px+/ 手机端(375px+
语言 全简体中文,文案用「人话」避免法律术语
性能 首屏加载 < 2sAPI 响应 < 500ms
浏览器 Chrome / Edge / Safari 最新版
部署 前端 Vercel + 后端 Railway + 数据库 Neon/Supabase
可用性 99.5%+,数据库每日自动备份
可扩展 后期可加 Redis 缓存、CDN 加速

7. 界面规划

7.1 整体布局(顶部导航,非侧边栏)

设计理由:中小企业用户更习惯顶部导航(类似常用网站),侧边栏对小屏幕不友好

┌──────────────────────────────────────────────────────────────┐
│ 🏢 用工合规助手 [总览] [合同] [算钱] [解聘] [AI顾问] 🔴3 👤张总 │
├──────────────────────────────────────────────────────────────┤
│                                                     │
│                                                     │
│                   主内容区                            │
│                   (最多 960px 居中)                  │
│                                                     │
│                                                     │
└─────────────────────────────────────────────────────┘

布局规范

  • 顶部导航栏:Logo + 5 个 Tab + 风险角标 + 用户头像下拉菜单(设置/退出),固定不滚动
  • 主内容区:最大宽度 960px,居中,避免宽屏下内容过散
  • 移动端:导航栏变为底部 Tab Bar(类似 App)
  • 无侧边栏:减少视觉干扰,5 个 Tab 足够

7.2 页面清单

管理端认证页面(未登录可访问)

页面 路由 说明
登录 /login 手机号/邮箱 + 密码登录
注册 /register 企业名称 + 手机号 + 密码,注册即创建组织
忘记密码 /forgot-password 手机验证码重置密码

管理端业务页面(登录后访问)

页面 路由 导航名称 说明
风险总览 / 总览 一句话状态 + 数字卡片 + 待办列表 + 风险分布
合同管理 /contracts 合同 员工合同列表 + 添加/编辑 + 一键续签 + 发送填报/确认链接
钱的计算 /money 算钱 3 个 Tab:加班费 / 双倍工资 / 经济补偿金
解聘助手 /termination 解聘 5 步向导 + 历史记录
AI 合规顾问 /ai-assistant AI顾问 智能问答 + 合同审查 + 案例匹配
系统设置 /settings 设置 企业信息 + 用户管理 + 套餐

员工端页面(独立入口,手机号验证码登录)

页面 路由 说明
员工登录 /portal/login 手机号 + 短信验证码登录
工资条 /portal/payslip 按月查看工资明细 + 确认已阅
我的合同 /portal/contract 查看合同信息 + 扫描件/电子链接
入职填报 /portal/onboarding?token=xxx 填写入职信息(一次性链接)
合同确认 /portal/contract-confirm?token=xxx 确认签署电子合同(一次性链接)

设置页面子 Tab

  • 企业信息:名称、地区(用于最低工资/社平工资默认值)
  • 用户管理:添加/移除用户,分配角色(admin/hr/viewer
  • 套餐信息:当前套餐、人数上限、升级套餐

7.3 配色方案

用途 颜色 说明
主色 #2563EB(蓝色) 主操作按钮、导航高亮、链接
危险/高风险 #EF4444(红色) 高风险信号灯、危险提示
警告/中风险 #F59E0B(橙黄) 待办提醒、中风险信号灯
安全/正常 #22C55E(绿色) 合规状态、完成状态
背景 #F8FAFC(浅灰) 页面背景,减少视觉疲劳
卡片 #FFFFFF(白色) 内容卡片背景
文字主 #1E293B(深灰) 主要文字
文字次 #64748B(中灰) 辅助说明文字

7.4 组件规范

组件 规范
按钮 主按钮蓝色填充,次按钮白色边框,危险按钮红色填充
卡片 白底 + 圆角12px + 轻阴影(shadow-sm),不用重阴影
表格 无边框简约表格,行间用浅灰分隔线,hover 高亮
表单 输入框圆角8px,focus 时蓝色边框,错误时红色边框 + 提示
弹窗 居中模态框,圆角16px,遮罩半透明黑色
信号灯 圆点12px + 文字,不用复杂图标
空状态 插图 + 引导文字 + 主操作按钮

8. 实施计划

阶段 内容 优先级
P0 项目搭建:前端 Vite + React + TailwindCSS,后端 Express + Prisma + PostgreSQL,项目结构 + 路由骨架
P1 认证体系:注册/登录/JWT Token + 路由守卫 + 多租户中间件
P2 首页风险总览(信号灯 + 待办 + 分布)
P3 合同管理(列表 + 添加/编辑 + 一键续签 + 纸质/电子合同 + 风险标注)
P4 钱的计算(3 Tab 计算器 + 实时计算)
P5 解聘助手(5 步向导 + 禁止情形检查 + 记录)
P6 AI 合规顾问(智能问答 + 风险预测 + 合同审查 + 案例匹配 + RAG 知识库)
P7 员工端(验证码登录 + 工资条 + 我的合同 + 入职填报 + 合同确认)
P8 系统设置(企业信息 + 用户管理 + 套餐)
P9 新手引导 + 空状态 + 移动端适配
P10 部署上线(Vercel + Railway + Neon+ 联调验证

9. 法律依据索引

法律法规 关键条款 涉及模块
《劳动法》 第36/41/44/48/50条 工资加班费
《劳动合同法》 第10/14/19/20/39-42/46-47/50/82条 合同/解聘/双倍工资
《劳动合同法实施条例》 第6/7/25/27条 双倍工资/补偿金
《工资支付暂行规定》 第13/15/18条 加班费/工资支付
最高人民法院劳动争议司法解释(一) 第44/45条 举证责任

10. 约束与假设

  1. SaaS 多租户:共享数据库 + 行级隔离(orgId),每家企业数据互不可见
  2. 法律时效性:系统内置规则基于现行法律法规,如法律更新需手动更新规则
  3. 地区差异:最低工资标准、社平工资等参数需用户自行设置(提供常用城市默认值)
  4. 非替代法律意见:系统提供合规参考,不构成正式法律意见,重大决策建议咨询专业律师
  5. 套餐限制free 套餐限 20 人,pro 套餐限 200 人,enterprise 无限制
  6. 数据备份PostgreSQL 数据库每日自动备份,保留 30 天
  7. 合同附件存储:纸质合同扫描件上传至云存储(Supabase Storage / S3),数据库只存 URL
  8. 数据导出:支持导出全部数据为 JSON/Excel,用户可随时备份
  9. 后续可扩展:预留 API 接口,后期可接入电子签平台(如 e签宝、法大大)实现在线签署

11. 系统扩展架构

11.1 设计原则:插件化模块架构

系统采用模块化插件架构,每个业务模块独立开发、独立注册、独立路由,互不依赖:

┌─────────────────────────────────────────────────────┐
│                    前端框架层                         │
│  路由 / 导航 / 认证 / 布局 / 信号灯体系 / UI 组件库    │
├─────────────────────────────────────────────────────┤
│                 模块注册中心 (Module Registry)        │
│  每个模块注册:路由前缀 / 导航菜单项 / 权限 / 图标     │
├──────┬──────┬──────┬──────┬──────┬──────┬──────────┤
│ 合同  │ 工资  │ 解聘  │ 社保  │ 成本  │ 考勤  │  ...    │
│ 模块  │ 模块  │ 模块  │ 模块  │ 分析  │ 模块  │  模块   │
├──────┴──────┴──────┴──────┴──────┴──────┴──────────┤
│                  共享数据层 (Prisma)                  │
│  Employee / Organization / User / AuditLog           │
└─────────────────────────────────────────────────────┘

核心机制

  • 模块注册:每个模块通过统一接口注册路由、导航菜单、权限要求
  • 共享数据Employee/Organization/User 为核心共享表,所有模块复用
  • 模块独立:新增模块不影响现有模块,可独立上线/下线
  • 渐进式加载:前端按模块懒加载(React.lazy),不影响首屏性能

11.2 后端 API 扩展规范

/api/v1/
  /auth          ← 认证模块(v1.0
  /employees     ← 员工管理(v1.0
  /contracts     ← 合同管理(v1.0
  /overtime      ← 加班记录(v1.0
  /termination   ← 解聘管理(v1.0
  /risks         ← 风险预警(v1.0
  /social-insurance  ← 社保公积金(v2.0 预留)
  /cost-analysis     ← 人力成本分析(v3.0 预留)
  /attendance        ← 考勤管理(v4.0 预留)
  • 所有 API 遵循 RESTful 规范,统一 /api/v1/ 前缀
  • 统一响应格式:{ success: boolean, data: any, error?: string }
  • 统一鉴权中间件,所有路由自动校验 JWT + orgId
  • 新增模块只需添加路由文件 + Prisma model,不改现有代码

11.3 数据库扩展策略

  • 核心表(Employee/Organization/User)稳定不变
  • 新模块新增独立表,通过 employeeId / orgId 关联
  • Prisma schema 按模块分文件管理(Prisma 多 schema 支持)
  • 数据库迁移使用 Prisma Migrate,增量迁移不破坏现有数据

12. 后续模块规划

12.1 v2.0 — 社保公积金模块

目标:自动计算五险一金缴费金额,防止少缴/漏缴风险

说明
缴费基数设置 各城市社保/公积金缴费基数上下限默认值
五险一金计算 养老/医疗/失业/工伤/生育 + 公积金,企业/个人分担
缴费明细表 按员工/按月生成缴费明细
合规检查 缴费基数低于最低标准预警、断缴提醒
对账单导出 导出社保公积金月度对账单

数据模型预留

interface SocialInsuranceRecord {
  id: string;
  orgId: string;
  employeeId: string;
  month: string;                   // YYYY-MM
  base: number;                    // 缴费基数
  pension: { company: number; personal: number };
  medical: { company: number; personal: number };
  unemployment: { company: number; personal: number };
  workInjury: { company: number; personal: number };
  maternity: { company: number; personal: number };
  housingFund: { company: number; personal: number };
  total: { company: number; personal: number };
}

页面路由/social-insurance(导航名称:社保)

12.2 v3.0 — 人力资源成本分析模块

目标:可视化人力成本结构,辅助经营决策

功能 说明
成本总览 Dashboard 月度/季度/年度人力成本总览
成本构成分析 工资/社保/公积金/加班费/补偿金 占比饼图
部门成本对比 各部门人力成本柱状图对比
人均成本趋势 人均成本月度趋势折线图
成本预警 人力成本占比超过营收 X% 预警
报表导出 导出 Excel/PDF 成本报表

数据模型预留

interface CostReport {
  id: string;
  orgId: string;
  period: string;                  // YYYY-MM 或 YYYY-Q1 等
  totalSalary: number;             // 工资总额
  totalOvertimePay: number;        // 加班费总额
  totalSocialInsurance: number;    // 社保企业部分
  totalHousingFund: number;        // 公积金企业部分
  totalCompensation: number;       // 解聘补偿金
  totalCost: number;               // 人力成本合计
  headcount: number;               // 人数
  avgCostPerPerson: number;        // 人均成本
}

页面路由/cost-analysis(导航名称:成本分析)

12.3 v3.0 — 员工自助门户增强

目标:在 v1.0 员工端基础上增加考勤、请假等自助功能

功能 说明
考勤记录 查看个人考勤/加班记录
请假申请 在线请假审批流程
调薪记录 查看历史调薪记录
在线咨询 员工端直接问 AI 顾问

页面路由/portal(扩展已有员工端)

:v1.0 已包含员工端基础功能(工资条查看、合同查看、入职填报、合同确认),v3.0 在此基础上增强