0372cbe243
- 高优先级: 花名册导入模板必填项标注、性别自动识别、导入结果反馈、证据链Excel导出、身份证搜索修复、试用期区分与转正提醒、薪税批次流程优化 - 中优先级: 专项附加扣除批量导入、文本模板库完善(Word下载/复制/使用说明)、用工体检评分标准说明、考勤页面导入入口 - 所有导入模板表头标注必填项(*后缀)并含示例行 - 导入逻辑统一改用getField兼容*后缀列名 - 批次归档时强制重算所有条目个税和社保,解决多未归档批次并存时累计计算不准问题 - 更新需求梳理文档
13 KiB
13 KiB
企业用工专家 — 20260729 用户反馈优化需求梳理
来源:用户测试反馈 整理日期:2026-07-29 优先级标注:🔴 高 / 🟡 中 / 🟢 低
需求 1:花名册导入模板优化 🔴
问题描述
- 导入模板中必填项没有标注,用户不清楚哪些字段必须填写
- 示例数据放在第一行,删除后看不到格式参考,来回测试麻烦
优化方案
- 模板表头添加必填标注:必填字段列名加
*号或红色标注(如姓名*、身份证号*、入职日期*) - 示例行使用浅灰色背景并标注「示例数据(导入时请删除本行)」
- 或在导入页面展示「字段说明」折叠面板,列出每个字段的必填/选填、格式要求
涉及模块
- 后端:
backend/src/routes/import.routes.ts— 模板生成逻辑 - 前端:
frontend/src/pages/Settings.tsx— 数据导入 Tab
完成方式 ✅
- 模板表头必填字段加
*号标注(姓名*、身份证号*、入职日期*、月工资*) - 新增
getField()工具函数,兼容带*后缀列名和模糊匹配 - 性别列标注「选填,留空自动识别」,导入时从身份证号第 17 位自动提取
需求 2:工资专项附加扣除批量导入 🟡
问题描述
- 专项附加扣除信息在员工入职时可能尚未采集到
- 当前只能在薪税管理中逐月手动录入,没有单独的批量导入功能
优化方案
- 在「薪税管理 → 专项附加扣除」Tab 新增「批量导入」按钮
- 提供专项附加扣除导入模板(员工姓名/身份证号 + 各项扣除金额)
- 支持「复制上月」基础上批量修改后导入
涉及模块
- 前端:
frontend/src/pages/Money.tsx— 专项附加扣除 Tab - 后端:
backend/src/routes/import.routes.ts— 新增导入接口
完成方式 ✅
- 后端新增
GET /import/special-deduction/template端点,下载专项附加扣除导入模板(含姓名、身份证号、5 项扣除金额列) - 后端新增
POST /import/special-deduction端点,支持 Excel 批量导入并按月 upsert - 前端
SocialInsurance.tsx专项附加扣除 Tab 工具栏新增「批量导入」按钮 - 导入弹窗包含:模板下载、文件上传、导入结果反馈(成功/跳过/错误明细)
- 身份证号优先匹配,未填时用姓名匹配
需求 3:导入结果反馈不明确 🔴
问题描述
- 导入后不显示成功提示,用户不知道是否已导入
- 显示了行错误但实际数据已导入,导致重复导入
优化方案
- 导入完成后弹出结果摘要:
成功导入 N 条,失败 M 条,跳过 K 条 - 成功时 toast 提示「导入成功,共 N 条记录」
- 部分成功时明确提示「部分成功:N 条成功,M 条失败」
- 失败行可下载错误日志(已有),但需在页面显示失败汇总
涉及模块
- 前端:
frontend/src/pages/Settings.tsx— 导入结果展示 - 后端:
backend/src/routes/import.routes.ts— 返回导入统计
完成方式 ✅
- 后端返回
skipped(跳过)、duplicates(重复)、details(逐行明细)字段 - 前端显示分类汇总:成功 N 条、跳过 M 条、重复 K 条
- 新增「导出错误日志」按钮,下载 Excel 格式的逐行错误明细
需求 4:证据链导出格式优化(TXT → Excel)🔴
问题描述
- 证据链导出为 TXT 格式,排版混乱,无法直接使用
- 需要导出后二次加工,体验差
优化方案
- 证据链导出改为 Excel(.xlsx)格式
- 按证据类型分 Sheet 或分列展示:证据名称、类型、日期、内容摘要、附件链接
- 支持导出为 Word 文档(可选),带格式排版
涉及模块
- 后端:
backend/src/routes/export.routes.ts— 证据链导出逻辑 - 前端:
frontend/src/pages/Evidence.tsx— 导出按钮
完成方式 ✅
- 后端新增
GET /:id/evidence-chain/export端点,使用 ExcelJS 生成.xlsx文件 - Excel 包含 3 个 Sheet:员工信息、证据清单(含合同/工资条/加班/考勤/违纪/培训/绩效/解聘)、风险提醒
- 前端
EvidenceChain.tsx导出按钮改为调用新端点下载 Excel
需求 5:花名册身份证后四位搜索不可用 🔴
问题描述
- 搜索框提示「搜索姓名、部门或身份证后4位」,但用后四位搜索显示无结果
优化方案
- 后端搜索逻辑支持身份证号后四位模糊匹配(
LIKE '%XXXX') - 前端搜索时自动识别纯数字输入,走身份证后四位匹配逻辑
- 测试验证:输入身份证后四位能正确匹配到对应员工
涉及模块
- 后端:
backend/src/routes/roster.routes.ts— 搜索查询逻辑
完成方式 ✅
- 搜索正则改为支持 2+ 位纯数字输入识别为身份证号搜索
- 后端解密完整身份证号后与搜索词做后缀匹配
需求 6:用工文本模板库功能不明确 🟡
问题描述
- 用户不清楚文本模板库的使用方式
- 想另存或下载劳动合同模板,没找到操作入口
优化方案
- 模板列表页新增「下载 Word」按钮,可直接下载模板文件
- 新增「复制为新模板」按钮,基于现有模板创建副本后编辑
- 页面顶部添加使用说明:「选择模板 → 点击使用 →填充变量 → 生成文档 → 下载」
- 模板预览支持在线查看完整内容
涉及模块
- 前端:
frontend/src/pages/Templates.tsx - 后端:
backend/src/routes/template.routes.ts(如有)
完成方式 ✅
- 后端新增
GET /templates/:id/download端点,返回模板内容为 Word(.doc)文件 - 前端
Templates.tsx新增「下载 Word」按钮,可直接下载模板为 .doc 文件 - 新增「复制为新模板」按钮,将渲染结果复制到剪贴板,可粘贴到 Word 中编辑
- 页面顶部新增「使用说明」可折叠面板,引导用户完成模板选择→变量填充→渲染→下载流程
- 模板原文和渲染结果区域均支持下载 Word
需求 7:用工体检诊断评分标准说明 🟡
问题描述
- 用工体检只显示分数,没有评分标准和满分说明
- 用户不知道分数含义和计算规则
优化方案
- 体检结果页面顶部展示评分说明卡片:
- 满分 100 分
- 分数等级:90-100 优秀(绿色)、75-89 良好(蓝色)、60-74 合格(黄色)、<60 风险(红色)
- 评分维度及权重说明
- 每个扣分项展示扣分原因和对应的法规依据
- 结果下方展示「改善建议」清单
涉及模块
- 前端:
frontend/src/pages/tools/HealthCheck.tsx
完成方式 ✅
- 前端
HealthCheck.tsx新增评分标准说明卡片,展示 3 级评分等级:85+ 健康(绿)、60-84 中等风险(黄)、<60 高风险(红) - 卡片底部展示 6 维度评分构成说明:合同管理、薪酬社保、考勤加班、规章制度、解聘合规、证据链
- 每个维度列出具体评分要素(如合同签订率、社保覆盖率等)
需求 8:试用期员工区分与转正提醒 🔴
问题描述
- 导入员工时无法区分试用期和正式员工
- 系统没有试用期到期转正提醒
优化方案
- 花名册导入模板新增「员工状态」列(试用期/正式),默认试用期
- 花名册列表新增「员工状态」列和筛选
- 试用期员工显示试用期到期日期,到期前 30/15/7 天自动提醒
- 工作日历自动显示试用期到期事件
- 总览待办事项中新增「试用期即将到期」提醒
涉及模块
- 后端:
backend/prisma/schema.prisma— Employee 模型新增 status/probationEndDate 字段 - 后端:
backend/src/routes/roster.routes.ts— 导入和查询支持 - 前端:
frontend/src/pages/Roster.tsx— 列表展示和筛选 - 前端:
frontend/src/pages/Dashboard.tsx— 待办提醒
完成方式 ✅
- 后端
roster.routes.ts返回probationInfo对象:含isProbation、probationMonths、probationEndDate、daysToConfirmation、isExpiringSoon - 试用期状态从合同
probationMonths+hireDate动态计算,无需新增 schema 字段 - 前端花名册列表试用期员工显示橙色标签(试用期 X 个月 · 剩余 Y 天)
- 前端状态筛选新增「试用期」选项,发送
ACTIVE到后端后本地过滤probationInfo.isProbation
需求 9:考勤页面增加导入入口 🟡
问题描述
- 考勤数据导入入口在「设置 → 数据导入」中,用户在考勤页面找不到导入功能
优化方案
- 在「考勤管理」页面工具栏新增「导入考勤」按钮
- 点击后弹出导入弹窗,包含:模板下载 + 文件上传 + 导入结果反馈
- 各功能模块的导入入口就近放置(薪税管理也同步处理)
涉及模块
- 前端:
frontend/src/pages/Attendance.tsx— 新增导入按钮和弹窗 - 后端:
backend/src/routes/import.routes.ts— 考勤导入接口
完成方式 ✅
- 前端
Attendance.tsx考勤确认 Tab 工具栏新增「导入考勤」按钮 - 点击弹出导入弹窗,包含:模板下载、文件上传、导入结果反馈(考勤记录/加班/员工/合同条数)
- 复用已有
POST /import/excel端点,支持考勤记录 Sheet 导入 - 导入后自动刷新考勤列表和统计数据
需求 10:花名册导入体验优化 🔴
问题描述
- 模板繁琐,没有标注必填项
- 性别需要手动填写,但可从身份证号自动识别
优化方案
- 同需求 1:模板标注必填项
- 性别字段改为选填,后端导入时根据身份证号自动识别性别(身份证第 17 位奇数=男,偶数=女)
- 若用户手动填写了性别且与身份证识别不一致,以身份证为准并提示
- 导入模板中性别列标注「选填,留空自动识别」
涉及模块
- 后端:
backend/src/routes/import.routes.ts— 导入逻辑 - 后端:
backend/src/services/— 身份证解析工具函数
完成方式 ✅(与需求 1 合并实现)
- 模板必填字段加
*号标注 - 性别字段改为选填,导入时从身份证号第 17 位自动识别(奇数=男,偶数=女)
- 若用户未填性别则自动识别,若已填则以用户填写为准
需求 11:薪税发薪批次创建流程优化 🔴
问题描述
- 上一批次未归档就无法创建新批次,不便于处理多笔发薪
- 创建发薪只能选全部人员或空白创建后逐个勾选,效率低
优化方案
- 允许多个未归档批次并存:移除「上一批次未归档不能创建新批次」的限制
- 创建发薪时支持先选人再创建:
- 新增「选择发薪人员」步骤:可按部门筛选、多选员工、搜索勾选
- 确认人员后点击「创建发薪批次」,仅包含选中员工
- 保留「全部人员」快捷选项,同时支持「自定义选择」模式
涉及模块
- 前端:
frontend/src/pages/Money.tsx— 发薪批次创建流程 - 后端:
backend/src/routes/payroll2.routes.ts— 批次创建接口支持指定员工列表 - 后端:
backend/src/services/payroll.service.ts— 批次创建逻辑
完成方式 ✅
- 后端移除「当月存在未归档批次则拒绝创建」的限制,允许多个未归档批次并存
createBatchSchema新增mode: 'custom'和employeeIds: string[]可选参数- 后端新增
custom模式分支:仅拉入employeeIds指定的员工创建批次 - 前端创建批次弹窗新增「自定义选择员工」选项
- 新增
CustomEmployeeSelector组件:支持按部门筛选、姓名搜索、全选/取消全选、勾选指定员工 - 前端移除创建按钮上的未归档批次拦截逻辑
- 归档时强制重算:批次归档前遍历所有条目调用
calcBatchEntry重算个税和社保,确保累计预扣计算包含先前已归档批次的数据,解决多批次并存时累计个税不准的问题calcBatchEntry内部仍只查询status: 'ARCHIVED'的批次做累计计算- DRAFT 批次创建时基于已归档历史数据预计算(可能不包含同月其他 DRAFT 批次)
- 归档时重算确保最终值准确:批次A先归档 → 批次B归档时重算会包含A的累计数据
- 手动覆盖的社保值通过
overrideSocial参数保留 - 重算后更新批次汇总金额,返回重算条目数和错误信息
优先级汇总
| 优先级 | 需求编号 | 需求名称 | 状态 |
|---|---|---|---|
| 🔴 高 | 1 | 花名册导入模板标注必填项 | ✅ 已完成 |
| 🔴 高 | 3 | 导入结果反馈不明确 | ✅ 已完成 |
| 🔴 高 | 4 | 证据链导出改为 Excel | ✅ 已完成 |
| 🔴 高 | 5 | 身份证后四位搜索修复 | ✅ 已完成 |
| 🔴 高 | 8 | 试用期员工区分与转正提醒 | ✅ 已完成 |
| 🔴 高 | 10 | 导入性别自动识别 | ✅ 已完成 |
| 🔴 高 | 11 | 薪税发薪批次流程优化 | ✅ 已完成 |
| 🟡 中 | 2 | 专项附加扣除批量导入 | ✅ 已完成 |
| 🟡 中 | 6 | 文本模板库功能完善 | ✅ 已完成 |
| 🟡 中 | 7 | 用工体检评分标准说明 | ✅ 已完成 |
| 🟡 中 | 9 | 考勤页面增加导入入口 | ✅ 已完成 |
以上需求按用户反馈整理,🔴 高优先级和 🟡 中优先级需求已全部完成(2026-07-29)。