原创

基于SpringBoot2+vue2的中小企业设备管理系统

温馨提示:
本文最后更新于 2026年06月04日,已超过 6 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

1. 资源

放到文章最后面

2. 项目简介

中小企业设备管理系统,基于 Spring Boot + MyBatis-Plus + Vue.js 开发。系统旨在帮助中小企业对设备及配件进行全生命周期管理,包括设备信息登记、购买、点检、润滑、改造、报修、安装、售后保养与检修,以及配件信息管理、配件购买等功能。系统设计了三种角色:管理员用户(企业客户)、员工(企业运维人员),不同角色拥有差异化的操作权限。

3. 技术栈

层次 技术选型
后端框架 Spring Boot 2.2.2.RELEASE
ORM 框架 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")
public class ShebeixinxiEntity<T> implements Serializable {
    @TableId
    private Long id;
    private String shebeibianhao;    // 设备编号
    private String shebeimingcheng;  // 设备名称
    private String shebeileixing;    // 设备类型
    private String pinpai;           // 品牌
    private String guige;            // 规格
    private String shengchanchangjia;// 生产厂家
    private String shebeijianjie;    // 设备简介
    private Integer jiage;           // 价格
    private String xiangqing;        // 详情
    private Date dengjishijian;      // 登记时间
    // getters/setters ...
}

设备购买控制器 (ShebeigoumaiController.java)

@RestController
@RequestMapping("/shebeigoumai")
public class ShebeigoumaiController {
    @Autowired
    private ShebeigoumaiService shebeigoumaiService;

    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,
                  ShebeigoumaiEntity shebeigoumai,
                  HttpServletRequest request) {
        String tableName = request.getSession().getAttribute("tableName").toString();
        if (tableName.equals("yonghu")) {
            shebeigoumai.setZhanghao((String) request.getSession().getAttribute("username"));
        }
        EntityWrapper<ShebeigoumaiEntity> ew = new EntityWrapper<>();
        PageUtils page = shebeigoumaiService.queryPage(params,
                MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shebeigoumai), params), params));
        return R.ok().put("data", page);
    }
    // save, update, delete ...
}

Token 生成逻辑 (TokenServiceImpl.java)

@Override
public String generateToken(Long userid, String username, String tableName, String role) {
    TokenEntity tokenEntity = this.selectOne(new EntityWrapper<TokenEntity>()
            .eq("userid", userid).eq("role", role));
    String token = CommonUtil.getRandomString(32);
    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.HOUR_OF_DAY, 1);
    if (tokenEntity != null) {
        tokenEntity.setToken(token);
        tokenEntity.setExpiratedtime(cal.getTime());
        this.updateById(tokenEntity);
    } else {
        this.insert(new TokenEntity(userid, username, tableName, role, token, cal.getTime()));
    }
    return token;
}

5.2 前端核心代码

路由配置 (router-static.js)

const routes = [{
    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)

const http = axios.create({
    timeout: 1000 * 86400,
    withCredentials: true,
    baseURL: '/springbootu6123',
    headers: { 'Content-Type': 'application/json; charset=utf-8' }
});
http.interceptors.request.use(config => {
    config.headers['Token'] = storage.get('Token');
    return config;
});

菜单权限控制 (menu.js 片段)

const menu = {
    list() {
        return [
            { roleName: "管理员", backMenu: [
                { menu: "用户管理", child: [{ menu: "用户", tableName: "yonghu", buttons: ["新增","查看","修改","删除"] }] },
                { menu: "设备信息管理", child: [{ menu: "设备信息", tableName: "shebeixinxi", buttons: ["新增","查看","修改","删除"] }] },
                // ...
            ]},
            { roleName: "用户", backMenu: [...] },
            { roleName: "员工", backMenu: [...] }
        ];
    }
};

6. 部分截图

img1
img2
img3
img4
img5
img6
img7
img8
img9
img10
img11
img12
img13
img14
img15
img16
img17
img18
img19
img20
img21
img22
img23
img24
img25
img26

7. 项目总结

中小企业设备管理系统为一个功能完整的中小企业设备管理平台,涵盖了设备与配件的采购、维护、报修、改造等核心业务环节。通过合理的角色划分(管理员、用户、员工)和细粒度的按钮级权限控制,满足了不同用户群体的操作需求。技术选型成熟:后端使用 Spring Boot + MyBatis-Plus 快速开发,Shiro 负责认证授权;前端基于 Vue + Element UI 构建后台管理界面,并集成了 ECharts 图表、高德地图、百度人脸比对等扩展能力。项目代码结构清晰,分层合理(Controller、Service、Dao、Entity),提供了通用接口(联动、审核、统计、提醒)方便二次开发。数据库设计符合业务逻辑,支持 MySQL 和 SQL Server 双数据库配置。整体上,该系统具备较高的实用性和可维护性,适合作为中小型企业设备管理信息化解决方案的参考实现。

代码:https://fifteen.xiaobias.com/source/101

正文到此结束
本文目录