返回作品

教学文件管理系统

创建于 2025 年 5 月 29 日

标签
  • 若依 RuoYi 3.8.9
  • Spring Boot
  • EasyQuery
  • MyBatis-Plus
  • MySQL
  • Redis
  • Vue 2
  • Element UI
  • Druid
  • POI

项目介绍

教学文件管理系统是基于若依 RuoYi 3.8.9 后台管理框架二次开发的教务检查场景系统,业务代码集中在 com.ruoyi.te 包,前端为若依标准 ruoyi-ui(Vue 2 + Element UI)并新增 views/te 业务页面。系统围绕高校”教学文件检查”的典型工作流展开:每学期由教务发布教学任务(课程号、课序号、课程名、授课教师、班级、人数),任课教师按任务上传课程表、成绩表、成绩分析、考核方式申请表、课程总结、课程目标达成明细表、期末试卷与评分标准等教学文件,系主任逐项审核并给出合格/不合格结论与检查意见。

项目预置了三个业务角色:js(教师)、zr(系主任)、ms(教学秘书),配合超级管理员形成完整的分级权限矩阵——教师负责上传和维护自己的文件,系主任负责审核,教学秘书与管理员负责查阅与统筹。种子数据预置”2025-2026 上学期”为当前学期、七个文件类型字典与两条教学任务示例,导入 SQL 即可完整体验”建任务 → 传文件 → 审核 → 归档”的闭环流程。

核心功能

  • 文件类型管理(TeFileTypesController + views/te/fileTypes/index.vue):维护课程表、成绩表、成绩分析、考核方式申请表、课程总结、课程目标达成明细表、期末试卷与评分标准共七类教学文件,新增与修改均做名称唯一性校验(重名返回”已存在”),并提供 listForSelect 接口供文件上传表单下拉使用。
  • 教学文件管理(TeTeachingFilesController + views/te/taskFile/index.vue):从教学任务列表点击”文件管理”经路由参数 taskId 进入对应任务的文件页;教师通过若依 file-upload 组件上传 PDF(限 10MB、单文件),后端新增时强制 isApproved=0(待审核)并将当前登录用户写为上传者,再基于本地存储路径用 Hutool FileUtil.getName / FileUtil.size 自动解析真实文件名与文件大小落库,文件名以链接形式直链预览/下载;页面内提供”下载模板”按钮,由匿名接口 /te/files/common/download/template 返回 uploadPath/template 目录下的《教学文件模板.docx》。
  • 分级审核与数据隔离:文件审核接口 PUT /te/files/audit 由系主任设置 isApproved(通过/拒绝)与 checkOpinion 审核意见;数据权限方面,查询构建器在用户仅持有 js 角色时强制追加 x.uploader().eq(当前用户)(任务则为 x.teacherId().eq(当前用户)),实现教师只能看到自己的任务与文件,而系主任、教学秘书与管理员可见全量;前端按钮同样用 v-has-role 指令按角色显隐,并限制教师只能修改/删除自己上传的文件(scope.row.uploader !== userId 时禁用)。
  • Excel 导出:任务与文件列表均支持导出,前端 download('te/tasks/export', ...) 触发后端 @Log 记录操作日志的 ExcelUtil.exportExcel 导出 xlsx,操作全程留痕于若依操作日志。

功能截图

暂无运行截图。