Skip to content
On this page

人员管理

1. 功能定位

人员管理用于维护自然人档案、人员状态、任职关系、上下级关系和生命周期操作。

人员不直接保存单一部门和岗位,而是通过任职关系绑定部门和岗位。

现有档案扩展字段全部保留(身份、合同、家庭、材料、员工类型、办公信息等)。部门 / 岗位从人员主数据改为任职关系;主部门由主岗位自动带出,人员不单独维护主部门。

2. 页面布局

人员管理采用「列表页 + 独立路由页」。

  • 新增走独立路由 PersonCreate。不再提供独立编辑页 PersonEdit
  • 查看和改档案都进详情页 PersonDetail。详情按区块编辑,不改成抽屉。
  • 列表左侧保留组织树,支持搜索定位。点选某部门时,任意有效任职落在该部门的人都算。
  • 表单按属性分块,一行 4 列,标签在输入框上方。顺序:基本信息 → 任职与上下级 → 工作信息 → 个人信息 → 学历信息 → 合同信息 → 银行卡信息 → 紧急联系人 → 家庭信息 → 个人材料。
  • 详情页在任职与上下级后插入账号信息,最后追加人事历史。
  • 调岗走右侧抽屉,不走生命周期 Dialog。转正 / 停用 / 启用 / 离职 / 退休 / 复职 / 返聘 / 删除共用一个 Dialog,内容通过 component :is 按操作类型加载。

2.1 筛选区

  • 姓名
  • 工号
  • 手机号
  • 所属部门(左侧树)
  • 所属岗位
  • 人员状态
  • 员工类型
  • 是否绑定账号

2.2 表格列

  • 姓名
  • 工号
  • 主部门
  • 主岗位
  • 员工类型
  • 人员状态
  • 直属主管(主职任职上的直属主管)
  • 账号状态
  • 入职日期
  • 操作

2.3 操作入口

列表操作:详情、历史、调岗、转正、停用、启用、离职、退休、复职、返聘、删除。列表不再单独放「编辑」,改档案从详情各区块进入。

详情页可出现的操作:各可编辑区块的「编辑」、底部「调岗」,以及按状态出现的生命周期操作。

实际按钮按人员状态控制,见第 4.1 节。表中「编辑」指详情页分块编辑档案,不是独立编辑页。

操作成功后保留当前筛选并刷新。历史打开人事历史抽屉:内容区用 GrowWatchBox + GrowScrollbar 纵向滚动,底部「关闭」固定。

3. 人员字段

必填取「现有表单 ∪ 本文档」的并集。

字段是否必填控件说明
姓名输入框人员姓名
工号输入框唯一编号
邮箱输入框联系方式
手机号输入框联系方式
证件类型下拉选择身份证、护照等
证件号码输入框证件编号
人员状态下拉选择新增可选待入职 / 试用 / 正式,默认待入职;详情编辑只读
员工类型下拉选择全职、实习、兼职、外包
入职日期日期选择首次入职日期
试用期开始日期日期选择试用开始
试用期结束日期日期选择试用结束
转正日期日期选择实际转正日期
离职日期日期选择离职日期
退休日期日期选择退休日期
任职关系新增必填任职编辑器至少一条主职;部门 / 岗位 / 任职类型变更走调岗;职级和上下级可在详情编辑
直属主管下拉选择挂在任职上,每条任职最多一个
协同上级多选挂在任职上,每条任职可多个

其余现有档案字段(分机、办公地点、身份、学历、合同、家庭、材料等)按原表单保留,非必填,按属性分块展示。新增和详情分块编辑不展示备注字段。

4. 人员状态

人员状态包括:

  • 待入职
  • 试用
  • 正式
  • 停用
  • 离职
  • 退休
  • 返聘
状态说明
待入职已建档但尚未正式入职。新增默认状态,也可直接建成试用 / 正式
试用试用期人员
正式正式在职人员
停用暂不可用人员,不等同离职。任职关系保留
离职已离职人员
退休已退休人员
返聘离职或退休后重新返聘人员

详情分块编辑可以改档案,不能改人员状态。人员状态只走独立操作;调岗只改任职,不改人员状态。

停用 / 启用 / 退休 / 转正 / 离职 / 复职 / 返聘都是独立操作,不做进调岗抽屉。

4.1 状态 × 操作

状态编辑调岗转正停用启用离职退休复职返聘删除
待入职试用或正式
试用→ 正式
正式
停用
离职
退休
返聘

5. 新增人员

按属性分块一次填写,不是强制分步向导。表单一行 4 列。

分块顺序:基本信息 → 任职与上下级 → 工作信息 → 个人信息 → 学历信息 → 合同信息 → 银行卡信息 → 紧急联系人 → 家庭信息 → 个人材料。主部门、岗位、职级与上下级合并在任职编辑器中维护。

新增默认「待入职」,也可以直接建成试用 / 正式。任职在新增里填写。保存后部门 / 岗位 / 任职类型变更走调岗;职级和上下级可在详情「任职与上下级」区块编辑。新增不展示备注字段。

5.1 基础信息

字段:

  • 姓名
  • 工号
  • 手机号
  • 邮箱
  • 员工类型
  • 人员状态(仅新增可改)
  • 入职日期
  • 司龄(系统计算)

校验:

  • 姓名、工号、邮箱、入职日期、人员状态、员工类型不能为空。
  • 工号不可重复。

5.2 任职信息

字段:

  • 任职类型:主职 / 兼职。主职 = 主岗位,不另拆「是否主岗位」
  • 部门
  • 岗位(下拉,按所选部门请求 /system/posts,仅启用岗位)
  • 职级
  • 任职开始日期
  • 是否占用编制(系统计算,兼职不占)
  • 直属主管(每条任职最多一个)
  • 协同上级(每条任职可多个)

规则:

  • 至少添加一条任职关系。
  • 必须且只能有一条主职。兼职升主职见第 8.5 节「设置为主岗」。
  • 主岗位所属部门自动作为主部门。
  • 一个人在同一部门同一岗位下不可重复添加有效任职关系。
  • 兼职默认不占用编制。
  • 部门和岗位必须为启用状态。
  • 岗位超编只提示,不阻止。
  • 任职至少保留一条。仅剩一条时删除按钮禁用。
  • 详情编辑任职时,部门、岗位、任职类型、开始日期锁定,不展示「任职变更请使用调岗」说明。职级、直属主管、协同上级可改。添加 / 删除任职、改部门岗位走调岗。

5.3 上下级关系

上下级挂在任职上,不同任职部门可以有不同的直属主管和协同上级。列表「直属主管」展示主职任职上的直属主管。

规则:

  • 不允许选择自己为上级。
  • 不允许形成上下级循环引用。
  • 同一任职下协同上级不能与直属主管重复。

5.4 紧急联系人、家庭信息与个人材料

  • 紧急联系人可多条。
  • 家庭信息新增 / 详情没填时默认一行空记录。
  • 任职、紧急联系人、家庭信息都至少保留一条;仅剩一条时删除按钮禁用。
  • 个人材料每项最多 1 个文件。已上传后隐藏「+」上传按钮,只留预览;删除后恢复上传入口。

6. 人员详情

打开方式:独立详情页。默认只读展示,按属性分块,一行 4 列。顺序与新增一致,并在任职关系后展示账号信息,最后展示人事历史。

6.1 分块编辑

去掉独立编辑页。档案在详情各区块上直接改。

可编辑区块:基本信息、任职与上下级、工作信息、个人信息、学历信息、合同信息、银行卡信息、紧急联系人、家庭信息、个人材料。

不可编辑区块:账号信息、人事历史。

  • 每个可编辑区块右上角有「编辑」。
  • 同时只编辑一个区块。点编辑后该块切成表单,按钮变为「取消 / 保存」。
  • 保存提交完整档案(带上未改区块的原值)。取消恢复展示。
  • 人员状态、司龄、年龄、工龄、退休日期在编辑态只读或系统计算。
  • 切换编辑时保持区块占位,避免页面闪动。

6.2 任职与上下级

每条任职一张卡。字段与新增 / 调岗对齐:部门、岗位、职级、开始 / 结束日期、直属主管、协同上级。标题行:任职类型标签、状态标签、是否占编、快捷图标。区块底部展示下级人员。已结束的主职不回退套用人员当前的岗位和上级。

可调岗时,图标悬停用 Tooltip 说明,不写长文案:

卡片图标行为
有效主职交换打开调岗抽屉,进入调整主职
有效兼职置顶打开调岗抽屉,进入设置为主岗
有效兼职减号打开调岗抽屉,进入停止兼职

底部「调岗」打开同一抽屉,默认调整主职。

详情编辑该块时:

  • 部门、岗位、任职类型、开始日期锁定。
  • 职级、直属主管、协同上级可改。
  • 不展示「任职变更请使用调岗」说明。
  • 不提供添加 / 删除任职。部门、岗位、任职类型变更走调岗抽屉。

6.3 账号信息

只读展示:

  • 绑定账号
  • 账号状态
  • 账号角色
  • 最后登录时间

6.4 人事历史

只读展示生命周期记录。每条记录带备注。

7. 任职关系规则

任职关系字段:

字段是否必填说明
人员关联人员
部门任职部门
岗位任职岗位
职级独立选择,与岗位不联动
任职类型主职 / 兼职。主职 = 主岗位
任职开始日期生效日期
任职结束日期结束日期
任职状态有效 / 已结束
是否占用编制系统计算兼职不占编制
直属主管每条任职最多一个
协同上级每条任职可多个
变更原因写入人员历史的备注,选填

业务规则:

  • 人员必须且只能有一个主岗位。
  • 主岗位所属部门自动作为主部门。
  • 人员不单独维护主部门。
  • 一个人可属于多个部门。
  • 一个人可拥有多个岗位。
  • 一个人在同一部门同一岗位下只能存在一条有效任职关系。
  • 调岗、兼职新增、兼职变更、兼职结束、设置为主岗均保留历史记录。
  • 调整主职 / 调整兼职 / 新增兼职写入的新任职必须带上所选职级和上下级,与「任职与上下级」卡片字段一致。
  • 设置为主岗:选中的有效兼职原地改为主职并占用编制;原主职原地改为兼职且不占编制。不结束原记录、不新建任职。提交时带 assignmentType: 'primary'

8. 调岗

入口:人员列表「调岗」、详情底部「调岗」,以及详情任职卡片上的快捷图标。

调岗只改任职,不改人员状态。备注选填。点确定才提交接口;切换卡片、点图标只改本地预览,不调接口、不二次确认、不触发表单校验。

后台动作仍是四种,外加「设置为主岗」(复用兼职变更,并带 assignmentType: 'primary'):

用户操作提交动作assignmentType
点主职卡primary 调整主职primary
点兼职卡part_time_change 调整兼职part_time
兼职上「设置为主岗」part_time_changeprimary
「+ 新增兼职」part_time_addpart_time
兼职上「停止兼职」part_time_endpart_time

8.1 抽屉框架

  • 右侧抽屉,宽 800px,挂到 body,关闭销毁。
  • 标题随当前动作变:调整主职 · 姓名 / 调整兼职 · 姓名 / 新增兼职 · 姓名 / 停止兼职 · 姓名 / 设置为主岗 · 姓名
  • 底部固定「取消」和主按钮。停止兼职时主按钮文案为「停止兼职」,其余为「确定」。
  • 内容区用 GrowWatchBox + GrowScrollbar 只纵向滚动。底部按钮不随内容滚走。
  • 内边距加在滚动内容上,不加大抽屉 body,避免表单行负边距顶出横向滚动条。

8.2 当前任职

上部「当前任职」三列卡片,列出全部有效任职,末尾一格「+ 新增兼职」。

卡片展示:主职 / 兼职标签、占用编制 / 不占编制、部门 / 岗位、职级。长文本省略。

操作由卡片和图标带出,不要调岗类型下拉,也不要「原兼职」下拉。

操作结果
点主职卡调整主职,表单带出该主职
点兼职卡调整该兼职,表单带出该兼职
置顶图标设置为主岗(见 8.7)
减号图标停止兼职,表单只留结束日期和备注
+ 新增兼职清空目的部门岗位,填新兼职

当前对象高亮。图标收在卡片右侧,点击不冒泡到选卡。

图标是否出现看预览后的任职类型,不是落库类型。原主职被预览成兼职后,同样出现置顶和减号。

8.3 调岗表单

下部标题跟当前动作走,并有一句说明(将调整主职「…」/ 将停止兼职「…」等)。

两列字段:部门、岗位、职级、生效日期、直属主管、协同上级;备注整行。停止兼职只保留日期和备注。字段与任职卡片对齐。

  • 岗位按下拉,按所选部门请求 /system/posts,仅启用岗位。
  • 换部门清空岗位。
  • 职级独立选择,切换部门或岗位不自动修改职级。
  • 协同上级不能与直属主管重复。
  • 岗位超编只提示,不阻止。
  • 切换卡片或图标不触发校验。必填只在点确定时检查:日期必填;非停止兼职时部门和岗位必填;调整 / 停止兼职时必须已选对象。

确定成功后关抽屉、提示成功、刷新列表或详情。校验失败留在抽屉,不关。取消或关闭抽屉丢弃未提交的预览。

8.4 调整主职

字段:新部门、新岗位、职级、直属主管、协同上级、生效日期、备注。默认带出当前主职,可改。

保存后:

  • 原主职任职结束。
  • 新岗位成为主职,并写入所选职级和上下级。
  • 主部门变为新岗位所属部门。
  • 原岗位释放编制,新岗位占用编制。
  • 账号按继承范围更新组织关系。

8.5 新增兼职

字段:兼职部门、兼职岗位、职级、直属主管、协同上级、任职开始日期、备注。

规则:兼职不占编制;不可与已有有效任职重复。

8.6 调整兼职

字段:新部门、新岗位、职级、直属主管、协同上级、生效日期、备注。默认带出该兼职,可改。

保存后:原兼职结束,新兼职生效,历史保留。

8.7 停止兼职

字段:结束日期、备注。保存后该兼职变为已结束。

8.8 设置为主岗

入口:详情或调岗抽屉里,展示类型为兼职的卡片上的置顶图标。不弹确认框,不立刻调接口。

抽屉内即时预览:

  • 选中条显示为主职、占用编制。
  • 原主职显示为兼职、不占编制,并出现置顶 / 减号。
  • 表单标题为「设置为主岗」,说明为「将「…」设为主岗,原主职改为兼职」。
  • 表单仍可改该条的部门、岗位和职级,点确定一并提交。

保存后:选中条原地改为主职并占编;原主职原地改为兼职且不占编。不结束、不新建任职。主部门切到新主职所属部门。提交:transferType: 'part_time_change'assignmentType: 'primary'

9. 转正

待入职、试用显示「转正」。

待入职两个选项:

  • 转入试用
  • 直接正式

试用转正后变为正式。

字段:

  • 目标状态(待入职时必选)
  • 试用期开始日期
  • 试用期结束日期
  • 实际转正日期(直接正式或试用转正时)
  • 备注

保存后:

  • 人员状态变更为所选目标。
  • 转正记录保留。

限制:

  • 已正式、离职、退休、停用、返聘人员不应走转正。

10. 停用与启用

10.1 停用

待入职、试用、正式、返聘可停用。

字段:日期 + 备注。

保存后:人员状态变为停用,任职关系保留。

10.2 启用

仅停用人员显示「启用」。

字段:

  • 目标状态:试用 / 正式,默认带回停用前状态
  • 日期
  • 备注

保存后:人员状态变为所选目标。

11. 离职

入口:点击「离职」。打开方式:统一 Dialog。

字段:

  • 离职日期
  • 离职原因
  • 备注

影响范围用已加载的人员详情拼装,不另开接口:

  • 当前有效任职关系数量
  • 绑定账号
  • 账号是否将被停用
  • 角色绑定关系是否保留
  • 编制释放情况

确认后:

  • 人员状态变更为离职。
  • 有效任职关系全部结束。
  • 绑定账号自动停用。
  • 账号角色绑定关系保留。
  • 编制自动释放。

提示文案:

text
人员离职后,当前有效任职关系将结束,绑定账号将自动停用,角色绑定关系保留。

12. 退休

正式、返聘可退休。

字段:日期 + 备注。

保存后:人员状态变为退休,有效任职结束,编制释放。退休人员可在详情分块编辑档案,不可调岗,只显示返聘,不显示复职、删除。

13. 复职与返聘

两个入口,同一套交互,传递的目标状态不同。

复职返聘
可见仅离职离职、退休
结果状态可选试用或正式返聘
账号默认原账号且视为可用;被占用则改绑已有账号;此处不新建账号同左

返聘字段:

  • 开始日期
  • 部门
  • 岗位
  • 任职类型(主职 / 兼职,默认主职)
  • 直属主管
  • 账号:默认原账号;原账号被占用时改选已有账号
  • 备注

保存后:

  • 原人员档案保留。
  • 新增任职关系。
  • 人员状态变更为对应目标。

重新入职:新建人员档案。返聘 / 复职:保留原档案。

14. 删除人员

规则:

  • 非离职人员不可删除。
  • 仅离职人员允许删除。
  • 删除需二次确认,备注选填。
  • 删除采用逻辑删除。
  • 历史任职、调岗、权限关联记录保留。

15. 备注与历史

新增和详情分块编辑不填写备注。删除和生命周期操作可填写备注,有内容时写入人员历史。备注不是必填项。

转正 / 停用 / 启用 / 离职 / 退休 / 复职 / 返聘 / 删除走统一 Dialog,字段含日期(按操作语义)和选填备注。设置为主岗、调整任职、停止兼职、新增兼职不要再套一层确认框。

16. 交互约束

  • 不要恢复调岗类型下拉、原兼职下拉。
  • 不要在设置为主岗时弹确认或立刻调接口。
  • 不要把部门 / 岗位 / 任职类型放进详情分块编辑。
  • 不要在新增、详情分块编辑里要备注。
  • 不要让调岗抽屉出现横向滚动条,或让底部按钮跟着内容滚走。

17. 当前代码实现(截至 2026-09-01)

列表与入口:

  • 人员列表支持姓名、工号、手机号、所属岗位、人员状态、员工类型和账号绑定状态筛选,并提供列显隐和分页。
  • 默认列包括姓名、工号、主部门、主岗位、员工类型、人员状态、直属主管、账号状态、入职日期和操作。
  • 姓名和详情按钮进入人员详情;列表根据人员状态动态展示调岗、转正、离职、退休、复职、返聘和删除入口。

新增与档案:

  • 新增人员使用独立页面,档案按基本信息、工作信息、个人信息、学历、合同、银行卡、家庭、紧急联系人和材料等区域组织。
  • 人员详情使用独立页面和分块编辑;任职、账号、人事历史与档案区分展示。
  • 敏感字段使用专用展示/输入组件;材料按预定义材料类型单文件维护。

任职与上下级:

  • 任职编辑器独立选择部门、岗位和职级,并维护任职类型、起止日期、直属主管和协同上级。
  • 调岗使用右侧抽屉,支持调整主职、新增兼职、调整兼职、停止兼职和将兼职设置为主职。
  • 直属主管为主要汇报关系;协同上级为补充关系。部门负责人仅作为两者均为空时的后续业务兜底,不在当前人员页面自动写入。

生命周期:

  • PersonEventDialog 通过动态组件承载转正、离职、退休、复职、返聘和删除表单;调岗由独立 PersonTransferDrawer 承载。
  • 离职或退休会结束当前有效任职并停用绑定账号,角色绑定关系保留;复职或返聘可重新分配账号和任职。
  • 事件和任职变化通过人员历史抽屉展示。

实现边界:

  • 已定义人员列表、详情、新增编辑、调岗、转正、离职、退休、复职、返聘、删除和历史接口,并提供 Mock 行为。
  • 组织状态、账号联动及权限校验最终以后端结果为准。