帮助中心

模块帮助百科 · 共 19 篇

通用资料报送

业务模块 教师学院管理员超级管理员

功能简介

通用资料报送用于承载非课程类的通用资料收集:上报单位/责任人按「报送单位 — 资料名称 — 责任人 — 备注」录入并上传资料文件,经审批流程归档。它与「教学课件报送」共用同一套三层模板架构与同一套提交/审批/列表代码,区别只在于它面向的是没有「授课教师 / 课程」语义的通用材料(如各类专项申报、台账、说明材料等),因此教师不能按本人课程自动看到记录,需要管理员或导入显式指定。

一个 module_keygeneric_document_submission)下可以承载多个报送实例,每个实例用各自的 archive_type 区分数据、分别统计、分别发布,互不串台。

入口与权限

  • 报送列表入口资料报送 → 通用资料报送(路由 /submissions/generic_document_submission)。该入口仅在超管显式「发布给学院」且学院在「学院模块开关」中启用该模块、并给用户分配了权限后才出现——本模块 college_default_enabled=Falseuser_default_enabled=False,即学院与用户默认都不开通。
  • 模板管理入口系统管理 → 资料报送模板管理(路由 /admin/submission_templates),用于创建/发布通用报送实例、配置列宽筛选、设置截止日期。
  • 可用角色(排除学生,本模块对学生隐藏 hidden_for_student=True):
    • teacher / course_professor / 系部(dept_archivist) / 教学办(teaching_office_admin) / 领导(leader):在学院开通且被授权后,可进入列表、按权限提交资料、上传文件、参与审批。普通教师只能看到自己被指定为责任人/创建人的记录(通用类无课程自动归属,范围比教学课件窄)。
    • admin(学院管理员):本学院范围内的录入、导入、审批、纠错、导出、标记删除等。
    • super_admin(超管):跨学院全部数据 + 模板结构类动作(见下)。
  • 截止日期可额外放行教务处类(school_department 类型 OrgUnit)管理员设置;但发布/撤回、草稿创建与发布、母模板编辑、实例差异、软停用、发布给学院、备份目录登记等结构类动作第一期仅超管——不要用「能进模板管理页」的宽权限去推断结构写入权。

操作步骤(分角色)

超管:创建并上线一个通用报送实例

  1. 进入「资料报送模板管理」。复制模板生成草稿:以 generic_document_submission(或某个已有通用实例)为源 复制 → 草稿,得到一个「编辑中实例」(草稿落在 runtime/submission_template_state/drafts.json)。
  2. 在草稿编辑页改写实例私有字段:key(唯一)、titlemenu_labelarchive_type(数据隔离键,务必唯一)、upload_subdirmaterials(资料文件要求)、list_columnsimport_columns 等;module_key 保持 generic_document_submission
  3. 点「校验」确认配置合法 → 点「发布」把草稿发布为本地运行态实例(published 仍为 False,仅本机注册)。
  4. 点「发布给学院」把实例对学院/部门放开(置 published=True)。此后学院侧需在「学院模块开关」启用 generic_document_submission 并给用户分配权限,菜单才出现。
  5. (可选)「设置截止日期」:可配自动关闭、手工锁定;到期后纯报送身份只读,管理身份仍可补交。
母模板(master_templates.py + runtime 状态)只管可继承的展示/导入/搜索字段;materials / archive_type / upload_subdir / module_key / published / deadline 等是实例私有,禁止经母模板或实例差异覆盖。后台实例差异 sidecar 第一期只允许写 list_columns_patchlabel/width/filterable/filter_weight/order/hidden)。

管理员 / 责任人:录入与提交资料

  1. 进入「通用资料报送」列表,必要时先选择学院。
  2. 单条新增:填「报送单位 / 资料名称(必填) / 责任人 / 备注」生成记录,进入编辑页上传「资料文件」(默认 PDF、单文件、≤100MB)。
  3. 批量导入:用「导入」按 Excel 列名(报送单位 / 资料名称 / 责任人 / 备注)批量建记录。
  4. 资料文件齐全后提交,按流程进入审批(无流程则直接完成)。

管理员:审批、纠错与批量动作

  • 列表支持按各列筛选、搜索、导出(/export)。
  • 批量操作:bulk_archive(归档/通过)、bulk_return(退回)、bulk_reset_status(重置状态)、bulk_deletebulk_download_attachments(打包下载附件)。
  • 管理员纠错/submissions/<key>/<id>/admin_correct 对单条记录修正。
  • 标记删除:先 mark_deletion 标记、再在「待删除清单」由有权角色确认删除,避免误删。
  • 全校附件导出:超管/校级可创建跨学院附件导出后台任务(attachment_export_tasks),异步打包。

字段与状态口径

通用资料报送实例的基础字段(与教学课件报送字段名复用同一张 CourseArchive 表,但 label 改为通用语义):

字段含义备注
teaching_unit报送单位教学课件里是「开课单位」
course_name资料名称(必填)教学课件里是「课程名称」
teacher_name责任人教学课件里是「授课教师 教工号」
remark备注通用类专有展示列
submission_status资料报送状态列标题「资料报送」
workflow_status流程状态审批进度

报送情况口径(通用类):附件齐全且已归档 = 已报送;齐全未归档 = 报送中;缺附件 = 全缺

关键区分字段module_key 决定菜单/学院开关/用户授权归属;archive_type 决定数据落在哪个实例——同一 module_key 下多实例靠 archive_type 物理隔离记录与统计。category=non_course_baseduses_course_fields=Falseteacher_self_record_scope=Falsesupports_department_change=False 是通用类与课程类的核心行为差异开关。

通用资料报送 vs 教学课件报送(重点)

二者是同一套模板引擎下的两类实例,关系与区别如下:

维度教学课件报送通用资料报送
module_keyteaching_material_submissiongeneric_document_submission(阶段 9G 已解耦为独立模块)
分类 categorycourse_based(课程类)non_course_based(通用类)
教师本人记录归属是(按课程/授课教师自动可见)否(无授课教师语义,需显式指定责任人)
系部变更 / 课程字段启用关闭
学院默认开通是(全校默认开,具体项目由发布+截止日期控制)否(超管发布给学院后学院再手动开)
列表渲染走旧专用页 teaching_material_submission_list(按 key 委托)走通用页 submission_template_list.html
备份目录teaching_material_submissiongeneric_document_submission(独立登记,避免重复打包)

共用部分:OrgUnit 的五个 MATERIAL_ACTION_*(提交/审核/校级查看/校级管理/配置管理)权限命名空间、提交与审批链路、截止日期机制、标记删除、附件导出、模板三层架构。/submissions/<template_key>/... 这套通用路由对两者通吃,仅教学课件列表页因历史 UI 差异被特判委托到旧专用渲染。

一个 module 下多实例如何按 archive_type 区分与统计

  • 数据隔离:所有报送记录共用 CourseArchive 表,每条带 archive_type。列表查询、计数(如模板管理页的 archive_count)、删除/停用前置检查都按 CourseArchive.archive_type == template.archive_type 过滤,因此即使两个实例同属 generic_document_submission 模块,数据也不会互相混入。
  • 统计按实例拆分:首页 KPI / 待办不得硬编码单一 archive_type;同一 module_key 下有多个已发布实例时,系统按 iter_submission_templates() 枚举模板、以各自 archive_type 分别统计、分别渲染卡片。
  • 停用/删除前置:软停用 runtime 实例或隐藏静态实例前,必须确认该实例 archive_count=0,且停用只标记 enabled=false/隐藏、保留历史 archive 与附件不物理删除,并在停用前写快照备份。

常见问题

  • 菜单里看不到「通用资料报送」:该模块学院/用户默认都不开。需超管在模板管理「发布给学院」→ 学院在「学院模块开关」启用 generic_document_submission → 给用户分配该模块权限,三步齐全才显示。
  • 教师看不到别人录的资料:通用类无课程自动归属(teacher_self_record_scope=False),普通教师只看到自己被指定为责任人/创建人的记录;要看全部需校级查看权限。
  • 新建了实例但学院仍不可见:确认草稿已「发布」为运行态且已「发布给学院」(published=True),仅本地发布不等于对学院可见。
  • 实例差异(列宽/筛选)保存了不生效:实例差异 sidecar 只接受 list_columns_patch;若把 materials/archive_type/published/deadline 等写进差异不会生效,这些由实例配置/发布/截止日期文件各自负责。
  • 删不掉 / 停用不了实例:该实例 archive_type 下仍有 archive 数据时拒绝删除/停用,需先妥善处理历史记录(不可强删)。
  • 报送提示流程缺角色被中断:流程启用了审核节点但学院缺对应角色人员时会强提醒并中断,需补齐节点角色(见 流程设计);校院两级都未启用任何节点才算「无流程」可直接完成。
  • 超过截止日期不能提交:纯报送身份到期只读,由学院管理员或教务处补交。

相关页面

  • 教学资料报送 同一三层模板架构下的课程类报送实例;与本页共用提交/审批/列表代码,区别见上「vs」对照
  • 流程设计 报送审批流程的节点设计与「流程缺角色」拦截规则
页面内帮助
本页说明
正在加载帮助内容…
帮助项
当前路径
来源章节
来源文档
模板
说明摘录
摘录已截断,完整内容以源文档为准。
同文档相关页面