编辑 | blame | 历史 | 原始文档

员工台账岗位多选 - 前端联调方案

背景

人力资源 > 员工管理(员工台账)的"岗位"由单选改为**多选**,与系统"用户管理"的多岗位能力保持一致。存储上采用 JSON 数组(post_ids 列),同"角色"字段的既有模式。

涉及页面

  • 人力资源 > 员工管理 列表页(src/views/hrm/employee/index.vue
  • 员工新增/编辑表单(src/views/hrm/employee/modules/form.vuedata.ts
  • 员工详情(src/views/hrm/employee/modules/detail.vue
  • 员工导入弹窗(含下载模板、上传文件)
  • 员工导出 Excel

API 变更说明

方法 路径 变更
POST /hrm/employee/create 请求字段 postIdpostIds(数组)
PUT /hrm/employee/update 请求字段 postIdpostIds(数组)
GET /hrm/employee/get 响应字段 postId/postNamepostIds/postNames
GET /hrm/employee/page 响应字段 postId/postNamepostIds/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/getGET /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-templatePOST /hrm/employee/import

  • 模板"岗位名称"列由单个岗位名改为支持**多个岗位名**,多个用**英文逗号(,)或中文逗号()**分隔。
  • 模板示例行:部门经理,项目经理
  • 任一岗位名不存在,该行导入失败,原因"岗位【xx】不存在"。
  • 岗位名称列不允许为空(岗位必填)。

字段展示规则

字段 展示位置 说明
postIds 表单(新增/编辑)、详情 表单岗位改为多选下拉框,编辑回显勾选多个
postNames 列表、详情、导出 展示为逗号拼接的多个岗位名

业务规则说明

场景 规则
表单保存 postIds 必填,至少一个岗位
编辑保存 postIds 全量覆盖该员工岗位
导入 "岗位名称"列多个名称用逗号分隔,任一不存在则整行失败
已有数据 存量员工的单岗位数据已迁移为 postIds,老数据不丢失

注意事项

  • 前端需同步修改:新增/编辑表单的岗位字段从单选改为多选下拉,提交字段名从 postId 改为 postIds;列表/详情展示字段从 postName 改为 postNames
  • 编辑员工时同步更新关联系统登录用户(用户管理页)的岗位/部门/昵称/角色/邮箱/备注,两边保持一致。
  • 岗位下拉数据仍从系统岗位接口获取(与之前一致)。
  • 岗位名称解析为精确匹配,不支持模糊。