Vue+SpringBoot打造实验报告管理系统

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 实验管理模块
    • 2.2 实验实例模块
    • 2.3 实验批阅模块
    • 2.4 实验咨询模块
  • 三、系统展示
  • 四、核心代码
    • 4.1 查询实验
    • 4.2 新增实验咨询
    • 4.3 回复实验咨询
    • 4.4 新增实验实例
    • 4.5 查询实验实例
  • 五、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的实验报告管理系统,包含了实验管理模块、实验实例模块、实验批阅模块、实验咨询模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,实验报告管理系统基于角色的访问控制,给高校管理员、学生角色使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

2.1 实验管理模块

实验报告管理系统的实验管理模块通常包括实验信息的增加、删除、修改和查询功能,用户可以通过实验管理模块添加新的实验信息,包括实验名称、实验时间、实验地点、实验内容等。通常会有表单或者界面供用户填写相关信息,并在提交后将信息存储到数据库中。用户可以删除不再需要的实验信息。通常会提供一个列表或者搜索功能供用户选择需要删除的实验信息,确认删除后,系统会从数据库中删除相应的记录。用户可以对已有的实验信息进行修改,例如更改实验时间、地点,或者修正实验内容等。一般会提供编辑界面让用户对已有信息进行修改,并更新到数据库中。用户可以通过实验管理模块进行实验信息的查询,可以根据实验名称、时间、地点等条件进行搜索,系统会返回符合条件的实验信息列表供用户查看。这些功能通常会被整合到实验管理模块中,以便用户能够方便地管理和查看实验信息,提高实验管理的效率和准确性。

2.2 实验实例模块

实验报告管理系统的实验实例模块是用于管理和记录具体实验过程和实验结果的部分。主要包括实验实例的增加、删除、修改和查询功能,用户可以通过实验实例模块添加新的实验实例,包括实验名称、实验时间、实验地点、实验者、实验步骤、实验结果等。通常会提供表单或者界面供用户填写具体实验过程和结果,并将信息存储到数据库中。用户可以删除不再需要的实验实例。通常会提供一个列表或者搜索功能供用户选择需要删除的实验实例,确认删除后,系统会从数据库中删除相应的记录。用户可以对已有的实验实例进行修改,例如更改实验步骤、修改实验结果等。一般会提供编辑界面让用户对已有实验实例进行修改,并更新到数据库中。用户可以通过实验实例模块进行实验实例的查询,可以根据实验名称、实验者、时间等条件进行搜索,系统会返回符合条件的实验实例列表供用户查看。这些功能通常会被整合到实验实例模块中,以便用户能够方便地管理和查看具体实验过程和结果,提高实验记录和管理的效率和准确性。

2.3 实验批阅模块

实验报告管理系统的实验批阅模块是用于教师或者指导员对学生提交的实验报告进行评阅和反馈的部分,该模块通常包括实验报告批阅的增加、删除、修改和查询功能。教师或者指导员可以通过实验批阅模块对学生提交的实验报告进行评阅和反馈。通常会提供一个界面或者表单供教师输入评阅结果、评分、意见等信息,并将批阅结果存储到数据库中,以便学生查看。教师可以删除错误的实验批阅结果,或者重新进行评阅。通常会提供一个列表或者搜索功能供教师选择需要删除的批阅记录,确认删除后,系统会从数据库中删除相应的记录。教师可以对已有的实验批阅结果进行修改,例如修改评分、修改评语等。一般会提供编辑界面让教师对已有批阅结果进行修改,并更新到数据库中。教师可以通过实验批阅模块进行实验批阅结果的查询,可以根据学生姓名、实验名称、时间等条件进行搜索,系统会返回符合条件的实验批阅结果供教师查看和管理。这些功能通常会被整合到实验批阅模块中,以便教师能够方便地对学生提交的实验报告进行评阅和反馈,提高教学管理的效率和准确性。

2.4 实验咨询模块

实验报告管理系统的实验咨询模块是用于学生在实验过程中对实验内容、实验步骤等方面提出疑问并获得解答的部分。该模块通常包括实验咨询的增加、删除、修改和查询功能,学生可以通过实验咨询模块提出实验相关的问题和疑问。通常提供一个表单或者界面供学生填写问题的具体描述和相关信息,并将咨询信息存储到数据库中。学生可以删除不再需要或已解决的实验咨询。通常提供一个列表或者搜索功能供学生选择需要删除的咨询记录,确认删除后,系统会从数据库中删除相应的记录。学生可以对已有的实验咨询进行修改,例如补充问题描述或修改相关信息。一般会提供编辑界面让学生对已有咨询进行修改,并更新到数据库中。学生可以通过实验咨询模块进行实验咨询记录的查询。通常可以根据问题关键词、时间、状态等条件进行搜索,系统会返回符合条件的咨询记录供学生查看。这些功能通常会被整合到实验咨询模块中,以便学生能够方便地提出问题并获得相关解答,提高学生在实验过程中的支持和指导效果。同时,教师或指导员也可以通过该模块回复学生的咨询,以提供更好的实验辅导和支持。


三、系统展示

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


四、核心代码

4.1 查询实验

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询实验")
public Result<IPage<Experiment>> getByPage(@ModelAttribute Experiment experiment ,@ModelAttribute PageVo page){QueryWrapper<Experiment> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(experiment.getTitle())) {qw.like("title",experiment.getTitle());}if(!ZwzNullUtils.isNull(experiment.getLevel())) {qw.like("level",experiment.getLevel());}IPage<Experiment> data = iExperimentService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<Experiment>>().setData(data);
}

4.2 新增实验咨询

@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "新增实验咨询")
public Result<Object> addOne(@RequestParam String exampleId,@RequestParam String content){ExperimentExample example = iExperimentExampleService.getById(exampleId);if(example == null) {return ResultUtil.error("实验实例不存在");}User currUser = securityUtil.getCurrUser();ExperimentAsk ea = new ExperimentAsk();ea.setExperimentId(example.getExperimentId());ea.setExampleId(example.getId());ea.setTitle(example.getTitle());ea.setUserId(currUser.getId());ea.setUserName(currUser.getNickname());ea.setContent(content);ea.setFile("");ea.setAskTime(DateUtil.now());ea.setReplyFlag(false);ea.setReplyTime("");ea.setReplyMessage("未答复");iExperimentAskService.saveOrUpdate(ea);return ResultUtil.success();
}

4.3 回复实验咨询

@RequestMapping(value = "/replyOne", method = RequestMethod.GET)
@ApiOperation(value = "回复实验咨询")
public Result<Object> replyOne(@RequestParam String askId,@RequestParam String content) {ExperimentAsk ask = iExperimentAskService.getById(askId);if (ask == null) {return ResultUtil.error("实验咨询单不存在");}ask.setReplyFlag(true);ask.setReplyMessage(content);ask.setReplyTime(DateUtil.now());iExperimentAskService.saveOrUpdate(ask);return ResultUtil.success();
}

4.4 新增实验实例

@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "新增实验实例")
public Result<Object> addOne(@RequestParam String experimentId,@RequestParam String userId){Experiment experiment = iExperimentService.getById(experimentId);if(experiment == null) {return ResultUtil.error("实验不存在");}User currUser = iUserService.getById(userId);if(currUser == null) {return ResultUtil.error("用户不存在");}ExperimentExample ee = ExperimentUtils.getNewExperimentExample(experiment);ee.setUserId(currUser.getId());ee.setUserName(currUser.getNickname());ee.setSubmitStatus(0);ee.setFile1("");ee.setFile2("");ee.setFile3("");ee.setAuditStatus(0);ee.setAuditMessage("未审核");ee.setAchievement(BigDecimal.ZERO);iExperimentExampleService.saveOrUpdate(ee);return ResultUtil.success();
}

4.5 查询实验实例

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询实验实例")
public Result<IPage<ExperimentExample>> getByPage(@ModelAttribute ExperimentExample experimentExample ,@ModelAttribute PageVo page){QueryWrapper<ExperimentExample> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(experimentExample.getTitle())) {qw.like("title",experimentExample.getTitle());}if(!ZwzNullUtils.isNull(experimentExample.getUserName())) {qw.like("user_name",experimentExample.getUserName());}IPage<ExperimentExample> data = iExperimentExampleService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<ExperimentExample>>().setData(data);
}

五、免责说明

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

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

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/519232.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

010-内存泄露

内存泄露 概念引起内存泄漏原因解决排查方案 概念 系统进程不再用到的内存&#xff0c;没有及时释放&#xff0c;就叫做内存泄漏&#xff08;memory leak&#xff09;。当内存占用越来越高&#xff0c;轻则影响系统性能&#xff0c;重则导致进程崩溃。 引起内存泄漏原因 全局…

142.乐理基础-音程的构唱练习

内容参考于&#xff1a;三分钟音乐社 上一个内容&#xff1a;141.乐理基础-男声女声音域、模唱、记谱与实际音高等若干问题说明-CSDN博客 本次内容最好去看视频&#xff1a; https://apphq3npvwg1926.h5.xiaoeknow.com/p/course/column/p_5fdc7b16e4b0231ba88d94f4?l_progra…

记一次简单的获取虚拟机|伪终端shell权限

场景描述 某个系统是ova文件&#xff0c;导入虚拟机启动&#xff0c;但是启动后只有一个伪终端权限&#xff0c;即权限很小&#xff0c;如何拿到这个虚拟机的shell权限呢&#xff1f; 实际操作 这次运气比较好&#xff0c;所遇到的系统磁盘并没有被加密&#xff0c;所以直接…

请说明Vue中的插槽复用

在前端开发中&#xff0c;Vue是一款广泛应用的JavaScript框架&#xff0c;它提供了丰富的功能和灵活性&#xff0c;使得开发者可以轻松构建交互性强大的Web应用程序。Vue中的插槽&#xff08;slot&#xff09;是一项非常有用的功能&#xff0c;能够帮助我们实现组件的复用&…

Redis几大数据类型

使用场景&#xff1a; Redis 数据类型及应用场景https://segmentfault.com/a/1190000012212663 Redis的五种常用数据类型在实际应用中有丰富的使用场景&#xff1a; 字符串&#xff08;String&#xff09; 缓存&#xff1a;存储经常查询但不频繁修改的数据&#xff0c;如网页…

FreeRTOS day2

1.使用ADC采样光敏电阻数值&#xff0c;如何根据这个数值调节LED灯亮度。 while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */adc_value HAL_ADC_GetValue(&hadc);TIM3->CCR3 adc_value * 999 / 4095;printf("%d %d\r\n",adc_value,TIM3->C…

【C++】priority_queue和仿函数

priority_queue翻译过来就是优先队列&#xff0c;其实就是我们数据结构中的堆。堆这个东西之前也说过&#xff0c;它分为大根堆和小根堆&#xff0c;它的底层是一个类似数组的连续的空间&#xff0c;逻辑结构是一个完全二叉树&#xff0c;这个完全二叉树如果是小根堆的话父亲小…

Mybatis-Plus——05,乐观锁(新注解)

乐观锁&#xff08;新注解&#xff09; 一、数据库添加一个字段二、实体类添加version注解三、注册乐观锁插件四、测试一下4.1成功的乐观锁4.2失败的乐观锁————————创作不易&#xff0c;笔记不易&#xff0c;如觉不错&#xff0c;请三连&#xff0c;谢谢~~ 乐观锁实现方…

哪个品牌骨传导蓝牙耳机好?避免陷阱的终极选购指南

随着智能音频技术的不断进步&#xff0c;蓝牙耳机市场迎来了快速的发展。特别是近年来在运动爱好者中流行的骨传导蓝牙耳机&#xff0c;其以独特的不入耳设计赢得了广泛的欢迎。这种耳机不仅提供了舒适的佩戴体验&#xff0c;还能让用户在享受音乐的同时保持对周围环境的警觉。…

Vue中如何处理组件间的耦合问题?

在Vue中处理组件间的耦合问题是前端开发中常见的挑战之一。耦合问题指的是组件之间的依赖关系过于紧密&#xff0c;一旦某个组件发生改动&#xff0c;则可能导致其它组件也需要作出相应调整。为了解决这个问题&#xff0c;我们可以采取以下几种方法&#xff1a; 使用事件总线&…

Cadence HDL原理图如何备份

首先&#xff0c;在使用Cadence HDL软件时&#xff0c;在绘制完原理图想重新修改的时候&#xff0c;总找不到地方。 请请教完前辈有所了解&#xff0c;故进行记录。&#xff08;防止遗忘&#xff01;共同学习~&#xff09; 第一步&#xff1a; 第二步&#xff1a; 以上。

VisionPro 判断圆是不是无限接近圆或存在缺陷

项目上可能需要判断圆是否是无限接近圆或者判断圆边缘是否存在缺陷等。 第一种方法&#xff1a;找圆工具和点到点的距离计算圆边缘上的点到圆心距离的最大值和最小值的差值。 #region namespace imports using System; using System.Collections; using System.Drawing; usin…