重磅开源!HRMS 企业级人力资源管理系统,Spring Boot + Vue 前后端分离架构
项目地址:https://gitee.com/eric-ni/openhrms
前言
在企业数字化转型的大潮中,一套高效、灵活的人力资源管理系统(HRMS)对于企业管理至关重要。今天为大家分享一款基于 Spring Boot + Vue 的前后端分离架构的开源 HRMS 系统,希望能帮助到有需要的团队和企业。
项目亮点
🏗️ 技术架构先进
系统采用当前主流的前后端分离架构:
后端技术栈:
- Spring Boot 2.5.8 作为核心框架
- Spring Security + JWT 实现安全认证
- MyBatis-Plus 3.5.3.1 作为 ORM 框架
- Redis 缓存提升系统性能
- Druid 数据库连接池监控
- Knife4j API 文档支持
- WebSocket 实时通信
- Hutool Java 工具库
- RapidOCR OCR 识别
- EasyExcel Excel 处理
前端技术栈:
- Vue 2.6.14 + Vuex 状态管理
- Vue Router 路由管理
- Ant Design Vue 1.7.8 UI 组件库
- Axios HTTP 客户端
- ECharts 5.4.0 数据可视化
- VXE Table 专业表格组件
- Univer 在线表格
- Mock.js 模拟数据
🔐 完善的权限管理体系
系统采用 RBAC(Role-Based Access Control) 权限模型,提供:
- 功能权限:细粒度到菜单、按钮级别的访问控制
- 数据权限:支持全部、自定义、本级、仅本人等多种数据范围
- 角色管理:灵活的角色配置,支持多角色分配
- JWT Token 认证:安全的身份验证机制
- 图形验证码:防止暴力破解
- 密码加密存储:保障用户信息安全
📊 核心功能模块
1️⃣ 系统管理
- 用户管理:用户增删改查、重置密码、导入导出
- 角色管理:角色权限配置、数据权限设置
- 菜单管理:动态路由配置、按钮权限控制
- 部门管理:组织架构树形管理
- 岗位管理:岗位信息维护
2️⃣ 员工全生命周期管理
- 员工档案:员工信息管理、入职转正
- 合同管理:劳动合同签订、续签、解除
- 档案管理:员工学历、证书、培训记录
- 异动管理:调岗、晋升、离职管理
- 考勤统计:员工考勤汇总、异常统计
3️⃣ 智能考勤管理
- 打卡管理:打卡记录查询、补卡申请
- 请假管理:请假申请、审批、统计
- 加班管理:加班申请、审核
- 公出管理:外出登记管理
- 班次管理:班次设置、排班管理
- 假期管理:法定节假日配置
- 考勤分析:日报、月报统计分析
4️⃣ 薪资管理
- 薪资套账:薪资结构设计
- 薪资计算:自动计算员工薪资
- 薪资发放:工资条生成与发放
- 个税计算:个人所得税计算
- 社保公积金:五险一金管理
5️⃣ 组织架构
- 机构管理:单位、部门多级管理
- 编制管理:部门编制设置
- 职级体系:职位级别管理
6️⃣ 运维监控
- 服务监控:系统资源监控(CPU、内存、磁盘)
- 部署管理:应用部署、启停服务
- 日志管理:系统日志、操作日志查询
- SQL 监控:SQL 执行分析
🎨 用户体验友好
- 响应式布局,适配多种屏幕尺寸
- 丰富的数据图表展示(ECharts)
- 支持 Excel、PDF 等多种格式导出
- OCR 证件识别集成
- 操作日志完整记录
- 专业的表格组件(VXE Table)
- 在线表格编辑(Univer)
项目结构
hrms-open/
├── hrms/ # 后端项目
│ ├── common/ # 公共模块
│ │ └── src/main/java/com/rizeen/
│ │ ├── annotation/ # 自定义注解
│ │ ├── aspect/ # AOP 切面
│ │ ├── base/ # 基础类
│ │ ├── config/ # 配置类
│ │ ├── exception/ # 异常处理
│ │ └── utils/ # 工具类
│ ├── logging/ # 日志模块
│ │ └── src/main/java/com/rizeen/
│ │ ├── domain/ # 日志实体
│ │ ├── mapper/ # 数据访问层
│ │ ├── service/ # 业务逻辑层
│ │ └── rest/ # 控制器
│ ├── system/ # 核心业务模块
│ │ └── src/main/java/com/rizeen/
│ │ ├── modules/
│ │ │ ├── system/ # 系统管理 (用户、角色、部门、菜单)
│ │ │ ├── security/ # 安全认证 (JWT)
│ │ │ ├── mnt/ # 运维管理 (部署、服务监控)
│ │ │ └── attend/ # 考勤管理
│ │ └── HrtApplication.java # 启动类
│ └── pom.xml # Maven 配置
└── hrms-ui/ # 前端项目
├── src/
│ ├── api/ # API 接口
│ ├── components/ # 组件库
│ ├── config/ # 配置
│ ├── core/ # 核心功能
│ ├── layouts/ # 布局
│ ├── store/ # Vuex 状态管理
│ ├── utils/ # 工具函数
│ └── views/ # 页面视图
├── package.json # 依赖配置
└── vue.config.js # Vue 配置
快速开始
环境要求
- JDK = 1.8
- MySQL >= 5.7
- Node.js >= 14.x
- Maven >= 3.5
- Redis
后端部署
1. 克隆项目
git clone https://github.com/your-repo/hrms-open.git
cd hrms-open/hrms
2. 配置数据库
编辑 application.yml:
spring:
datasource:
url: jdbc:mysql://localhost:3306/hrms?useUnicode=true&characterEncoding=utf8&useSSL=false
username: root
password: your_password
redis:
host: localhost
port: 6379
password:
3. 导入数据库脚本
执行 sql/hrms.sql 创建数据库和表结构
4. Maven 构建并启动
运行 HrtApplication.java 启动类
前端部署
1. 进入前端目录
cd hrms-ui
2. 安装依赖
npm install --registry=https://registry.npm.taobao.org
3. 启动开发服务器
npm run dev
浏览器访问:http://localhost:9000
默认账号
- 用户名:
admin - 密码:
123456
⚠️ 首次使用后请及时修改密码!
系统界面展示
系统提供了美观实用的用户界面:
-
登录页面:带图形验证码的安全登录

-
数据可视化首页:关键指标一目了然

-
员工管理列表:完整的员工信息管理

- 考勤统计分析:多维度考勤数据分析

- 薪资核算界面:自动化薪资计算

- 用户权限管理:灵活的 RBAC 权限配置

系统特色
权限管理
采用 RBAC(Role-Based Access Control)权限模型:
- 功能权限: 控制菜单、按钮级别的访问权限
- 数据权限: 支持全部、自定义、本级、仅本人等数据范围
- 角色管理: 灵活的角色配置,支持多角色
模块化设计
- common 模块:提供通用工具类、注解、切面、异常处理等
- logging 模块:独立的日志管理模块
- system 模块:核心业务逻辑,包含多个子模块
技术亮点
- AOP 切面编程:统一处理日志、权限等横切关注点
- MyBatis-Plus:强大的 ORM 框架,简化数据库操作
- Druid 连接池:高性能数据库连接池,自带监控
- Knife4j:美观的 API 文档界面
- WebSocket:实时消息推送
开发扩展指南
新增模块流程
后端开发流程
- 创建数据库表
- 在
system/modules下创建对应模块目录 - 生成或编写 Entity、Mapper、Service、Controller
- 配置菜单和权限
前端开发流程
- 在
src/views下创建页面组件 - 在
src/api下创建 API 接口文件 - 配置路由(可在数据库菜单表中配置)
常见问题解决
Q1: 启动时报数据库连接失败?
解决方案:检查 MySQL 服务是否启动,确认数据库配置信息是否正确。
Q2: 前端出现跨域问题?
解决方案:开发环境已配置代理,生产环境需在后台配置 CORS。
Q3: Redis 连接失败?
解决方案:确保 Redis 服务已启动,检查配置文件中 Redis 连接信息。
未来规划
- 优化移动端适配
- 增加更多数据分析报表
- 集成工作流引擎
- 支持微服务架构升级
- 完善单元测试覆盖
- 增加更多行业最佳实践模板
开源协议
本项目采用 Apache License 2.0 开源协议,允许商业使用、修改和分发。
贡献方式
欢迎社区开发者参与贡献!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
致谢
感谢以下优秀开源项目的支持:
开发团队
- 作者:yousowe
- 邮箱:yousowe@163.com
联系方式
如有问题或建议,请添加微信联系:
Rizeen99
🌟 如果这个项目对你有帮助,请给一个 Star 支持!
欢迎各位开发者体验使用,提出宝贵意见和建议!让我们一起打造更好用的开源 HRMS 系统!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)