计算机毕业设计 | vue+SpringBoot人事管理系统OA系统前后端分离

项目概述

人事管理系统功能包括人事通讯,员工信息,人事考评、奖惩,培训管理,薪资管理,统计分析和系统管理六大模块。对应人事工作基本流程:新员工入职档案建立,调动,辞职,员工信息的查询及工资管理等方面。

系统管理可以根据不同的角色分配菜单权限设置,不同的用户授予不同角色,对人事结构,单位结构进行整体调配设置。在线聊天可以实现操作员之间讯息的及时通讯。

前后端分离是指将前端和后端从之前的全部由后端负责中分离开来,不再共用一个Server,前端作为一个独立Serve存在。前后端通过接口使用HTTP协议交互,本项目使用vu实体属性outer做前端路由处理。页面跳转不在由后端处理,前后端只是数据的交互,前后端分离的好处在于降低了前后端的耦合性。当面对不同的硬件场景时,需要构建不同的界面,前后端分离之后,只需要扩展前端项目即可,不需要修改后端服务。

在动态权限处理方面,使用安全框架Spring Security,基于RBAC(Role-Based Access Control )角色的访问控制模型,由该模型主要由鉴权和授权构成,鉴权基于Servlet中Filter原理处理,授权由系统管理员操作。RBAC 的主要思想是:权限是和角色相关的,而用户则被分配相应的角色作为其成员,这样就大大简化了权限的管理。

技术栈:

本系统中技术使用,后端技术涉及到Spring Boot,Spring Security,MyBatis,MySQL等,前端技术设计到Vue,ElementUI,axios,Web Socket等,系统架构基于B/S架构。

  • Spring Boot是当前流行的Java EE体系框架,Spring Boot提供了一种新的编程范式,能在小的阻力下开发Spring应用程序,可以更加敏捷地开发Spring应用程序,专注于应用程序的功能,不用在Spring的配置上多花功夫,甚至完全不用配置。Spring Boot遵循约定大于配置的理念,在父子工程理念上极大程度上解决了依赖冲突的问题。
  • Spring Security是Spring家族中的安全框架,Spring Boot对于Spring Security提供了自动化配置方案,可以零配置使用 Spring Security、Spring Security借助过滤器技术对Web应用进行保护,包括认证和授权两个过程。
  • Mybatis,MySQL是持久化技术,都是开源轻量,Mybatis是ORM解决方案,MySQL是数据库系统。
  • Vue 是一套用于构建用户界面的渐进式框架,与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用,Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。
  • axios是基于Promise 用于浏览器和 node.js 的 HTTP 客户端的异步编程解决方案,可以从浏览器中创建XMLHttpRequests,从node.js中创建http请求,支持Promise API,拦截请求和响应,转换请求数据和响应数据,客户端支持防御XSRF等。
  • vue-router在项目中用于前端动态加载路由管理。SPA应用来讲,其实就是在前后端分离的基础上,加一层前端路由,即是由前端来维护路由规则。实现有两种,一种是利用url的hash,另一种就是HTML5的History模式。这里我们使用vu实体属性outer的hash方式。
  • B/S架构是对C/S架构的一种改进,软件应用的业务逻辑完全由服务端实现,依托于浏览器,相对于C/S更轻量,用户体验要差一些,但是基于B/S的SPA和AJAX技术完美的解决了这个问题。

项目实现

用户登录访问后由Spring Security 的 WebSecurity Configurer Adapter类实现认证和授权校验,登录成功后跳转主页,之后的每一次访问都会通过校验用户,角色,基于Ant格式的URL权限的匹配。

在这里插入图片描述

公共模块

主页

主页由日志和系统公告构成,逻辑处理上默认加载最新的操作日志及公告信息,数据展示通过Spring定时任务方式。服务端定时执行SQL。以排序和截取方式获取最新入库数据,动态更新数据。
在这里插入图片描述

在线聊天

在线聊天实现点对点的在线通讯。前端基于全双工通信WebSocket实现,WebSocket由HTTP建立连接,由TCP进行会话,Web服务器与客户端之间建立起WebSocket协议的连接,之后的协议都依靠专用协议进行,通信过程中可以互发送JSON,XML,HTML或图片等任意格式的数据,由于是建立在HTTP基础的协议上,即发起方仍是客户端,一旦确立WebSocket通信连接,不论服务器还是客户端,任意一方都可以直接向对方发送报文。在处理逻辑上,由键值对构建消息对象。

后端基于Spring 框架提供的 WebSocket 的 STOMP 支持,STOMP 是一个简单的可互操作的协议,通常被用于通过中间服务器在客户端之间进行异步消息传递。

在这里插入图片描述

员工资料

基本资料

实现对员工基本资料的增删改查,实现员工基本资料表Excel导入导出,多条件搜索,添加员工由数据库自动生成工号,其他信息为必填项。修改根据id进行数据更新。

高级资料

高级资料主要实现查询功能,由以下三部分信息构成:

  1. 培训资料:培训日期,培训内容
  2. 考评资料:考评日期,考评内容,考评结果
  3. 工资信息:账套名称,基本工资

在这里插入图片描述

人事管理

员工奖惩

人事管理主要用于对员工奖惩,培训,考评,调动信息的管理。员工奖惩主要对员工奖惩模块的增删改查的实现。在UI设计上使用穿梭框和tab标签,逻辑处理上员工实体和奖惩信息是一对多的关系,即对同一员工在相同或者不同时间都可以添加多个奖惩,奖惩管理页面显示有奖惩信息的全部员工,可以查看奖惩详情。

在这里插入图片描述
在这里插入图片描述

员工培训

员工培训模块主要是对员工培训业务的增删改查的实现。员工培训由添加培训和培训管理两个子模块构成。在UI设计上加了进度条。逻辑处理上是一对一的关系,即同一员工在一个时间段只能参加一个培训,培训完成删除当前培训后可以添加新的培训,支持批量添加培训,培训进度修改。

在这里插入图片描述
在这里插入图片描述

员工好评

员工好评模块即对员工评价业务的增删改查的实现。UI设计上结合评分条步骤条,支持批量添加评价。逻辑处理上是一对一的关系。

在这里插入图片描述
在这里插入图片描述

员工调动

员工调动模块即对员工调用的增删改查的实现。UI设计上由table内嵌table构成,逻辑处理上是一对多的关系。
在这里插入图片描述
在这里插入图片描述

工资管理

工资账套管理

实现对员工工资账套管理,员工账套设置,工资表管理,查询一系列对员工工资管理的功能。工资账套管理主要对员工奖金,基本工资,提成等各项的增刪改查。设置当前套账信息。

员工账套设置

员工讨账设置主要根据公司账套查看相应的员工的工资信息,并实现员工套账的其增删功能。

工资表管理

工资表管理集中对员工工资,进行搜索查看的功能。添加筛选过滤功能,可以根据不同的职称部门进行表内筛选,工资套账详情查看。

在这里插入图片描述
在这里插入图片描述

统计管理

统计管理主要对员工资料的动态分析统计,包括员工积分统计,人事信息统计,人事记录统计。在设计方面结合图表处理 VeCharts,由服务端对数据进行了整合,由VeCharts展示。代码方面,结合java 8 的 Stream API及数据库端聚合函数实现。数据动态展示基于Spring定时任务。

员工积分统计

根据工号查找员工的积分情况。以条形图显示当前有积分员工的积分分布情况。积分分值由员工奖惩产生。

在这里插入图片描述

人事信息统计

人事信息统计主要对员工人数信息进行的分析统计,饼图的方式展示。以高校、职称、职位、党派、民族、学历、部门为维度的人员分布图,用于人事统计。
在这里插入图片描述

人事记录统计

人事记录统计主要对员工离职信息的统计,以部门、职称、职位为维度,对员工离职率、离职工龄、离职年龄进行分析。以柱状图结合折线图的方式统计。

在这里插入图片描述

系统管理

基础信息设置

系统管理主要对系统,管理员等一些操作,包括基础设置,系统管理,操作员管理,授权处理。基础信息设置主要对部门,职位,职称,奖惩规则和权限组的设置增删查改功能管理,实现部门树,权限树预览,职称等级设置。奖惩描述自定义及使用模糊提示等。

部门管理主要以多叉树的方式实现部门信息展示。及添加删除部门的操作。展示的实现由在Server端基于递归SQL的方式遍历部门树。删除操作当存在子部门,不能删除父部门。只能从叶子部门进行删除操作。添加不受限制。

员工职位管理即对企业职位的管理。由职位展示查询及自定义职位添加删除更改职位状态构成,员工奖惩管理主要用于自定义员工奖惩。由添加奖惩类型、分值、描述及删除修改编辑构成。自定义奖惩描述可以使用以有描述,也可以自己定义,员工职称管理于职位管理类似。由职称展示查询及自定义职称添加删除,更改职称状态构成。不同在于职称有对应等级。添加时需要选择职称等级。

用户权限管理由权限树预览、角色添加、角色权限设置构成。权限树在数据处理上以二叉树的结构展示。因为只有两级菜单,对于不同角色通过权限树的设置,赋予不同菜单权限。权限树预览是基于VeCharts树形图表的展示。在UI设计上,以折叠面板和Tree树型组件方式实现。

在这里插入图片描述
在这里插入图片描述

系统管理

系统管理主要由公告管理和公告编辑构成。公告编辑主要结合VueQuillEditor富文本第三方扩展实现,有标题和具体公告内容构成,公告管理包括公告修改、公告预览、公告删除。可以动态修改所有公告信息并实现预览。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

操作日志管理

操作日志管理主要展示登录用户对系统的操作信息。记录具体人事操作,便于以后的信息检索,功能上实现由日志类型,日期间隔的日志查询。

在这里插入图片描述

操作员管理

操作员管理在UI设计上使用卡片组件,弹性布局处理。功能包括基本信息展示,刪改功能,具体由管理员角色权限的设置,是否启用的修改,删除管理员操作构成。在权限修改上以相互赋予的方式实现,即登录用户不能自己给自己赋值。只能通过其他用户赋予权限。

获取方式

见主页个人简介

  • 21
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
【资源说明】 毕业设计基于Django与Vue2的问卷管理与分发系统源码+项目运行说明.zip 1. 设计模式(整体架构模式):前后端分离(前端提供页面渲染、后端只提供接口) 2. 前端框架:Vue2.0(使用NPM管理),NPM基于Node.js V10.15.1 3. 后端框架:Django(基于Python),Django2.2.12 4. 数据库选型:MySQL发行版- MariaDB 5. 后端架构:MVC(Model-View-Controller),View视图层改用前后端分离,使用Vue单独编写 前后端分离:前端只提供界面渲染(用户视图),接口实现交由后端后端提供API接口,以接口形式封装发送数据,提供功能实现 前后端分离式架构是一种软件架构模式,用于构建Web应用程序。它的核心思想是将前端(即用户界面)和后端(即数据处理和业务逻辑)分开开发和部署。 在传统的Web应用程序中,前端和后端通常紧密耦合,即前端和后端代码混合在一起。这种耦合使得应用程序的开发和维护变得复杂,难以扩展和重用。而采用前后端分离式架构,前端和后端可以独立开发和演化,彼此之间通过API进行通信。 在前后端分离式架构中,前端通常是一个单页面应用(SPA),由HTML、CSS和JavaScript构建的用户界面。前端通过HTTP请求向后端发送数据,并使用后端提供的API进行数据交互和业务逻辑处理。 后端是一个独立的服务,负责处理数据持久化、业务逻辑和安全性等方面。后端可以使用任何编程语言或框架来实现,常见的选择有Node.jsJava、Python等。后端通过API暴露数据和功能给前端,前端通过API调用实现与后端的通信。 前后端分离式架构的优势包括: - 提高开发效率:前后端可以并行开发,减少开发时间。 - 提升用户体验:前端可以采用现代化的技术和框架,提供流畅、响应迅速的用户界面。 - 支持多平台:通过提供API,可以轻松支持不同平台(如Web、移动设备等)的客户端。 - 可扩展性:前后端解耦,可以独立扩展前端和后端的功能和性能。 运行前端项目 1. 切换路径至前端项目路径(以开发环境为例) `cd BK_FrontEnd` 2. 安装前端依赖 `npm install` 3. 运行前端开发环境 `npm run dev` 4. 访问本机8080端口查看是否成功 运行后端项目 1. 切换路径至后端项目路径(以开发环境为例) 2. 切换Python解释器至开发环境 使用conda环境 3. 迁移数据库 `python manage.py makemigrations` `python manage.py migrate` 4. 启动后端服务器 `python manage.py runserver` 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

说书客啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值