人力资源管理系统,是十分常见的企业内部后台系统,主要包括组织架构、员工信息、人事制度、薪资管理、人员招聘等综合功能,主要面向人力资源部门和管理人员使用。一个成熟的人资管理系统的开发并不简单,其包含了复杂的角色管理、权限管理和事务流程管理,以及前端需要适应不同场景的界面和空间的设计等。VHR(微人事),是一个采用了 SpringBoot + Vue 开发的前后端分离的人力资源管理系统,可以作为人事系统,乃至于后台系统开发的优秀例子。




人力架构图怎么做啊 人力框架图_权限管理系统设计

Sprint Boot + Vue



简介

VHR,是 lenve 在 Github 上开源的人力资源管理系统,项目位于 https://github.com/lenve/vhr,且在 Gitee 有镜像项目,位于 https://gitee.com/lenve/vhr。

VHR 所涉及的技术十分丰富,在后端,采取 Spring Boot 为主框架,Spring Security 实现用户验证和权限管理,MyBatis 操作数据库,MySQL 作为关系数据库,Redis作为缓存后端,RabbitMQ 作为消息队列,Spring Cache 管理缓存,WebSocket 实现全双工通信。而在前端,则使用 Vue 的 ElementUI 框架,使用包括 axios、vue-router、Vuex 等实现前端逻辑。




人力架构图怎么做啊 人力框架图_人力架构图怎么做啊_02

vhr微人事系统



安装

VHR 部署简单。首先,把项目 clone 到本地:

git clone git@github.com:lenve/vhr.git

准备一个空的 MySQL 数据库,修改项目的数据库配置(application.properties),并使用 Flyway 管理数据库脚本,另外准备 Redis、RabbitMQ 等。在 IntelliJ IDEA 中打开 vhr 项目,并启动 mailserver 模块,然后,运行 vhrserver 中的 vhr-web 模块,就可以启动服务端。

对于前端,运行

npm installnpm run serve

进行启动,此时,访问 http://localhost:8080,就可以看到后台界面。

实例

VHR 作为一个人力资源管理系统,划分了不同的功能模块,包括:员工资料、人事管理、薪资管理、统计管理和系统管理。系统进行了全面的权限划分,不同的用户登录之后,根据角色不同,可以看到不同的侧边栏菜单,拥有不同的页面访问权限。完整菜单如下:




人力架构图怎么做啊 人力框架图_人力架构图怎么做啊_03

侧边栏菜单



权限较低的用户所能访问的页面也较为局限:




人力架构图怎么做啊 人力框架图_权限管理系统设计_04

权限限制



管理员可以为每个用户分配不同的角色,依据角色实现 RBAC 权限模型:




人力架构图怎么做啊 人力框架图_权限管理系统设计_05

角色分配



系统管理员也可以配置不同角色所可以操作的资源:




人力架构图怎么做啊 人力框架图_人力架构图怎么做啊_06

资源分配



权限数据库主要包含了五张表:资源表、角色表、用户表、资源角色表、用户角色表:




人力架构图怎么做啊 人力框架图_人力架构图怎么做啊_07

权限数据模型



系统包括职位管理和职称管理:




人力架构图怎么做啊 人力框架图_dtree 后台管理例子_08

职位管理




人力架构图怎么做啊 人力框架图_dtree 后台管理例子_09

职称管理



对于员工管理,包括基本的增删改查、以及分页、批量删除、基本搜索等功能:




人力架构图怎么做啊 人力框架图_dtree 后台管理例子_10

添加员工




人力架构图怎么做啊 人力框架图_dtree 后台管理例子_11

编辑员工




人力架构图怎么做啊 人力框架图_权限管理系统设计_12

删除员工



总结

VHR 作为一个开源的人力资源管理系统,其作为一个教程项目,拥有丰富的技术笔记和视频教程,对于进行 SpringBoot、Vue、前后端分离,乃至于后台系统的设计等,都具有很大的意义和价值。同时,其作为一个开源的系统应用,可以在实践中直接使用,也可以进行二次开发,得到符合自身需求的系统应用。