前台 — 路由 (router/index.ts)

  - my-timetable 路由的角色从 ['Student'] 扩展为 ['Student', 'Teacher']
  - 新增 teacher-timetable/:teacherId 路由,用于查看指定教师的课表

  前台 — 课表视图 (TimetableView.vue)

  - 新增 isTeacherView 和 isTeacher 计算属性,区分教师个人课表和查看他人课表
  - 教师个人课表:标题显示"我的授课课表",描述改为"展示本人本学期所有授课安排"
  - 查看他人课表:标题显示"教师课表"
  - 两种模式均隐藏资源筛选面板,只保留学期选择
  - 加载逻辑适配教师模式 API

  前台 — 教师档案页 (PersonnelView.vue)

  - 教师行操作列新增 "课表" 按钮(带日历图标),仅在职教师可点击
  - 点击后跳转到该教师的授课课表页面

  前台 — 侧边导航 (AdminLayout.vue)

  - 教师角色可见"我的授课课表"菜单项,与学生的"我的课表"并列
This commit is contained in:
2026-07-25 13:21:06 +08:00 Unverified
parent a081273ac6
commit 7800951aee
5 changed files with 171 additions and 37 deletions
+1 -1
View File
@@ -104,7 +104,7 @@ const navigationGroups = computed<NavigationGroup[]>(() => [
hasAnyRole(['SuperAdmin', 'AcademicAdmin']),
{ path: '/schedules', label: '排课与课表' },
),
...whenVisible(isStudent.value, { path: '/my-timetable', label: '我的课表' }),
...whenVisible(isStudent.value || isTeacher.value, { path: '/my-timetable', label: isTeacher.value ? '我的授课课表' : '我的课表' }),
...whenVisible(isStudent.value, { path: '/free-classrooms', label: '空闲教室' }),
...whenVisible(!isStudent.value, {
path: '/class-timetable',