基于SpringBoot2+vue2的中小企业设备管理系统
1. 资源https://blog.xiaobias.com/article/572. 项目简介中小企业设备管理系统基于 Spring Boot MyBatis-Plus Vue.js 开发。系统旨在帮助中小企业对设备及配件进行全生命周期管理包括设备信息登记、购买、点检、润滑、改造、报修、安装、售后保养与检修以及配件信息管理、配件购买等功能。系统设计了三种角色管理员、用户企业客户、员工企业运维人员不同角色拥有差异化的操作权限。3. 技术栈层次技术选型后端框架Spring Boot 2.2.2.RELEASEORM 框架MyBatis-Plus 2.3 MyBatis Spring Boot Starter 2.1.1安全框架Apache Shiro 1.3.2集成权限控制数据库MySQL 5.7主 / SQL Server 可选连接池Spring Boot 默认 JDBC工具库Hutool 4.0.12、Fastjson 1.2.8、Commons Lang3、Commons IO、Protobuf、百度 AI SDK人脸识别前端框架Vue.js基于 Vue CLI、Element UI、ECharts、vue-amap高德地图、axios其他MD5 加密js-md5 后端 MD5Util、Token 认证、跨域支持、文件上传下载4. 详细介绍4.1 系统角色与权限管理员拥有全部管理权限包括用户管理、员工管理、设备/配件信息管理、设备购买审核、配件购买审核、设备点检/润滑/改造记录查看、事务报警管理、设备类型维护等。用户普通企业客户可以查看设备/配件信息并发起购买查看自己的购买订单支持支付发起设备报修查看售后检修、保养、安装的审核状态。员工企业内部运维人员可以对设备进行点检、润滑、改造操作处理设备报修单并生成售后检修/保养记录管理设备安装记录新增事务报警等。4.2 核心功能模块模块名称功能说明用户管理管理企业用户账号账号、姓名、手机、身份证等支持登录、注册、密码重置。员工管理管理员工账号工号、姓名、部门、手机等。设备信息管理维护设备基础信息编号、名称、类型、品牌、规格、生产厂家、价格、详情等支持新增、修改、删除、查看。配件信息管理维护配件信息编号、名称、类型、规格、作用描述、价格等。设备购买用户发起设备购买申请选择设备、填写数量、自动计算总价管理员审核用户支付模拟。生成购买订单记录购买日期。配件购买类似设备购买管理配件购买订单。设备点检员工对设备进行点检记录点检项目、内容、日期。管理员可查看所有点检记录。设备润滑员工记录设备润滑部位、润滑油种类、加油量、润滑周期等。设备改造员工记录设备改造原因、改造内容、验收情况、日期。设备报修用户提交报修单设备编号、损坏情况、报修内容管理员/员工处理并反馈审核。售后检修根据报修单生成检修记录维修内容、结果、日期支持审核。售后保养记录设备保养内容、日期支持审核。设备安装记录设备安装内容、调试结果、安装时间支持审核。事务报警员工上报报警项目、时间、原因、处理情况等。设备类型管理员维护设备类型字典。登录/注册支持管理员后台登录、用户/员工登录注册使用 Token 认证。统计与提醒提供按列统计、分组统计、值统计接口提供提醒功能如按日期字段提醒。通用接口动态表单联动/option/{table}/{column}、审核状态修改/sh/{tableName}、数据汇总/cal、/group、/value等。4.3 数据库设计核心表yonghu– 用户表账号、密码、姓名、性别、手机、邮箱、身份证yuangong– 员工表工号、密码、员工姓名、性别、部门、手机、邮箱、身份证shebeixinxi– 设备信息表peijianxinxi– 配件信息表shebeigoumai– 设备购买订单表含审核状态、支付状态peijiangoumai– 配件购买订单表shebeibaoxiu– 设备报修表shouhoujianxiu– 售后检修表shouhoubaoyang– 售后保养表shebeianzhuang– 设备安装表shebeidianjian– 设备点检表shebeirunhua– 设备润滑表shebeigaizao– 设备改造表shiwubaojing– 事务报警表shebeileixing– 设备类型字典表users– 系统管理员表token– Token 认证表config– 系统配置表如首页轮播图、百度地图 AK、人脸识别密钥等5. 部分代码5.1 后端核心类示例设备信息实体 (ShebeixinxiEntity.java)TableName(shebeixinxi)publicclassShebeixinxiEntityTimplementsSerializable{TableIdprivateLongid;privateStringshebeibianhao;// 设备编号privateStringshebeimingcheng;// 设备名称privateStringshebeileixing;// 设备类型privateStringpinpai;// 品牌privateStringguige;// 规格privateStringshengchanchangjia;// 生产厂家privateStringshebeijianjie;// 设备简介privateIntegerjiage;// 价格privateStringxiangqing;// 详情privateDatedengjishijian;// 登记时间// getters/setters ...}设备购买控制器 (ShebeigoumaiController.java)RestControllerRequestMapping(/shebeigoumai)publicclassShebeigoumaiController{AutowiredprivateShebeigoumaiServiceshebeigoumaiService;RequestMapping(/page)publicRpage(RequestParamMapString,Objectparams,ShebeigoumaiEntityshebeigoumai,HttpServletRequestrequest){StringtableNamerequest.getSession().getAttribute(tableName).toString();if(tableName.equals(yonghu)){shebeigoumai.setZhanghao((String)request.getSession().getAttribute(username));}EntityWrapperShebeigoumaiEntityewnewEntityWrapper();PageUtilspageshebeigoumaiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,shebeigoumai),params),params));returnR.ok().put(data,page);}// save, update, delete ...}Token 生成逻辑 (TokenServiceImpl.java)OverridepublicStringgenerateToken(Longuserid,Stringusername,StringtableName,Stringrole){TokenEntitytokenEntitythis.selectOne(newEntityWrapperTokenEntity().eq(userid,userid).eq(role,role));StringtokenCommonUtil.getRandomString(32);CalendarcalCalendar.getInstance();cal.add(Calendar.HOUR_OF_DAY,1);if(tokenEntity!null){tokenEntity.setToken(token);tokenEntity.setExpiratedtime(cal.getTime());this.updateById(tokenEntity);}else{this.insert(newTokenEntity(userid,username,tableName,role,token,cal.getTime()));}returntoken;}5.2 前端核心代码路由配置 (router-static.js)constroutes[{path:/index,component:Index,children:[{path:/,component:Home},{path:/updatePassword,component:UpdatePassword},{path:/shebeixinxi,component:shebeixinxi},{path:/shebeigoumai,component:shebeigoumai},// ... 其他模块路由]},{path:/login,component:Login}];API 请求封装 (http.js)consthttpaxios.create({timeout:1000*86400,withCredentials:true,baseURL:/springbootu6123,headers:{Content-Type:application/json; charsetutf-8}});http.interceptors.request.use(config{config.headers[Token]storage.get(Token);returnconfig;});菜单权限控制 (menu.js片段)constmenu{list(){return[{roleName:管理员,backMenu:[{menu:用户管理,child:[{menu:用户,tableName:yonghu,buttons:[新增,查看,修改,删除]}]},{menu:设备信息管理,child:[{menu:设备信息,tableName:shebeixinxi,buttons:[新增,查看,修改,删除]}]},// ...]},{roleName:用户,backMenu:[...]},{roleName:员工,backMenu:[...]}];}};6. 部分截图7. 项目总结中小企业设备管理系统为一个功能完整的中小企业设备管理平台涵盖了设备与配件的采购、维护、报修、改造等核心业务环节。通过合理的角色划分管理员、用户、员工和细粒度的按钮级权限控制满足了不同用户群体的操作需求。技术选型成熟后端使用 Spring Boot MyBatis-Plus 快速开发Shiro 负责认证授权前端基于 Vue Element UI 构建后台管理界面并集成了 ECharts 图表、高德地图、百度人脸比对等扩展能力。项目代码结构清晰分层合理Controller、Service、Dao、Entity提供了通用接口联动、审核、统计、提醒方便二次开发。数据库设计符合业务逻辑支持 MySQL 和 SQL Server 双数据库配置。整体上该系统具备较高的实用性和可维护性适合作为中小型企业设备管理信息化解决方案的参考实现。