员工台账岗位多选 - 前端联调方案
背景
人力资源 > 员工管理(员工台账)的"岗位"由单选改为**多选**,与系统"用户管理"的多岗位能力保持一致。存储上采用 JSON 数组(post_ids 列),同"角色"字段的既有模式。
涉及页面
- 人力资源 > 员工管理 列表页(
src/views/hrm/employee/index.vue)
- 员工新增/编辑表单(
src/views/hrm/employee/modules/form.vue、data.ts)
- 员工详情(
src/views/hrm/employee/modules/detail.vue)
- 员工导入弹窗(含下载模板、上传文件)
- 员工导出 Excel
API 变更说明
| 方法 |
路径 |
变更 |
| POST |
/hrm/employee/create |
请求字段 postId → postIds(数组) |
| PUT |
/hrm/employee/update |
请求字段 postId → postIds(数组) |
| GET |
/hrm/employee/get |
响应字段 postId/postName → postIds/postNames |
| GET |
/hrm/employee/page |
响应字段 postId/postName → postIds/postNames |
| GET |
/hrm/employee/export-excel |
"岗位名称"列支持多值(逗号拼接) |
| GET |
/hrm/employee/import-template |
"岗位名称"列示例改为多岗位 |
| POST |
/hrm/employee/import |
"岗位名称"列支持填写多个岗位名 |
1. 新增员工 POST /hrm/employee/create
请求参数(字段变更):
| 参数 |
类型 |
必填 |
说明 |
| postIds |
List<Long> |
是 |
岗位ID数组,至少一个(原 postId 单值字段已移除) |
{
"name": "张三",
"phone": "13800138000",
"deptId": 103,
"postIds": [2, 4],
"roleIds": [1],
"hireDate": "2026-08-01",
"employeeStatus": 1,
"gender": 1
}
2. 更新员工 PUT /hrm/employee/update
同 create,请求体中的 postIds 为员工最终的岗位集合(全量覆盖,非增量)。
3. 员工详情 / 分页 GET /hrm/employee/get、GET /hrm/employee/page
响应字段变更:
| 字段 |
类型 |
说明 |
| postIds |
List<Long> |
岗位ID数组(原 postId 已移除) |
| postNames |
String |
岗位名称,多个用英文逗号拼接,如"部门经理,项目经理"(原 postName 已移除) |
{
"code": 0,
"data": {
"id": 6,
"name": "张三",
"deptName": "研发部",
"postIds": [2, 4],
"postNames": "部门经理,项目经理",
"roleNames": "普通管理员"
}
}
4. 导出 Excel GET /hrm/employee/export-excel
- "岗位名称"列展示多个岗位名,英文逗号拼接(与分页返回的
postNames 一致)。
5. 导入模板 / 导入 GET /hrm/employee/import-template、POST /hrm/employee/import
- 模板"岗位名称"列由单个岗位名改为支持**多个岗位名**,多个用**英文逗号(
,)或中文逗号(,)**分隔。
- 模板示例行:
部门经理,项目经理。
- 任一岗位名不存在,该行导入失败,原因"岗位【xx】不存在"。
- 岗位名称列不允许为空(岗位必填)。
字段展示规则
| 字段 |
展示位置 |
说明 |
| postIds |
表单(新增/编辑)、详情 |
表单岗位改为多选下拉框,编辑回显勾选多个 |
| postNames |
列表、详情、导出 |
展示为逗号拼接的多个岗位名 |
业务规则说明
| 场景 |
规则 |
| 表单保存 |
postIds 必填,至少一个岗位 |
| 编辑保存 |
postIds 全量覆盖该员工岗位 |
| 导入 |
"岗位名称"列多个名称用逗号分隔,任一不存在则整行失败 |
| 已有数据 |
存量员工的单岗位数据已迁移为 postIds,老数据不丢失 |
注意事项
- 前端需同步修改:新增/编辑表单的岗位字段从单选改为多选下拉,提交字段名从
postId 改为 postIds;列表/详情展示字段从 postName 改为 postNames。
- 编辑员工时同步更新关联系统登录用户(用户管理页)的岗位/部门/昵称/角色/邮箱/备注,两边保持一致。
- 岗位下拉数据仍从系统岗位接口获取(与之前一致)。
- 岗位名称解析为精确匹配,不支持模糊。