主要更新:
班级课表支持年级、学院、专业、行政班分级筛选。 管理员课表查询中心支持班级、教师、场地三种课表。 超级管理员、校级教务、学院教务、领导可查询草稿和已发布版本;学院管理员保留学院数据范围。 增加周视图、日视图切换。 支持 Excel 导出和当前视图 PDF 导出。 学生端增加“空闲教室”,支持学期、周次、星期、连续节次、校区、教学楼、容量筛选,并按教学楼分组、分页展示。 空闲教室只依据正式课表计算;未配置节次表时自动提供默认节次。
This commit is contained in:
@@ -27,6 +27,11 @@ const isTeacher = computed(() => roles.value.includes('Teacher'))
|
||||
const isTeachingAdmin = computed(() =>
|
||||
roles.value.some((role) => ['SuperAdmin', 'AcademicAdmin', 'CollegeAdmin'].includes(role)),
|
||||
)
|
||||
const isTimetableManager = computed(() =>
|
||||
roles.value.some((role) =>
|
||||
['SuperAdmin', 'AcademicAdmin', 'CollegeAdmin', 'Leader'].includes(role),
|
||||
),
|
||||
)
|
||||
|
||||
function hasAnyRole(allowedRoles: string[]) {
|
||||
return roles.value.some((role) => allowedRoles.includes(role))
|
||||
@@ -99,7 +104,11 @@ const navigationGroups = computed<NavigationGroup[]>(() => [
|
||||
{ path: '/schedules', label: '排课与课表' },
|
||||
),
|
||||
...whenVisible(isStudent.value, { path: '/my-timetable', label: '我的课表' }),
|
||||
...whenVisible(!isStudent.value, { path: '/class-timetable', label: '班级课表查询' }),
|
||||
...whenVisible(isStudent.value, { path: '/free-classrooms', label: '空闲教室' }),
|
||||
...whenVisible(!isStudent.value, {
|
||||
path: '/class-timetable',
|
||||
label: isTimetableManager.value ? '课表查询中心' : '班级课表查询',
|
||||
}),
|
||||
...whenVisible(
|
||||
hasAnyRole(['SuperAdmin', 'AcademicAdmin', 'CollegeAdmin', 'Student']),
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user