基于 Spring Boot 的校园报修管理系统

34 阅读4分钟

SchoolBX 校园报修管理系统

项目简介

SchoolBX 是一个简化版校园报修管理系统,包含前后端两个子项目:

  • schoolbx-server:Spring Boot + MyBatis-Plus 后端
  • schoolbx-web:Vue 3 + Vite + Pinia 前端

系统面向校园报修场景,支持不同角色参与工单流转,适合作为课程设计、答辩演示或基础管理系统样例。


已实现功能

1. 登录与角色权限

  • 用户登录
  • 获取当前用户信息
  • 基于角色控制菜单展示
  • 基于角色控制接口访问

2. 工单管理

  • 发起报修
  • 查看工单列表
  • 按工单编号、标题、状态筛选
  • 查看工单详情

3. 工单流转

  • 管理员审核
  • 管理员派单
  • 维修人员接单
  • 维修人员提交完工
  • 报修人确认完成

4. 工单评价

  • 已完成工单可评价
  • 工单详情展示评价内容

5. 首页统计

  • 今日新增工单
  • 待审核工单
  • 处理中工单
  • 已完成工单

6. 用户管理

  • 用户列表查看
  • 新增用户
  • 编辑用户
  • 启用/禁用用户
  • 按账号或姓名搜索

7. 附件上传

  • 工单详情页上传附件
  • 附件列表展示
  • 点击附件直接访问

8. 数据库初始化

  • 已提供初始化 SQL:schoolbx-server/sql/init.sql
  • 当前 SQL 仅保留主键约束

系统角色

系统内置 5 类角色:

  • 学生 STUDENT
  • 教师 TEACHER
  • 维修人员 REPAIRER
  • 后勤管理员 MANAGER
  • 系统管理员 ADMIN

默认测试账号

来自 schoolbx-server/sql/init.sql

角色账号密码
系统管理员admin123456
学生student01123456
教师teacher01123456
维修人员repair01123456
后勤管理员manager01123456

推荐演示流程

演示 1:管理员视角

  1. 使用 admin 登录
  2. 查看首页统计数据
  3. 进入工单列表,演示筛选功能
  4. 打开待审核工单,执行审核
  5. 给维修人员派单
  6. 进入用户管理,演示新增/编辑/禁用用户

演示 2:维修人员视角

  1. 使用 repair01 登录
  2. 查看分配给自己的工单
  3. 打开工单详情
  4. 执行接单
  5. 执行提交完工

演示 3:报修人视角

  1. 使用 student01teacher01 登录
  2. 新建报修工单
  3. 查看自己的工单列表
  4. 打开详情页上传附件
  5. 等待维修完成后确认完成
  6. 对工单进行评价

项目结构

后端

  • schoolbx-server/src/main/java/com/schoolbx/modules/auth:认证模块
  • schoolbx-server/src/main/java/com/schoolbx/modules/user:用户模块
  • schoolbx-server/src/main/java/com/schoolbx/modules/repair:工单模块
  • schoolbx-server/src/main/java/com/schoolbx/modules/attachment:附件模块
  • schoolbx-server/sql/init.sql:数据库初始化脚本

前端

  • schoolbx-web/src/views/auth:登录页
  • schoolbx-web/src/views/dashboard:首页统计页
  • schoolbx-web/src/views/repair:工单创建、列表、详情
  • schoolbx-web/src/views/user:用户管理页
  • schoolbx-web/src/stores/user.js:登录态与用户信息管理

启动说明

1. 初始化数据库

执行:

  • schoolbx-server/sql/init.sql

数据库默认名:

  • school_repair

2. 配置后端数据库连接

配置文件:

  • schoolbx-server/src/main/resources/application-dev.yml

默认配置:

  • MySQL 地址:localhost:3306
  • 用户名:root
  • 密码:root

请按本机环境修改。

3. 启动后端

启动 schoolbx-server 的 Spring Boot 主程序。

4. 启动前端

进入 schoolbx-web 后安装依赖并运行开发服务器。

常见命令:

npm install
npm run dev

附件说明

  • 上传文件默认保存到后端项目运行目录下的 uploads/
  • 访问路径映射为 /uploads/**
  • 当前实现为简化版:
    • 支持单文件上传
    • 支持附件列表查看
    • 不包含删除、批量上传、复杂预览

当前实现特点

本项目以“简单、可演示、可答辩”为目标,尽量避免过度设计:

  • 用户管理为简化版
  • 附件上传为简化版
  • 工单流程完整但不额外扩展复杂通知系统
  • 数据库 SQL 已按要求精简,仅保留主键约束

后续可扩展方向

如需继续完善,可在此基础上增加:

  • 通知公告
  • 附件删除与图片预览
  • 用户分页与后端搜索
  • 操作日志查询
  • 更多图表统计

登录.png

工单列表.png

工单派单.png

工单评价.png

工单审核.png

工单详情.png

接单.png

流程记录.png

确认完成.png

首页.png

提交完工.png

我要报修.png

用户管理.png