You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.5 KiB
3.5 KiB
教师端页面结构
用途:快速熟悉教师端(role 3)页面组成。路由定义见
src/router/index.js的teacherRoutes(L529-L737)。 页面文件统一位于src/views/teacherEnd/。
1. 页面总览
教师端共 15 个 .vue 文件:11 个路由页面 + 1 个首页组件 + 3 个 exam 子页(含在路由内)。
1.1 菜单页面(Layout 内,sidebar 可见)
| 菜单标题 | 路由 name | 路由 path | 页面文件 | 备注 |
|---|---|---|---|---|
| 院系管理 | school |
/school/index |
school/index.vue |
|
| 专业管理 | major |
/major/index |
major/index.vue |
|
| 班级管理 | class |
/class/index |
class/index.vue |
|
| 教师管理 | teacher |
/teacher/index |
teacher/index.vue |
|
| 学生管理 | student |
/student/index |
student/index.vue |
|
| 实训任务管理 | trainingTask |
/trainingTask/index |
trainingTask/index.vue |
|
| 任务分配(默认实训任务配置) | defaultTask |
/defaultTask/index |
defaultTask/index.vue |
菜单 icon 显示"任务分配";需 requiresManagerTeacher(管理型教师可见) |
| 任务分配 | task |
/task/index |
task/index.vue |
|
| 任务评阅 | taskReview |
/task-review/index |
score/TaskReviewPanel.vue |
注意:在 score 目录下 |
| 成绩中心 | score |
/score/index |
score/index.vue |
1.2 综合考核模块(/exam,4 个页面)
| 页面 | name | path | 文件 | 是否隐藏 |
|---|---|---|---|---|
| 综合考核列表 | TeacherExams |
/exam/index |
exam/index.vue |
否 |
| 考试设置 | TeacherExamEditor |
/exam/manage/:id |
exam/editor.vue |
隐藏 |
| 考试评阅 | TeacherExamReview |
/exam/review/:id |
exam/review.vue |
隐藏 |
| 考试分析 | TeacherExamAnalysis |
/exam/analysis/:id |
exam/analysis.vue |
隐藏 |
1.3 隐藏路由(无 Layout,全屏独立页)
| 页面 | path | 文件 |
|---|---|---|
| 学生任务预览 | /task-review-preview |
taskReview/StudentTaskReadonlyPreview.vue |
配套辅助文件:taskReview/studentTaskPreviewMap.js(任务类型 → 预览组件映射)。
1.4 教师端首页(非路由)
teacherEnd/index.vue:教师端首页组件。- 挂载方式特殊:不注册路由,由
src/views/index.vue按角色条件渲染(<teacher v-else-if="role == '3'" />),同文件还按角色渲染超管/学生首页。
2. 路由规则要点(teacherRoutes)
- 顶级路由统一
component: Layout,roles: ["teacher"],单 children(path: "index")。 meta.affix: true的页面固定在标签栏;exam 的三个:id子页affix: false且hidden: true。- 唯一例外:
/task-review-preview不套 Layout、hidden: true,供任务评阅新窗口打开预览。
3. 样式约定(重要)
- 教师端 UI 修改只改
teacher-light.scss,不动模板/逻辑(项目硬约束)。 - 编辑实训任务弹窗样式必须写在 teacher-light.scss 第 15 节
body.teacher-light-mode .training-task-drawer作用域内(drawer teleport 到 body)。 - 表格操作列按钮不换行:
.action-group { flex-wrap:nowrap; white-space:nowrap }等(见项目约定)。 - 全局样式修改必须加选择器边界(如
:not(.studentLayout))防止波及学生端/超管端。
4. 与其他端的边界
platformAdminRoutes(超管)与schoolAdminRoutes(校管)路由在 teacherRoutes 之后,勿混淆。- 学生端页面在
src/views/studentEnd/等目录,由studentTrainingNavigation.js管理,与教师端无关。