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