文末获取源码
前端框架:Vue
NodeJS版本:12\14\16
数据库:mysql 5.7
开发软件:HBuilder X
目录
前言
人类现已迈入二十一世纪,科学技术日新月异,经济、资讯等各方面都有了非常大的进步,尤其是资讯与网络技术的飞速发展,对政治、经济、军事、文化等各方面都有了极大的影响。
利用电脑网络的这些便利,发展一套小型企业工资管理系统,将会给用户带来更大的效益,而在管理效能上,也必然会有很大的方便!这样可以节省大量的时间和金钱。本系统在小型企业工资管理中不可或缺的一环。该系统主要完成了个人信息修改,对员工管理、部门信息管理、岗位信息管理、员工档案管理、请假信息管理、考勤信息管理、工资信息管理、系统公告管理等功能进行管理。方便了管理员随时随地,只要电脑联网,就能对小型企业工资进行管理。同时,还可以方便快捷查询自己的小型企业工资信息。
本篇论文对小型企业工资管理系统的需求分析、功能设计、系统设计进行了较为详尽的阐述,并对系统的整体设计进行了阐述,并对各功能的实现和主要功能进行了说明,并附上了相应的操作界面图。
系统展示
系统登录实现
系统登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作;如图5-1所示。
系统注册:在系统注册页面的输入栏中输入用户注册信息进行注册操作,系统注册页面如图5-2所示:
管理员模块实现
管理员进入主页面,主要功能包括对系统首页、个人中心、员工管理、部门信息管理、岗位信息管理、员工档案管理、请假信息管理、考勤信息管理、工资信息管理、系统公告管理等进行操作。管理员主页面如图5-3所示:
管理员点击员工管理。在员工页面输入工号和员工姓名进行查询、新增或删除员工列表,并根据需要对员工详情信息进行详情、档案、修改或删除操作;如图5-4所示:
管理员点击部门信息管理。在部门信息页面输入部门名称、部门地址和部门经理进行查询、新增或删除部门信息列表,并根据需要对部门信息详情进行详情、修改或删除操作;如图5-5所示:
管理员点击岗位信息管理。在岗位信息页面输入岗位名称进行查询、新增或删除岗位信息列表,并根据需要对岗位信息详情进行详情、修改或删除操作;如图5-6所示:
管理员点击员工档案管理。在员工档案页面输入员工姓名、选择部门和岗位进行查询、部门人数统计和删除员工档案列表,并根据需要对员工档案详情信息进行详情、工资、修改或删除操作;如图5-7所示:
管理员点击请假信息管理。在请假信息页面输入请假原因、员工姓名和选择是否通过进行查询或删除请假信息列表,并根据需要对请假信息详情进行详情、修改或删除操作;如图5-8所示:
管理员点击考勤信息管理。在考勤信息页面输入员工姓名和选择考勤类型进行查询、员工考勤统计或删除考勤信息列表,并根据需要对考勤信息详情进行详情、修改或删除操作;如图5-9所示:
管理员点击工资信息管理。在工资信息页面输入员工姓名、部门和岗位进行查询或删除工资信息列表,并根据需要对工资信息详情进行详情、修改或删除操作;如图5-10所示:
管理员点击系统公告管理。在系统公告页面输入公告标题进行查询、新增或删除系统公告列表,并根据需要对系统公告详情信息进行详情、修改或删除操作;如图5-11所示:
员工管理实现
员工进入系统可以对系统首页、个人中心、部门信息管理、员工档案管理、请假信息管理、考勤信息管理、工资信息管理、系统公告管理等功能进行操作。员工主页面如图5-12所示:
员工点击请假信息管理。在请假信息页面输入请假原因、员工姓名和选择是否通过进行查询、新增或删除请假信息列表,并根据需要对请假详细信息进行详情、修改或删除操作。如图5-13所示:
员工点击考勤信息管理。在考勤信息页面输入员工姓名和选择考勤类型进行查询、新增或删除考勤信息列表,并根据需要对考勤详细信息进行详情、修改或删除操作。如图5-14所示:
代码实现
登录功能实现代码
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
注册功能实现代码
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
密码重置功能实现代码
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
修改信息功能实现代码
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
return R.error("用户名已存在。");
}
userService.updateById(user);//全部更新
return R.ok();
}
删除信息功能实现代码
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
保存信息功能实现代码
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}