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:
| 角色 | 账号 | 密码 |
|---|---|---|
| 系统管理员 | admin | 123456 |
| 学生 | student01 | 123456 |
| 教师 | teacher01 | 123456 |
| 维修人员 | repair01 | 123456 |
| 后勤管理员 | manager01 | 123456 |
推荐演示流程
演示 1:管理员视角
- 使用
admin登录 - 查看首页统计数据
- 进入工单列表,演示筛选功能
- 打开待审核工单,执行审核
- 给维修人员派单
- 进入用户管理,演示新增/编辑/禁用用户
演示 2:维修人员视角
- 使用
repair01登录 - 查看分配给自己的工单
- 打开工单详情
- 执行接单
- 执行提交完工
演示 3:报修人视角
- 使用
student01或teacher01登录 - 新建报修工单
- 查看自己的工单列表
- 打开详情页上传附件
- 等待维修完成后确认完成
- 对工单进行评价
项目结构
后端
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 已按要求精简,仅保留主键约束
后续可扩展方向
如需继续完善,可在此基础上增加:
- 通知公告
- 附件删除与图片预览
- 用户分页与后端搜索
- 操作日志查询
- 更多图表统计