【开源】基于Vue.js的人事管理系统

在这里插入图片描述

文末获取源码,项目编号: S 079 。 \color{red}{文末获取源码,项目编号:S079。} 文末获取源码,项目编号:S079


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 管理员功能模块
    • 2.2 普通员工功能模块
    • 2.3 答辩文案
  • 三、系统展示
  • 四、核心代码
    • 4.1 查询职称
    • 4.2 新增留言回复
    • 4.3 工资申请
    • 4.4 工资审核
    • 4.5 员工请假
  • 五、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的人事管理系统,包含了职位模块、职称模块、员工请假模块、员工留言模块、员工薪资模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,人事管理系统基于角色的访问控制,给公司管理员、员工使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏

源码下载


二、功能模块

2.1 管理员功能模块

1、公告管理:管理员发布公告需要普通员工能够查看到,如果有确认收到更好,没有也没事。
2、请假审核:管理员需要能看到员工的请假理由,然后进行审核,
3、打卡管理:管理员可以设置上班打卡的时间,并且界面有普通员工的打卡汇总情况(除管理员的,打卡人数和缺勤人数,迟到人数,请假人数进行页面显示汇总,按天来),最好能导出excel,
4、反馈管理:管理员可进行查看反馈,反馈内容由员工提交

2.2 普通员工功能模块

1、薪资管理:包括工资提现(将个人信息里那个提现搬到这来),薪资数额
2、公告:查看管理员发布的公告
3、上班打卡:超过时间就不能打卡(迟到)
4、请假:需要描述能描述请假理由,然后提交请假,由管理员审核,
系统反馈:能提交系统问题,由员工自行描述,管理员接收

2.3 答辩文案

基于 SpringBoot 的人事管理系统使用对象有两个,分别是公司管理员和员工。

公司管理员负责职位的维护、职称的维护、部门组织架构的维护、管理员的维护、员工的维护、工资的维护发放审核、薪资标准的维护、员工请假审核、公告的维护、留言板的维护。

员工可以进行薪资查询和申请提现、查询公司公告、员工请假、留言板留言。

  1. 承载中小型公司的薪资维护、审核、发放功能。也就是公司管理员可以对所辖范围内的薪资进行增删改查操作。
    薪资是中小型企业必备的元素,所以需要这个模块。

  2. 承载中小型公司的请假、请假审核功能。也就是公司管理员可以对员工提交的请假进行审批,员工可以发起审批。
    请假也是中小型企业必备的元素,所以需要这个模块。

  3. 承载中小型公司的新闻时政公告功能。
    一家公司要能够得到员工的信赖,新闻时政肯定是必不可少的
    所以需要这个模块,由公司管理员维护,开放给员工查询。

  4. 承载中小型公司的留言板功能。
    公司OA系统的标准化流程,肯定会有需要改进的点,或者现有功能不能被员工理解学会
    所以需要设计留言板功能,实现员工和公司的信息交互功能。

  5. 承载中小型公司的职位、职称、部门组织架构维护功能。
    职位和职称也是中小型企业必备的元素,所以需要这个模块。

  6. 承载可能需要的其他功能。
    在设计这个系统的时候,可能会用到其他功能,比如日志、文件管理
    我会把这些功能封装成独立的模块,利用Vue的组件化优势提供给别的模块调用

这个系统前端采用了国内流行的Vue技术,采用View UI作为组件库;后端采用SpringBoot整合MybatisPlus;
采用maven构建项目,采用Mysql数据库,使用Redis缓存加密的用户临时数据。


三、系统展示

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


四、核心代码

4.1 查询职称

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询职称")
public Result<IPage<JobTitle>> getByPage(@ModelAttribute JobTitle jobTitle,@ModelAttribute PageVo page) {
    QueryWrapper<JobTitle> qw = new QueryWrapper<>();
    if(jobTitle.getTitle() != null && !MyNullUtils.isNull(jobTitle.getTitle())) {
        qw.like("title",jobTitle.getTitle());
    }
    if(jobTitle.getCode() != null && !MyNullUtils.isNull(jobTitle.getCode())) {
        qw.like("code",jobTitle.getCode());
    }
    IPage<JobTitle> data = iJobTitleService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<JobTitle>>().setData(data);
}

4.2 新增留言回复

@RequestMapping(value = "/insertReply", method = RequestMethod.POST)
@ApiOperation(value = "新增留言回复")
public Result<MessageBoard> insertReply(@RequestParam String content, @RequestParam String replyId){
    User currUser = securityUtil.getCurrUser();
    MessageBoard mb = iMessageBoardService.getById(replyId);
    if(mb == null) {
        return new ResultUtil<MessageBoard>().setErrorMsg("回复留言已被删除");
    }
    MessageBoard messageBoard = new MessageBoard();
    messageBoard.setUserId(currUser.getId());
    messageBoard.setUserName(currUser.getNickname());
    messageBoard.setDate(getZwzNowTime());
    messageBoard.setReplyId(replyId);
    messageBoard.setContent(content);
    if(iMessageBoardService.saveOrUpdate(messageBoard)){
        return new ResultUtil<MessageBoard>().setData(messageBoard);
    }
    return new ResultUtil<MessageBoard>().setErrorMsg("操作失败");
}

4.3 工资申请

@RequestMapping(value = "/apply", method = RequestMethod.POST)
@ApiOperation(value = "申请")
public Result<Object> apply(){
    Date date = new Date();
    int year = date.getYear() + 1900;
    int month = date.getMonth() + 1;
    String nowMouth = year + "-" + (month < 10 ? "0" + month : month) + "-";
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<SalaryWithdrawal> qw = new QueryWrapper<>();
    qw.eq("user_id",currUser.getId());
    qw.eq("mouth",nowMouth);
    List<SalaryWithdrawal> salaryWithdrawalList = iSalaryWithdrawalService.list(qw);
    if(salaryWithdrawalList.size() > 0) {
        return ResultUtil.error("您已申请,无需重复申请");
    }
    SalaryWithdrawal salaryWithdrawal = new SalaryWithdrawal();
    salaryWithdrawal.setSalaryTime(getZwzNowTime());
    salaryWithdrawal.setMouth(nowMouth);
    salaryWithdrawal.setAuditName("");
    salaryWithdrawal.setUserName(currUser.getNickname());
    salaryWithdrawal.setUserId(currUser.getId());
    salaryWithdrawal.setStatus(0);
    salaryWithdrawal.setAuditTime("-");
    salaryWithdrawal.setMoneyData(currUser.getMoneyData());
    iSalaryWithdrawalService.saveOrUpdate(salaryWithdrawal);
    return ResultUtil.success("OK");
}

4.4 工资审核

@RequestMapping(value = "/audit", method = RequestMethod.POST)
@ApiOperation(value = "审核")
public Result<Object> audit(@RequestParam String id){
    User currUser = securityUtil.getCurrUser();
    SalaryWithdrawal sw = iSalaryWithdrawalService.getById(id);
    if(sw == null) {
        return ResultUtil.error("审核申请不存在");
    }
    if(sw.getStatus() > 0) {
        return ResultUtil.error("审核单已被审核,无需重复审核");
    }
    sw.setStatus(1);
    sw.setAuditTime(getZwzNowTime());
    sw.setAuditName(currUser.getNickname());
    iSalaryWithdrawalService.saveOrUpdate(sw);
    return ResultUtil.success("OK");
}

4.5 员工请假

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "编辑或更新数据")
public Result<UserLeave> insert(@RequestParam String date,@RequestParam String reason){
    User currUser = securityUtil.getCurrUser();
    UserLeave userLeave = new UserLeave();
    userLeave.setUserId(currUser.getId());
    userLeave.setUserName(currUser.getNickname());
    userLeave.setDateTime(getZwzNowTime());
    userLeave.setStatus("未审核");
    userLeave.setLeaveDate(date);
    userLeave.setLeaveReason(reason);
    userLeave.setAuditUser("");
    if(iUserLeaveService.saveOrUpdate(userLeave)){
        return new ResultUtil<UserLeave>().setData(userLeave);
    }
    return new ResultUtil<UserLeave>().setErrorMsg("操作失败");
}

五、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/215683.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【网络安全】虚假IP地址攻击如何防范?

在当今的网络时代&#xff0c;虚假IP地址攻击已成为一种新型的网络攻击方式&#xff0c;给网络安全带来了极大的威胁。那么&#xff0c;什么是虚假IP地址攻击&#xff1f;又如何进行溯源和防范呢&#xff1f;本文将为您揭开这一神秘面纱。 一、虚假IP地址攻击概述 虚假IP地址攻…

ISP算法简述-BLC

Black Level Calibration, 黑电平矫正 现象 1)在纯黑条件下拍张图&#xff0c;你会发现像素值不为0 2)或者你发现图像整体偏色 这些问题可能是黑电平导致的。 原因 存在黑电平的原因有2个&#xff1a; 1)sensor的电路本身存在暗电流。暗电流主要产生在光电信号转换过程中&#…

quickapp_快应用_生命周期

生命周期 APP的生命周期页面组件的生命周期页面栈页面的生命周期onBackPressonMenuPress踩坑 onRefreshonConfigurationChanged页面滚动 自定义组件的生命周期父子组件初始化生命周期执行顺序 APP的生命周期 App的生命周期在app.ux 中定义的回调函数。 onCreate() {prompt.sh…

Apache solr XXE 漏洞(CVE-2017-12629)

任务一&#xff1a; 复现环境中的漏洞 任务二&#xff1a; 利用XXE漏洞发送HTTP请求&#xff0c;在VPS服务器端接受请求&#xff0c;或收到DNS记录 任务三&#xff1a; 利用XXE漏洞读取本地的/etc/passwd文件 1.搭建环境 2.开始看wp的时候没有看懂为什么是core&#xff0c;然…

动能芯片 | SI3262—高度集成的低功耗SOC芯片 刷卡触摸一体

Si3262是一款高度集成的低功耗SOC芯片&#xff0c;其集成了基于RISC-V核的低功耗MCU和工作在13.56MHz的非接触式读写器模块。 MCU模块具有低功耗、Low Pin Count、宽电压工作范围&#xff0c;集成了13/14/15/16位精度的ADC、LVD、UART、SPI、I2C、TIMER、WUP、IWDG、RTC、TSC等…

【ArcGIS Pro微课1000例】0046:深度学习--汽车检测

本实验讲述ArcGIS Pro中人工智能深度学习应用之–汽车检测。 文章目录 一、学习效果二、工具介绍三、案例实现四、注意事项一、学习效果 采用深度学习工具,可以很快速精准的识别汽车。 案例一: 案例二: 下面讲解GIS软件实现流程。 二、工具介绍 该案例演示的是ArcGIS Pro中…

C++ Easyx 让圆球跟随鼠标移动

目录 下载Easyx 检验 绘制窗口 画圆 响应事件的处理 清除原先绘图 渲染缓冲区 逻辑 代码托管 下载Easyx 在Easyx官网下载大暑版: 检验 写如下代码: 编译运行&#xff0c;如果控制台出现2023字样&#xff0c;代表配置成功: 绘制窗口 进入Eaxy官方网站&#xff0c;点…

51单片机项目(20)——基于51单片机的电机速度PID控制

1.功能设计 使用51单片机&#xff0c;控制电机速度&#xff0c;用了PID算法。有数码管显示实时速度&#xff0c;可以用按键设定速度。数码管也显示设定的预期速度。另外&#xff0c;还可以控制电机的换向和启停。 2.仿真图 3.PID算法介绍 PID算法&#xff0c;即Proportional-I…

【cmake】获取到某个目录下的所有子目录名

整体工程目录结构如下。现打算获取到vac目录下的所有子目录名。 cmake 实现如下: # 设定要遍历的目录&#xff0c;保存到 VAC_INCLUDE_DIR 变量 set(VAC_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/vac)# 获取到当前目录下的所有文件和目录&#xff08;以相对路径的方式&#xff09;&a…

NFTScan | 11.27~12.03 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期&#xff1a;2023.11.20~ 2023.11.26 NFT Hot News 01/ Web3 教育平台 Open Campus 获 Binance Labs 315 万美元投资 11 月 27 日&#xff0c;Binance Labs 已向社区主导的 Web3 教育平台 Open Campu…

2023-简单点-树莓派中的硬件通讯

树莓派中的通讯方式 串口通讯什么是串口通讯&#xff1f;串口设备的格式串口通讯的特点 tips并行通讯&#xff1f;基于网络的通讯?socket通讯 串口通讯 什么是串口通讯&#xff1f; 串行通信每次传输一个位元数据&#xff0c;并在连续进行单次过程的基础上进行通信。根据数据…

windows 11 家庭版怎样安装docker

这里写自定义目录标题 一、安装wsl1、开启硬件虚拟化2、安装wsl3.升级WSL到WSL24、下载安装linux分支5、测试运行6、出现如下问题7、迁移到非系统盘8、文件资源管理器9、配置网络10、更新和升级 一、安装wsl 1、开启硬件虚拟化 检查是否开启Hyper-V, 适用于Linux的Windows子系…

揭秘:大厂设计师是如何制定UI风格的?

当你碰到一个新的项目或产品战略需要进行重大的改变时&#xff0c;作为UI设计师&#xff0c;你要如何重新思考产品的视觉风格&#xff1f;从何处开始&#xff1f;存在哪些重要注意点&#xff1f;今天我们有幸请到Pixso的设计师&#xff0c;他们将以出租车应用程序的风格设计过程…

142873-41-4脂质过氧化抑制剂1-星戈瑞

142873-41-4脂质过氧化抑制剂1 英文名称&#xff1a;Lipid peroxidation inhibitor 1 中文名称&#xff1a;脂质过氧化抑制剂 化学名称&#xff1a;2,4,6,7-四甲基-2-[(4-苯基哌啶-1-基)甲基]-3H-1-苯并呋喃-5-胺 CAS&#xff1a;142873-41-4 外观&#xff1a;固体粉末 分…

Flume 安装部署

文章目录 Flume 概述Flume 安装部署官方网址下载安装配置文件启动 Flume 进程启动报错输出文件乱码问题 Flume 概述 Flume&#xff08;Apache Flume&#xff09;是一个开源的分布式日志收集、聚合和传输系统&#xff0c;属于 Apache 软件基金会的项目之一。其主要目标是简化大…

二叉查找树和红黑树

二叉搜索树又叫二叉查找树、二叉排序树&#xff0c;我们先看一下典型的二叉搜索树&#xff0c;这样的二叉树有何规则特点呢&#xff1f; 1&#xff0e;节点的左子树小于节点本身&#xff1b; 2&#xff0e;节点的右子树大于节点本身&#xff1b; 3&#xff0e;左右子树同样为…

SAP_ABAP_内表数据重复问题,解决思路

SAP ABAP 顾问&#xff08;开发工程师&#xff09;能力模型_Terry谈企业数字化的博客-CSDN博客文章浏览阅读516次。目标&#xff1a;基于对SAP abap 顾问能力模型的梳理&#xff0c;给一年左右经验的abaper 快速成长为三年经验提供超级燃料&#xff01;https://blog.csdn.net/j…

【蓝桥杯】二分查找

二分查找 题目描述 输入 n n n 个不超过 1 0 9 10^9 109 的单调不减的&#xff08;就是后面的数字不小于前面的数字&#xff09;非负整数 a 1 , a 2 , … , a n a_1,a_2,\dots,a_{n} a1​,a2​,…,an​&#xff0c;然后进行 m m m 次询问。对于每次询问&#xff0c;给出一…

C#中GDI+图形图像技术(Graphics类、Pen类、Brush类)

目录 一、创建Graphics对象 1.创建Pen对象 2.创建Brush对象 &#xff08;1&#xff09;SolidBrush类 &#xff08;2&#xff09;HatchBrush类 ​​​​​​​&#xff08;3&#xff09;LinerGradientBrush类 用户界面上的窗体和控件非常有用&#xff0c;且引人注目&#…

全球与中国工业冰箱市场:增长趋势、竞争格局与前景展望

工业制冷机是用来维持储运容器内低温冷藏环境&#xff0c;以防止食品饮料、药品、化学品等对温度敏感的产品腐败变质的系统。此外&#xff0c;冷冻机、热交换器等冷冻系统也用于在工业机械运作过程中保持冷却。工业冷冻系统的需求成长主要是由食品和饮料产业的成长所推动的。 冷…
最新文章