课程库 Excel 导入导出已完成:

支持下载标准导入模板。
导出严格沿用当前关键词、学院、分类、课程性质和状态筛选。
以课程编码为唯一键:存在则更新,不存在则新增。
校验学院编码、课程分类、课程性质、学分学时及考核方式。
整批原子导入,任一行错误则全部不写入,并提示具体行号。
学院管理员仍只能维护本学院的专业课和实践课,无法借 Excel 越权。
界面入口沿用现有课程库工具栏样式。
This commit is contained in:
2026-07-24 18:56:25 +08:00 Unverified
parent 5a7a8d530b
commit d7cf3f9e76
24 changed files with 3710 additions and 32 deletions
+8
View File
@@ -227,6 +227,14 @@ button { cursor: pointer; }
.record-name, .course-name { display: grid; gap: 3px; }
.record-name b, .course-name b { color: var(--ink); font-size: 13px; }
.record-name span, .course-name span { color: #9299a7; font-size: 10px; }
.course-category { display: inline-flex; padding: 3px 8px; color: #335b75; background: #eaf2f5; border-radius: 12px; font-size: 10px; white-space: nowrap; }
.taxonomy-note { min-height: 56px; padding: 8px 12px; display: grid; align-content: center; gap: 4px; border-left: 3px solid var(--teal); background: #f4f8f8; }
.taxonomy-note b { color: var(--ink); font-size: 11px; }
.taxonomy-note span { color: var(--muted); font-size: 10px; line-height: 1.5; }
.form-help { margin-left: 10px; color: var(--muted); font-size: 10px; }
.course-rule-help { margin-top: 4px; padding: 12px 14px; display: grid; grid-template-columns: 74px 1fr; gap: 7px 12px; background: #f5f8fa; border-left: 3px solid var(--teal); }
.course-rule-help b { color: var(--ink); font-size: 11px; }
.course-rule-help span { color: var(--muted); font-size: 10px; line-height: 1.5; }
.pagination-bar { min-height: 62px; padding: 12px 18px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); }
.pagination-bar > span { color: var(--muted); font-size: 11px; }
.course-ledger { min-height: 92px; display: flex; align-items: stretch; color: white; background: linear-gradient(105deg, #1a2d61, #263f80); overflow: hidden; position: relative; }