基于微信小程序的宿舍维修小程序的设计与实现

hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹

🦁作者简介 :一名喜欢分享和记录学习的在校大学生

💥个人主页code袁的博客

💥 个人QQ :2647996100

🐯 个人wechat :code8896
code袁系列专栏导航
1 .《毕业设计与课程设计》本专栏分享一些毕业设计的源码以及项目成果。🥰🥰🥰
2.微信小程序开发》本专栏从基础到入门的一系开发流程,并且分享了自己在开发中遇到的一系列问题。🤹🤹🤹
3.vue开发系列全程线路》本专栏分享自己的vue的学习历程。

非常期待和您一起在这个小小的互联网世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨


视频演示

1、前言介绍

随着高校与园区住宿规模的持续扩大,传统的宿舍报修模式,如电话登记、纸质报修单等,已难以满足高效、透明的服务需求。这些模式存在响应滞后、流程不清晰、维修进度无法追踪等问题,不仅影响了住宿人员的生活体验,也给后勤管理工作带来了不小的挑战。

宿舍维修小程序正是为解决这些痛点而设计。它以微信小程序为载体,打造了一个集 "报修申请 --- 派单处理 --- 维修跟进 --- 验收评价" 于一体的数字化服务闭环。这一系统旨在打通学生、宿管、维修人员与后勤管理者之间的信息壁垒,让报修流程更便捷、维修过程更透明、管理决策更精准。

通过技术赋能,我们期望为住宿人员提供更高效的服务体验,也为后勤管理部门提供更科学的管理工具,从而推动宿舍服务管理向精细化、智能化方向升级。

2、功能设计

宿舍维修小程序的功能设计围绕 "报修全流程闭环管理" 核心目标展开,覆盖学生、维修人员、后勤管理员三类核心角色的需求,确保报修流程便捷高效、维修过程透明可控、管理决策有据可依。

一、用户端(学生 / 住宿人员)

在线报修:支持选择故障类型、上传现场图片、填写详细位置与描述,一键提交报修申请,无需线下登记。

进度追踪:实时查看报修单状态(待派单 / 维修中 / 已完成),接收派单、维修完成等节点的消息通知。

评价反馈:维修完成后可对服务质量、维修效果进行评分与文字评价,帮助优化后续服务。

历史记录:可随时查看个人所有报修记录,便于追溯与核对。

二、维修人员端

工单接收:实时接收系统派单,查看报修详情、故障位置及联系方式,支持接单 / 拒单操作。

工单处理:到达现场后可更新维修状态,记录维修内容、更换配件信息,并上传完工照片。

消息提醒:接收新工单、催单等通知,避免遗漏重要任务。

个人工单统计:查看个人接单量、完成率、评价评分等数据,辅助个人绩效评估。

三、后勤管理端

工单派单:根据报修类型、维修人员技能与位置,智能分配工单,也可手动调整派单。

工单监控:全局查看所有报修单的流转状态,对超时工单进行预警与催办。

数据统计分析:生成报修量趋势、故障类型分布、维修人员绩效等报表,为管理决策提供数据支撑。

基础配置管理:维护故障类型、维修人员信息、宿舍区域等基础数据,保障系统稳定运行。

3、功能实现

系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。下图就是管理员登录页面。

目管理页面提供的功能操作有:查看维修记录,订单管理,反馈管理,接单管理。







4、开发技术简介

本节介绍场馆预约平台用到的一些技术和开发环境的简介,用到开发技术主要包括:

(1)前端用到Element UI组件库和Vue框架

(2)后端Springboot

(3)包管理器Npm

(5)数据库MySQL

系统开发环境主要是:前端开发工具Vscode,Hbuilder、操作系统Win10、CPU i5-9300H、内存8G。

5、系统物理架构

自习室系统的物理架构主要有:管理端和用户端,其中管理端主要是基于Vue和Element UI,用户端主要基于安卓、微信小程序和H5自习室系统的物理建构图

6、系统流程图

用户发起预约时首先会检测用户是否登录,若登录则进入到相应的预约界面,此时用户可以选择需要预约的时间段以及场地。当用户预约成功时用户会在我的预约中找到这次预约。当用户去场馆时可以通过预约生成的二维码来验证身份。若用户的预约时间失效也会有响应的提示

7、库表设计




8、关键代码
java 复制代码
package com.hima.controller;


import com.hima.pojo.Result;
import com.hima.pojo.User;
import com.hima.service.UserService;
import com.hima.utils.MD5Utils;
import com.hima.utils.jwtUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    //注册操作
    @PostMapping("/register")
    public Result register(String username,String password,String role,String schoolId){
        User user = userService.findByUserName(username);
        if (user!=null){
            return Result.error("用户已注册");
        }else {
            userService.register(username, password, role,schoolId);
            return Result.success();
        }
    }
    //登录
    @PostMapping("/login")
    public Result login(String username, String password){
        User loginUser=userService.findByUserName(username);
        System.out.println("11"+loginUser+username+password);
        if (loginUser==null){
            return Result.error("用户名错误");
        }
        //判断密码是否正确
        if(MD5Utils.md5(password).equals(loginUser.getPassword())){
            //生成token,并且返回给前端
            Map<String,Object> claims=new HashMap<>();
            claims.put("id",loginUser.getId());
            claims.put("username",loginUser.getUsername());
            String token= jwtUtil.getToken(claims);

            return Result.success(token);
        }
        //密码错误
        return Result.error("密码错误");
    }
    //获取用户信息
    @RequestMapping("/getUserInfo")
    public Result<User> getUserInfo(String username){
        User user = userService.findByUserName(username);
        return Result.success(user);
    }
    //修改用户信息
    @PostMapping("/updateUserInfo")
    public Result updateUserInfo(String username,String imgUrl,String id){
        userService.updateUserInfo(username, imgUrl, id);
        return Result.success();
    }
}
java 复制代码
package com.hima.controller;

import com.hima.pojo.*;
import com.hima.service.IndexService;
import com.hima.service.UserService;
import com.hima.utils.jwtUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.lang.Process;
import java.util.List;

@RestController
@RequestMapping("/index")
public class IndexController {

    @Autowired
    private IndexService indexService;

    @Autowired
    private UserService  userService;

    //获取通知
    @RequestMapping("/getNotice")
    public Result<Notice> getNotice(){
        Notice notice = indexService.getNotice();
        return Result.success(notice);
    }
    //获取资讯
    @RequestMapping("/getNews")
    public Result<List<News>> getNews(){
        List<News> news = indexService.getNews();
        return Result.success(news);
    }
    //获取校区
    @RequestMapping("/getSchoolPlace")
    public Result<List<SchoolPlace>> getSchoolPlace(){
        List<SchoolPlace> schoolPlace = indexService.getSchoolPlace();
        return Result.success(schoolPlace);
    }


    //添加维修
    @RequestMapping("/addMaintenance")
    public Result addMaintenance(String typelist,String schoolplace,String dormitory,String desc,String imgUrl,String urgent,String phone,String userId ){
        indexService.addMaintenance(typelist,schoolplace,dormitory,desc,imgUrl,urgent,phone,userId);
        return Result.success();
    }

    //获取维修
    @RequestMapping("/getMaintenance")
    public Result<List<Maintenance>> getMaintenance(String userId){
        List<Maintenance> maintenance = indexService.getMaintenance(userId);
        return Result.success(maintenance);
    }
    //取消维修
    @RequestMapping("/cancelMaintenance")
    public Result cancelMaintenance(String id){
        indexService.cancelMaintenance(id);
        return Result.success();
    }
    //获取维修详情
    @RequestMapping("/getDetailMaintence")
    public Result<Maintenance> getMaintenanceDetail(String id){
        Maintenance maintenance = indexService.getMaintenanceDetail(id);
        return Result.success(maintenance);
    }
    //待维修
    @RequestMapping("/getPendingMaintence")
    public Result<List<Maintenance>> getPendingMaintence(){
        List<Maintenance> maintenance = indexService.getPendingMaintence();
        return Result.success(maintenance);
    }

    //添加反馈
    @RequestMapping("/addFeedback")
    public Result addFeedback(String content,String username,String feedbackType,String imageList,String phone){
        indexService.addFeedback(content,username,feedbackType,imageList,phone);
        return Result.success();
    }
    //反馈进度查询
    @RequestMapping("/getFeedbackProgress")
    public Result<List<Feedback>> getFeedbackProgress(String username){
        List<Feedback> feedback = indexService.getFeedbackProgress(username);
        return Result.success(feedback);
    }
    //添加订单
    @RequestMapping("/addOrder")
    public Result addOrder(String maintenanceId,String orderNumber,String repairId,String status){
        indexService.addOrder(maintenanceId,orderNumber,repairId,status);
        return Result.success();
    }
    //修改订单状态
    @RequestMapping("/updateOrder")
    public Result updateOrder(String maintenanceId){
        indexService.updateOrder(maintenanceId);
        return Result.success();
    }
    //维修进度
    @RequestMapping("/getOrderStatus")
    public Result<OrderList> getOrderStatus(String maintenanceId){
        OrderList orderList = indexService.getOrderStatus(maintenanceId);
        return Result.success(orderList);
    }
    //获取维修进度
    @RequestMapping("/getProgress")
    public Result<List<Progress>> getProgress(String maintenanceId){
        List<Progress> progress = indexService.getProgress(maintenanceId);
        return Result.success(progress);
    }
    //获取用户待评价的
    @RequestMapping("/getCompletedMaintance")
    public Result<List<Maintenance>> getCompletedMaintance(String username){
        User user = userService.findByUserName(username);
        String userId = user.getId().toString();
        List<Maintenance> evaluatedList = indexService.getCompletedMaintance(userId);
        return Result.success(evaluatedList);
    }
    //查看已评价的
    @RequestMapping("/getCommentList")
    public Result<List<Comment>> getCommentList(String username){
        User user = userService.findByUserName(username);
        String userId = user.getId().toString();
        List<Comment> evaluatedList = indexService.getCommentList(userId);
        return Result.success(evaluatedList);
    }
    //添加评价
    @RequestMapping("/addComment")
    public Result addComment(String currentRating,String comment,String currentOrderId){
        indexService.addComment(currentRating,comment,currentOrderId);
        return Result.success();
    }
    //维修人员查看已评价的
    @RequestMapping("/getEvaluatedList")
    public Result<List<EvaluatedList>> getEvaluatedList(String username){
        User user = userService.findByUserName(username);
        String repairId = user.getId().toString();
        List<EvaluatedList> evaluatedList = indexService.getEvaluatedList(repairId);
        return Result.success(evaluatedList);
    }
    //查看已完成的订单
    @RequestMapping("/getCompletedOrder")
    public Result<List<OrderList>> getCompletedOrder(String username){
        User user = userService.findByUserName(username);
        String repairId = user.getId().toString();
        List<OrderList> orderList = indexService.getCompletedOrder(repairId);
        return Result.success(orderList);
    }
}
9、源码获取

大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

🎉写在最后

🍻伙伴们,如果你已经看到了这里,觉得这篇文章有帮助到你的话不妨点赞👍或 Star ✨支持一下哦!手动码字,如有错误,欢迎在评论区指正💬~

你的支持就是我更新的最大动力💪~

相关推荐
说私域2 小时前
AI智能客服S2B2C商城小程序在客户服务场景中的应用与价值——以顾客反馈处理为例
人工智能·小程序·流量运营·私域运营
黄菊华老师10 小时前
微信小程序毕业设计:渔具商城小程序毕设源码作品和开题报告
微信小程序·小程序·课程设计·渔具商城小程序
攻城狮7号10 小时前
不懂代码也能造?TRAE+GLM-4.6 手把手教你搭心理咨询智能客服小程序
python·小程序·uni-app·vue·trae·glm我的编程搭子·glm-4.6
QQ40220549612 小时前
基于微信小程序的大学班级管理系统的设(作业 考勤 请假 投票)
微信小程序·小程序·毕业设计·notepad++
QQ5885019812 小时前
Python_uniapp-心理健康测评服务微信小程序的设计与实现
python·微信小程序·uni-app
小鱼学长爱分享12 小时前
基于微信小程序的博物馆预约系统的设计与实现
微信小程序·小程序·notepad++
计算机程序猿学长12 小时前
微信小程序毕设项目推荐-基于java+springboot+mysql+微信小程序的校园外卖点餐平台基于springboot+微信小程序的校园外卖直送平台【附源码+文档,调试定制服务】
java·微信小程序·课程设计
丁总学Java12 小时前
微信小程序上传揭秘:http://tmp 临时文件是如何“飞”到后端的?
http·微信小程序·小程序
white-persist12 小时前
轻松抓包微信小程序:Proxifier+Burp Suite教程
前端·网络·安全·网络安全·微信小程序·小程序·notepad++