课程增免修及补选面向学生发起、教师与学院逐级审核的教学事务办理:学生在线提交补选 / 增修 / 删除课程 / 免修四类申请并上传任课教师签字材料,申请按学院配置的流程依次流转到任课教师 → 学院(教学管理员) → 学院分管领导审核,每个环节可通过或退回,最终成为「已通过」。学生侧能查看本人申请、撤销待处理申请、对退回件改后重提;教师侧处理派发给本人的待办;学院侧在审批列表查询、统计、导出、审批与删除;管理员可在「流程设计」按学院开关各环节。这是少数面向学生的业务模块(与监考不同)。
菜单「课程增免修及补选」在账号具备 can_access_course_changes 且当前学院已开通「课程增免修」模块时显示,各子项按角色显隐:
课程增免修及补选 → 申请列表(/course_changes,所有可访问角色可见)。这是统一入口,会按角色重定向:教师跳「教师待办」、学院/审批角色跳「审批列表」、学生留在本人申请列表。→ 教师待办(/teacher/course_changes,具备 can_course_change_teacher_action 即学院 teacher 角色者可见)。→ 审批列表(/admin/course_changes,具备 can_manage_course_changes 的教学管理员 / 学院分管领导 / 教务处对应科室 / 学院系统管理员 / 超管可见)。→ 流程设计(/workflow_design?module_key=course_change,学院系统管理员 / 超管 / 教务处教学办类管理员可见)。可用角色:学生(student,提交申请)、授课教师(teacher,教师审核)、教学管理员(teaching_office_admin / 学院 admin,学院审核)、学院分管领导(leader,领导审核)、教务处对应科室角色、超级管理员。前提是当前学院已开通本模块。学生量化口径上只有学生能新建/编辑/撤销/删除申请;is_admin/is_super_admin 不被视为 student。
/course_changes/new)。YYYY-YYYY-1/2,8 月起算上学期)。仅当该类型当前处于学院开放窗口(流程设计里对应 *_enabled 开关为开)时才可提交,否则提示「不在申请窗口期」。学生列表页按钮口径(与状态强相关):
pending_*(待处理中)且下一流程尚未处理过的申请可撤销;撤销后状态变「已撤销」,可再次编辑提交。一旦教师/学院/领导已对其执行过通过或退回,则不能再撤销。仅当学院启用「教师审核」且模式为 B 时,申请提交后会落到 pending_teacher 并按任课教师姓名派单给具体教师。
CourseChangeTeacherAssignee 派单,或明细里 teacher_user_id/teacher_card_id 命中本人)。pending_clerk);或「退回」→ 状态变「已退回」,退回必须填写审批意见;通过时意见留空默认记为「同意」。派单解析:提交时若教师姓名缺失或同一申请内姓名不一致,系统自动降级为学院审核(直接置pending_clerk,并写一条teacher步骤的skip日志说明降级原因),不再卡在教师环节。
/admin/course_changes),按学期、申请类型、状态、学号、姓名、提交日期(单日或区间)筛选;页面给出按状态、按类型的统计汇总。/admin/course_changes/<id>)查看明细、附件、完整审批日志(含操作者真实姓名映射)。pending_clerk(待学院审核):教学管理员(can_course_change_clerk_action)通过 → 若启用领导环节则转「待学院领导审核」,否则直接「已通过」。pending_dean(待学院领导审核):分管领导(can_course_change_leader_action)通过 → 「已通过」。/admin/course_changes/export 按当前筛选条件导出结果。/admin/course_changes/<id>/delete)。环节校验严格按状态匹配角色:pending_teacher只认教师权限、pending_clerk只认学院审核权限、pending_dean只认领导权限;非可审批状态(如已通过/已退回/草稿)POST 审批会被拒。
进入「流程设计」选 module_key=course_change 并选学院,可配置(存中央库 workflow_configs.config_json,未配置则保持默认现状):
teacher_enabled)及教师审核模式 A / B(teacher_mode)。模式 B 才会真正生成 pending_teacher 并派单到具体教师;否则申请直接进入学院审核。leader_enabled,默认开)。关闭后学院审核通过即「已通过」。allow_admin_proxy_teacher / allow_admin_proxy_dean)。supplement/add/delete/exempt_enabled):作为学生端的「申请窗口期」总闸,关闭的类型学生无法提交。详见 流程设计。
申请类型(request_type)
| 代码 | 中文 |
|---|---|
| supplement | 补选 |
| add | 增修 |
| delete | 删除课程 |
| exempt | 免修 |
状态(status,来自 course_change_status_label)
| 代码 | 中文标签 | 含义 |
|---|---|---|
| draft | 草稿 | 仅暂存未正式提交,可编辑/删除 |
| pending_teacher | 待教师审核 | 已提交,等待派发的任课教师处理(仅教师审核模式 B) |
| pending_clerk | 待学院审核 | 等待教学管理员处理 |
| pending_dean | 待学院领导审核 | 等待分管领导批准 |
| approved | 已通过 | 流程走完,办理完成 |
| returned | 已退回 | 某环节退回,需修改后重新提交(旧 rejected 统一并入「已退回」) |
| cancelled | 已撤销 | 申请人主动撤回,可再次编辑提交 |
审批步骤(step,course_change_step_label):student 学生提交 / teacher 任课教师 / clerk 学院审核 / dean 学院领导。
审批动作(action,course_change_action_label):draft 保存草稿 / submit 提交 / revoke 撤销 / approve 通过 / return 退回(旧 reject 并入退回)/ skip 跳过(教师环节降级时记录)。
附件:仅允许 pdf、xls、xlsx、doc、docx、png、jpg、jpeg;补选与删除课程必须上传任课教师签字材料。
*_enabled 关),联系教学管理员开放。pending_* 的申请,系统防重复,去查看那条即可。pending_* 状态。