排课版本新建、编辑、复制、发布、归档和删除。

周课表视图,支持12节课、单双周和起止周。
自动校验教师、行政班、教室、时间段冲突。
校验教室容量、教学任务状态和学期范围。
SQLite 开发环境自动升级,MySQL 提供正式 EF Core 迁移。
Vue 已编译为静态文件并随 ASP.NET Core 发布,无需 npm run dev。
桌面端和390px移动端页面均已验收。
This commit is contained in:
2026-07-24 14:27:01 +08:00 Unverified
parent 628944f64d
commit 0b463fa4f2
19 changed files with 2950 additions and 9 deletions
+10 -1
View File
@@ -8,6 +8,7 @@ import {
Operation,
Reading,
Tickets,
Calendar,
User,
UserFilled,
} from '@element-plus/icons-vue'
@@ -27,6 +28,7 @@ const pageTitle = computed(() => {
courses: '课程库',
curriculum: '培养方案',
'teaching-tasks': '教学任务',
schedules: '排课与课表',
users: '用户与权限',
}
return titles[String(route.name)] ?? '教务管理'
@@ -98,6 +100,13 @@ onMounted(() => auth.refresh().catch(() => undefined))
<el-icon><Tickets /></el-icon>
<template #title>教学任务</template>
</el-menu-item>
<el-menu-item
v-if="auth.user?.roles.some((role) => ['SuperAdmin', 'AcademicAdmin'].includes(role))"
index="/schedules"
>
<el-icon><Calendar /></el-icon>
<template #title>排课与课表</template>
</el-menu-item>
<el-menu-item v-if="auth.isSuperAdmin" index="/users">
<el-icon><User /></el-icon>
<template #title>用户与权限</template>
@@ -106,7 +115,7 @@ onMounted(() => auth.refresh().catch(() => undefined))
<div v-if="!collapsed" class="phase-note">
<span>第一阶段 · 核心可用版</span>
<p>主数据与培养方案正在运行</p>
<p>主数据培养方案与教学运行已就绪</p>
</div>
</aside>