项目介绍 :
Springboot3+Maven+Mybatis Plus+Vue3+ Element Plus+Mysql 开发的前后端分离的校园宿舍管理系统
项目演示:
https://www.bilibili.com/video/BV16UmoYWEVR/
运行环境:
最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
IDE环境:
Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以
适用于:
由于本程序规模不大,可供课程设计,毕业设计学习演示之用
内置功能
管理员角色包含以下功能:
- 首页信息统计展示
- 学生信息管理
- 宿管信息管理
- 楼宇信息管理
- 房间信息管理
- 学生信息管理
- 公告信息管理
- 报修信息管理
- 调宿信息管理
- 访客信息管理
- 水费信息管理
- 电费信息管理
- 卫生检查信息管理
- 个人信息管理
宿舍管理员包含以下功能
- 首页信息统计展示
- 学生信息管理
- 楼宇信息管理
- 房间信息管理
- 学生信息管理
- 报修信息管理
- 调宿信息管理
- 访客信息管理
- 卫生检查信息管理
- 个人信息管理
学生包含以下功能
- 首页信息统计展示
- 房间信息查看
- 床位信息查看
- 报修申请
- 调宿申请
- 水费信息添加
- 电费信息添加
- 卫生信息查看
- 个人信息管理
项目预览
用户管理控制层:
java">package com.example.springboot.controller;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.springboot.common.Result;
import com.example.springboot.entity.DormManager;
import com.example.springboot.entity.User;
import com.example.springboot.service.DormManagerService;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;
import javax.servlet.http.HttpSession;@RestController
@RequestMapping("/dormManager")
public class DormManagerController {@Resourceprivate DormManagerService dormManagerService;/*** 宿管添加*/@PostMapping("/add")public Result<?> add(@RequestBody DormManager dormManager) {int i = dormManagerService.addNewDormManager(dormManager);if (i == 1) {return Result.success();} else {return Result.error("-1", "添加失败");}}/*** 宿管信息更新*/@PutMapping("/update")public Result<?> update(@RequestBody DormManager dormManager) {if (StringUtils.equals("test",dormManager.getUsername())){return Result.error("-1", "禁止修改测试账号");}int i = dormManagerService.updateNewDormManager(dormManager);if (i == 1) {return Result.success();} else {return Result.error("-1", "更新失败");}}/*** 宿管删除*/@DeleteMapping("/delete/{username}")public Result<?> delete(@PathVariable String username) {if (StringUtils.equals("test",username)){return Result.error("-1", "禁止修改测试账号");}int i = dormManagerService.deleteDormManager(username);if (i == 1) {return Result.success();} else {return Result.error("-1", "删除失败");}}/*** 宿管查找*/@GetMapping("/find")public Result<?> findPage(@RequestParam(defaultValue = "1") Integer pageNum,@RequestParam(defaultValue = "10") Integer pageSize,@RequestParam(defaultValue = "") String search) {Page page = dormManagerService.find(pageNum, pageSize, search);if (page != null) {return Result.success(page);} else {return Result.error("-1", "查询失败");}}/*** 宿管登录*/@PostMapping("/login")public Result<?> login(@RequestBody User user, HttpSession session) {Object o = dormManagerService.dormManagerLogin(user.getUsername(), user.getPassword());if (o != null) {System.out.println(o);//存入sessionsession.setAttribute("Identity", "dormManager");session.setAttribute("User", o);return Result.success(o);} else {return Result.error("-1", "用户名或密码错误");}}
}
用户信息主页
java"><template><div><el-breadcrumb separator-icon="ArrowRight" style="margin: 16px"><el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item><el-breadcrumb-item>用户管理</el-breadcrumb-item><el-breadcrumb-item>宿管信息</el-breadcrumb-item></el-breadcrumb><el-card style="margin: 15px; min-height: calc(100vh - 111px)"><div><!-- 功能区--><div style="margin: 10px 0"><!-- 搜索区--><div style="margin: 10px 0"><el-input v-model="search" clearable placeholder="请输入姓名" prefix-icon="Search" style="width: 20%"/><el-button icon="Search" style="margin-left: 5px" type="primary" @click="load"></el-button><el-button icon="refresh-left" style="margin-left: 10px" type="default" @click="reset"></el-button><div style="float: right"><el-tooltip content="添加" placement="top"><el-button icon="plus" style="width: 50px" type="primary" @click="add"></el-button></el-tooltip></div></div></div><!-- 表格--><el-table v-loading="loading" :data="tableData" border max-height="705" style="width: 100%"><el-table-column label="#" type="index"/><el-table-column label="账号" prop="username" sortable/><el-table-column label="姓名" prop="name"/><el-table-column:filter-method="filterTag":filters="[{ text: '男', value: '男' },{ text: '女', value: '女' },]"filter-placement="bottom-end"label="性别"prop="gender"/><el-table-column label="年龄" prop="age" sortable/><el-table-column label="手机号" prop="phoneNum"/><el-table-column label="邮箱" prop="email"/><el-table-column label="任职宿舍楼" prop="dormBuildId" sortable/><!-- 操作栏--><el-table-column label="操作" width="130px"><template #default="scope"><el-button icon="Edit" type="primary" @click="handleEdit(scope.row)"></el-button><el-popconfirm title="确认删除?" @confirm="handleDelete(scope.row.username)"><template #reference><el-button icon="Delete" type="danger"></el-button></template></el-popconfirm></template></el-table-column></el-table><!--分页--><div style="margin: 10px 0"><el-paginationv-model:currentPage="currentPage":page-size="pageSize":page-sizes="[10, 20]":total="total"layout="total, sizes, prev, pager, next, jumper"@size-change="handleSizeChange"@current-change="handleCurrentChange"></el-pagination></div><div><!-- 弹窗--><el-dialog v-model="dialogVisible" title="操作" width="30%" @close="cancel"><el-form ref="form" :model="form" :rules="rules" label-width="120px"><el-form-item label="账号" prop="username"><el-input v-model="form.username" :disabled="judgeAddOrEdit" style="width: 80%"></el-input></el-form-item><el-form-item label="密码" prop="password"><el-input v-model="form.password" :disabled="disabled" :show-password="showpassword"style="width: 80%"></el-input><el-tooltip content="修改密码" placement="right"><el-icon :style="editDisplay" size="large" style="margin-left: 5px; cursor: pointer"@click="EditPass"><edit/></el-icon></el-tooltip></el-form-item><el-form-item :style="display" label="确认密码" prop="checkPass"><el-input v-model="form.checkPass" :show-password="showpassword" style="width: 80%"></el-input></el-form-item><el-form-item label="姓名" prop="name"><el-input v-model="form.name" style="width: 80%"></el-input></el-form-item><el-form-item label="年龄" prop="age"><el-input v-model.number="form.age" style="width: 80%"></el-input></el-form-item><el-form-item label="性别" prop="gender"><el-radio v-model="form.gender" label="男">男</el-radio><el-radio v-model="form.gender" label="女">女</el-radio></el-form-item><el-form-item label="手机号" prop="phoneNum"><el-input v-model.number="form.phoneNum" style="width: 80%"></el-input></el-form-item><el-form-item label="邮箱地址" prop="email"><el-input v-model="form.email" style="width: 80%"></el-input></el-form-item><el-form-item label="任职宿舍楼" prop="dormBuildId"><el-input v-model="form.dormBuildId" style="width: 80%"></el-input></el-form-item></el-form><template #footer><span class="dialog-footer"><el-button @click="cancel">取 消</el-button><el-button type="primary" @click="save">确 定</el-button></span></template></el-dialog></div></div></el-card></div>
</template>
<script src="@/assets/js/DormManagerInfo.js"></script>
创作不易,源码非无偿提供,需要获取源码的私信博主