返回作品

校园宿舍管理系统

创建于 2025 年 6 月 1 日

标签
  • Spring Boot
  • MyBatis-Plus
  • MySQL
  • Vue 3
  • Element Plus
  • Vue Router
  • Vuex
  • ECharts
  • Axios
  • wangeditor

项目介绍

校园宿舍管理系统是一个前后端分离的宿舍管理后台,后端为 Spring Boot 工程(springboot,端口 9090),前端为 Vue 3 单页应用(vue,基于 vue-cli 4.5 构建)。项目围绕宿舍日常管理中最核心的”人—房—床”关系设计:登录页提供学生 / 宿舍管理员 / 系统管理员三种身份单选,登录成功后身份与用户对象写入 HttpSession,前端配合路由守卫与 sessionStorage 实现不同角色的菜单隔离。

核心功能

  • 三角色登录与权限隔离Login.vue 以单选框切换学生 / 宿舍管理员 / 系统管理员,分别调用 /stu/login/dormManager/login/admin/login;后端将 IdentityUser 写入 session,MainController 提供 loadIdentity / loadUserInfo / signOut 接口,前端路由守卫据此拦截未登录访问。
  • 房间与床位管理:管理员可增删改查宿舍房间(按房间号模糊搜索),在房间详情中为四个床位分配或移除学生(RoomInfo.vue),后端实时维护入住人数;分配前会依次校验”学生是否已有床位、房间是否满员、床位是否被占”,从源头避免一人多床。
  • 报修与充电申请闭环:学生通过 ApplyRepairInfo.vue / ApplyElectric.vue 提交报修单与”申请充电”工单(标题、内容、楼栋、房间),管理员在 RepairInfo.vue 中按标题搜索、查看详情、标记完成并记录完成时间;学生端还通过 individualFind 按申请人过滤,只查看自己的工单记录。
  • 调宿申请与自动搬床:学生提交调宿申请(当前房间/床位 → 目标房间/床位),管理员在 AdjustRoomInfo.vue 中审批(通过 / 驳回);审批通过后 DormRoomImpl.adjustRoomUpdate 将学生从原床位列清空(容量减一),写入目标床位列(容量加一),完成一次”搬床”操作。
  • 公告、访客与个人中心:公告支持 wangeditor 富文本编辑与分页管理(NoticeInfo.vue);访客登记记录姓名、性别、电话、来源城市、来访时间与事由(VisitorInfo.vue);个人中心支持查看”我的宿舍”、修改资料、上传头像——头像由 FileController 写入本地 files 目录并以 UID 重命名,读取时 Base64 编码回显到前端。

功能截图

暂无运行截图。