Commit Graph
23 Commits
  • 主要改动:
    自动排课接口立即返回 202 + jobId
    后台服务独立执行,不受浏览器关闭或前端超时影响
    进度、成功、失败状态持久化到数据库
    服务重启后自动恢复排队中或中断的任务
    同一草稿禁止重复提交后台任务
    运行期间禁止编辑、发布或删除该课表
    排课结果和任务成功状态在同一事务中提交
    前端每秒轮询进度,显示已处理教学班和已规划安排数
  • 已修复:
    新增不受 100 条分页限制的课程选项接口。
    培养方案、教学任务全部改用新接口。
    教师课程申报使用独立接口,可查看全部启用课程。
    学院教务仍只能使用公共课和本院专业课,不会越权看到外院专业课。
    实际接口验证:
    校级教务:152 门,其中公共课 29 门。
    学院教务:40 门,其中公共课 29 门,其余为本院专业课。
    教师申报:152 门,其中公共课 29 门。
  • 已完成“专业课教学任务下放学院管理”。
    专业必修、专业选修、实践课程:由课程所属学院创建、修改、删除、发布和关闭。
    公共必修、公共选修:仍由校级教务管理。
    校级教务可以查看全校专业课任务,但不能代替学院维护。
    超级管理员保留跨学院纠错权限。
    教师分配统一要求:教师已申报该课程,并通过学院审核。
    兼岗账号同时拥有校级公共课和本学院专业课职责。
  • 自动排课:保留手工安排,按教师、行政班、周次、节次、容量和场地约束补排。
    课程约束:可限定校区、教学楼、指定教室、允许上课日、最早/最晚节次。
    无教室课程:教室可为空,但仍校验教师和班级冲突。
    作息维护:按学期维护节次、上下课时间和启用状态。
    发布保护:发布前重新检查全部约束,并阻止学时未排满的课表发布。
    工作台升级:增加“排课规则与作息”“自动排课”入口,自动生成后仍支持手工微调。
    同时兼容 SQLite 和 MySQL,已生成正式迁移。
  • 课程库 Excel 导入导出已完成:
    支持下载标准导入模板。
    导出严格沿用当前关键词、学院、分类、课程性质和状态筛选。
    以课程编码为唯一键:存在则更新,不存在则新增。
    校验学院编码、课程分类、课程性质、学分学时及考核方式。
    整批原子导入,任一行错误则全部不写入,并提示具体行号。
    学院管理员仍只能维护本学院的专业课和实践课,无法借 Excel 越权。
    界面入口沿用现有课程库工具栏样式。
  • 培养方案下放学院维护,学院账号被后端限制在本学院范围;新增按年级、学院、专业联动筛选及维护范围提示。
    课程库实行分级维护:学院只能维护本学院的专业必修、专业选修和实践课程;通识课程可查看、引用但不可修改。校级账号保留全校统筹权限。
    “排课与课表”已从“教学建设”迁移到“教学运行”,原路由保持不变。
    权限规则同时落实在前端和 API,并新增专项测试。
  • 已完成“组织与权限”优化:
    基础数据拆分为:组织机构、学年学期、教学场所。
    人员档案拆分为:教师档案、学生档案。
    基础数据、教师、学生、用户权限均支持 Excel 模板下载、批量导入和导出。
    导入按编码/工号/学号/账号新增或更新;整批校验,失败不写入,限制 2000 条、10 MB。
    用户列表新增密码重置,包含双重确认、最低 8 位校验和服务端权限保护。
    导入严格执行角色及学院数据范围校验,并保护当前超级管理员账号。
    保留旧地址重定向,原有入口不会失效。
  • 学籍异动:休学、复学、退学申请及辅导员→学院→教务处分级审批。
    毕业审核:批次计算、缺失课程检查、人工复核、结果发布。
    学位授予:毕业资格与 GPA 计算、人工调整、发布授予结果。
    毕业离校:离校事项配置、责任角色分工、逐项办理及批次关闭。
  • 已完成“考试安排与考场管理”模块:
    考试计划草稿、场次配置与正式发布。
    教学班、考试时间、考场、监考教师关联。
    自动校验考场容量。
    阻止考场、监考教师和学生考试时间冲突。
    管理员查看考生名单。
    教师查看个人监考安排。
    学生查看已发布考试日程。
    SQLite 增量升级和 MySQL 正式迁移。
  • 已完成“成绩管理与学业档案”模块:
    教师批量录入平时、期中、期末成绩。
    自动计算总评、绩点和及格状态。
    支持缺考、缓考、免修。
    教师提交 → 学院审核/退回 → 校级发布。
    学生只能查看正式发布成绩。
    自动统计平均分、完成度、及格率和加权 GPA。
    SQLite 本地增量升级和 MySQL 正式迁移均已完成。
    分级权限在前后端同时校验。
  • 选课批次:时间窗口、退课截止、学分上限、开放/关闭。
    教学班投放:容量、班级范围、全校开放。
    学生选退课:容量、重复课程、学分上限、课表冲突校验。
    教学班实时名单。
    校级、学院级、学生角色分级操作。
    SQLite 本地增量升级及演示数据。
    MySQL 正式 EF Core 迁移。
    Vue 已编译进 wwwroot,单服务运行无需 npm run dev。
    学生端和管理端均完成桌面、手机响应式检查。
  • 多角色账号按 All > College > Class > Self 自动取最高权限。
    学院管理员限制在所属学院。
    辅导员通过稳定账号 ID 绑定行政班,避免重名串班。
    教师只能访问本人档案、授课课程和所授课学生。
    学生只能访问本人档案及所在班级课程。
    教师/学生角色会自动校验并绑定工号或学号档案。
    超级管理员可在用户页面调整角色、学院、工号/学号,并预览生效后的数据范围。
  • 排课版本新建、编辑、复制、发布、归档和删除。
    周课表视图,支持12节课、单双周和起止周。
    自动校验教师、行政班、教室、时间段冲突。
    校验教室容量、教学任务状态和学期范围。
    SQLite 开发环境自动升级,MySQL 提供正式 EF Core 迁移。
    Vue 已编译为静态文件并随 ASP.NET Core 发布,无需 npm run dev。
    桌面端和390px移动端页面均已验收。
  • 培养方案:专业/年级版本、课程模块、学分校验、复制版本、发布锁定、旧版本归档。
    教学任务:学期开课、授课教师、唯一主讲、合班、容量与周次校验、发布及结课。
    SQLite 开发库已自动升级,无需删除原数据库。
    新增对应 MySQL EF Core 迁移。
    Vue 已编译进 wwwroot,仍可只运行 ASP.NET Core 单服务。
    桌面端及 390px 窄屏页面验证通过,无前端控制台错误。
  • 3
  • 2
  • 1