基于 SpringBoot + Vue + ElementUI 的人力资源管理系统(附源码)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 技术栈1、前端Vue、Axios、ElementUI、Vue-Router、Vuex、ECharts2、后端Spring Boot、JWT、MyBatis-Plus、MySQL、Hutool

技术栈

1、前端

Vue、Axios、ElementUI、Vue-Router、Vuex、ECharts

2、后端

Spring Boot、JWT、MyBatis-Plus、MySQL、Hutool

系统设计

1、业务用例

超级管理员拥有对所有菜单的访问权限,进行一系列的管理操作。而普通员工只能进行查看和修改个人信息,以及修改密码,请假。另外超级管理员可以为普通员工分配一些角色,进而改变员工的访问权限。

2、功能结构

本系统主要分四个模块,分别是系统管理和权限管理、薪资管理、考勤管理,系统管理主要用于日常事务管理管理,权限管理,用于控制员工的访问权限,薪资管理主要是对员工的五险一金以及社保数据的修改和添加,考勤管理主要是对员工的日常打卡进行记录和统计。

系统展示

首页

首页主要展示当前登录员工的一些基本信息,员工当前月的考勤数据,以及当日员工迟到、早退、旷工等情况。

请假

在请假面板中,员工可以进行请假。在左侧的请假记录中查看以往的请假记录,或对当前未被审核的申请进行撤销。

管理员可以对员工的请假进行审批,比如通过或驳回。员工申请请假之后,等待管理员进行审批,如管理员审批通过,则将员工休假时间段的考勤状态设置为休假。

五险一金

社保模块主要展示了员工的社保情况,可以对员工的社保进行调整。

工资管理

显示员工当月的工资情况,以及当月的考勤罚款情况。可以导出员工当月的工资报表。

考勤管理

考勤管理实现了考勤数据的批量导入与导出,以及员工考勤状态的查询和修改。

通过导入员工的考勤记录表,系统就会根据员工所在部门规定的上班时间进行比对,判断员工是否迟到、早退、旷工。(这是数据导入的模板,需要按照此格式填写数据。系统只会读取上下班时间的时间部分,系统以考勤日期作为打卡日期)。

另外,介绍一下考勤规制:

  • 若考勤日期对应的是周末,则不判读员工考勤状态,默认为休假。
  • 若考勤日期对应的是员工请假的日期,则员工考勤状态设为休假。
  • 若员工的四个打卡时间,只要有一个为空,则员工考勤状态设为旷工。
  • 若员工既迟到又早退,则员工考勤状态设为旷工。
  • 若员工迟到,则员工考勤状态设为迟到。
  • 若员工早退,则员工考勤状态设为早退。
  • 若不是以上任何情况,则员工考勤状态设为正常。

项目搭建

1、项目配置

前端

在.env文件中

# 修改端口号,此端口号与在application.yml中配置的端口号相同
VUE_APP_PORT = 8888

后端

在application.yml中进行相关的配置

# 这是后端项目的运行端口,可自行修改
server:
  port: 8888
# 修改数据源,若MySql数据库版本较低,此处应该是com.mysql.jdbc.Driver
driver-class-name: com.mysql.cj.jdbc.Driver
# 因为此项目涉及到了文件上传与下载,此路径用来存储上传的文件。
files:
  upload:
    path: E:/project/idea/hrm/file/ # 修改为自己的路径

2、项目启动

①. 新建数据库,将数据库文件执行

②. 克隆代码到本地,在vue-elementui-hrm目录下

# 下载依赖
npm install 
# 启动
npm run serve

③. 启动后端项目

④. 项目启动成功之后,访问http://localhost:8080/login

账号:admin

密码:123

源码见原文 链接:
https://mp.weixin.qq.com/s/JGZwlf2k8koWyurM7Utshw

本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。

相关文章
|
24天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
42 2
|
22天前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
34 0
|
JavaScript
Vue:ElementUI常用组件
Vue:ElementUI常用组件
145 0
|
8天前
|
缓存 JavaScript 前端开发
vue学习第四章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中计算属性的基本与复杂使用、setter/getter、与methods的对比及与侦听器的总结。如果你觉得有用,请关注我,将持续更新更多优质内容!🎉🎉🎉
vue学习第四章
|
8天前
|
JavaScript 前端开发
vue学习第九章(v-model)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript与Vue的大一学生,自学前端2年半,正向全栈进发。此篇介绍v-model在不同表单元素中的应用及修饰符的使用,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
vue学习第九章(v-model)
|
8天前
|
JavaScript 前端开发 开发者
vue学习第十章(组件开发)
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文深入讲解Vue组件的基本使用、全局与局部组件、父子组件通信及数据传递等内容,适合前端开发者学习参考。持续更新中,期待您的关注!🎉🎉🎉
vue学习第十章(组件开发)
|
13天前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
|
14天前
|
存储 缓存 JavaScript
在 Vue 中使用 computed 和 watch 时,性能问题探讨
本文探讨了在 Vue.js 中使用 computed 计算属性和 watch 监听器时可能遇到的性能问题,并提供了优化建议,帮助开发者提高应用性能。
|
14天前
|
存储 缓存 JavaScript
如何在大型 Vue 应用中有效地管理计算属性和侦听器
在大型 Vue 应用中,合理管理计算属性和侦听器是优化性能和维护性的关键。本文介绍了如何通过模块化、状态管理和避免冗余计算等方法,有效提升应用的响应性和可维护性。
|
14天前
|
存储 缓存 JavaScript
Vue 中 computed 和 watch 的差异
Vue 中的 `computed` 和 `watch` 都用于处理数据变化,但使用场景不同。`computed` 用于计算属性,依赖于其他数据自动更新;`watch` 用于监听数据变化,执行异步或复杂操作。
下一篇
无影云桌面