• Vue.js+SpringBoot开发计算机机房作业管理系统


    在这里插入图片描述


    一、摘要

    1.1 项目介绍

    基于Vue+SpringBoot+MySQL的计算机机房作业管理系统包含课程档案模块、课时档案模块、学生作业模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,计算机机房作业管理系统基于角色的访问控制,给课程管理员、教师、学生使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

    1.2 项目录屏


    二、功能模块

    2.1 登录注册模块

    计算机机房作业管理系统需要支持用户的登录注册功能,所以登录注册模块是为了用户进入计算机机房作业管理系统而设计的。

    2.2 课程管理模块

    课程管理模块是用于学校或机构记录和管理课程信息的教育管理软件,课程管理模块提供详细的课程信息、开课时间、教学老师等相关信息,帮助学生做出选择,更好地了解课程特点和内容,通过课程管理模块,学校或培训机构可以统一安排每门课程的课程计划、教师和班级,从而优化教育资源的配置和利用,最大限度地提高资源效率。课程管理模块允许您监控和管理课程质量,同时记录和收集学生的课程反馈和评分,为改进课程提供宝贵的数据支持,通过课程管理模块,学校和机构可以轻松了解每一位教职工提供的课程状态,并及时掌握、管理和支持教育进展和效果。

    2.3 课时管理模块

    课时管理模块是一个用于管理课程和课时的在线教育平台,课时管理模块可以记录和管理每节课的课时、内容、课时等信息,方便教师和管理人员安排和调整教育计划和进度,通过课时管理模块,教师可以根据学生的学习进度和理解情况灵活调整上课和上课时间安排,从而提高教育效果和质量,课时管理模块记录和统计学生学习状况、考勤卡记录、考试成绩等数据,为教师和管理人员提供宝贵的数据支持,从而更好地了解学生的学习状况和需求、教育情况,提高教育和教育管理的效率和质量,课时管理模块帮助管理人员和评委对教学质量和教学质量进行评估,确保教学质量和效果的稳定和提高。

    2.4 学生作业模块

    学生作业模块是用于管理教育软件中的学生作业的模块,学生作业模块使教师更容易管理和评分学生作业,学生作业模块允许教师查看每个学生是如何完成作业的,修改他们的意见,并及时提供评分和反馈,学生作业模块使学生能够更好地理解、掌握和应用所学知识,通过学生作业模块,学生可以及时了解作业要求、提交时间等重要信息,根据目的进行准备和学习,增加学习的动力和动力,学生家庭作业模块确保学生提交的家庭作业得到很好的保护和保密,只有经过授权的老师才能看到学生提交的作业内容,这样学生个人信息的安全和隐私就不会泄露,学生作业模块有助于家长及时了解孩子的进度和家庭作业完成情况。该模块允许家长查看孩子提交的作业、老师的评价、建议等,并及时与老师沟通和联系。


    三、系统设计

    3.1 用例设计

    在这里插入图片描述

    3.2 数据库设计

    3.2.1 课程表

    在这里插入图片描述

    3.2.2 课时表

    在这里插入图片描述

    3.2.3 学生作业表

    在这里插入图片描述


    四、系统展示

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


    五、核心代码

    5.1 查询课程数据

    @RequestMapping(value = "/getByPage", method = RequestMethod.GET)
    @ApiOperation(value = "查询课程")
    public Result<IPage<Course>> getByPage(@ModelAttribute Course course ,@ModelAttribute PageVo page){
        QueryWrapper<Course> qw = new QueryWrapper<>();
        if(!ZwzNullUtils.isNull(course.getTitle())) {
            qw.like("title",course.getTitle());
        }
        if(!ZwzNullUtils.isNull(course.getTeacherName())) {
            qw.like("teacher_name",course.getTeacherName());
        }
        IPage<Course> data = iCourseService.page(PageUtil.initMpPage(page),qw);
        return new ResultUtil<IPage<Course>>().setData(data);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    5.2 新增课时

    @RequestMapping(value = "/insert", method = RequestMethod.POST)
    @ApiOperation(value = "新增课时")
    public Result<ClassHour> insert(ClassHour classHour){
        Course course = iCourseService.getById(classHour.getCourseId());
        if(course == null) {
            return ResultUtil.error("课程不存在");
        }
        classHour.setCourseName(course.getTitle());
        iClassHourService.saveOrUpdate(classHour);
        return new ResultUtil<ClassHour>().setData(classHour);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    5.3 提交作业

    @RequestMapping(value = "/upload", method = RequestMethod.GET)
    @ApiOperation(value = "提交作业")
    public Result<Task> upload(@RequestParam String id,@RequestParam String url){
        Task task = iTaskService.getById(id);
        if(task == null) {
            return ResultUtil.error("作业不存在");
        }
        task.setUploadTime(DateUtil.now());
        task.setTask(url);
        iTaskService.saveOrUpdate(task);
        return ResultUtil.success();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    5.4 批阅作业

    @RequestMapping(value = "/check", method = RequestMethod.GET)
    @ApiOperation(value = "批阅作业")
    public Result<Task> check(@RequestParam String id,@RequestParam BigDecimal grade){
        Task task = iTaskService.getById(id);
        if(task == null) {
            return ResultUtil.error("作业不存在");
        }
        User currUser = securityUtil.getCurrUser();
        task.setCheckId(currUser.getId());
        task.setCheckName(currUser.getNickname());
        task.setCheckTime(DateUtil.now());
        task.setGrade(grade);
        iTaskService.saveOrUpdate(task);
        return ResultUtil.success();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    六、免责说明

    • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
    • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
    • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

    下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

    1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
    2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
    3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
    4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

    在这里插入图片描述

  • 相关阅读:
    计算机网络【CN】TCP报文段格式【20B】
    实例001:数字组合 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
    QT:使用多窗口做一个登录注册小项目(登录窗口、登录结果窗口、注册窗口)
    异或的4种堪称神奇的运用场景
    Async的线程池使用的哪个?
    开源去中心化社交平台-Misskey
    useragent识别访问设备
    数据中心电力供应,请掌握这个技能!
    tcr历史夏校介绍
    MATLAB数字
  • 原文地址:https://blog.csdn.net/customer08/article/details/136451732