diff --git a/src/router/index.ts b/src/router/index.ts index c142670..3d82d34 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -67,6 +67,8 @@ import ExamLibrary from '@/views/teacher/ExamPages/ExamLibrary.vue' import MarkingCenter from '@/views/teacher/ExamPages/MarkingCenter.vue' import AddExam from '@/views/teacher/ExamPages/AddExam.vue' import AddQuestion from '@/views/teacher/ExamPages/AddQuestion.vue' +import StudentList from '@/views/teacher/ExamPages/StudentList.vue' +import GradingPage from '@/views/teacher/ExamPages/GradingPage.vue' import ChapterEditor from '@/views/teacher/course/ChapterEditor.vue' @@ -289,8 +291,29 @@ const routes: RouteRecordRaw[] = [ { path: 'marking-center', name: 'MarkingCenter', - component: MarkingCenter, - meta: { title: '阅卷中心' } + component: ExamManagement, + meta: { title: '阅卷中心' }, + redirect: '/teacher/exam-management/marking-center/list', + children: [ + { + path: 'list', + name: 'MarkingList', + component: MarkingCenter, + meta: { title: '试卷列表' } + }, + { + path: 'student-list/:paperId', + name: 'StudentList', + component: StudentList, + meta: { title: '阅卷页面' } + }, + { + path: 'grading/:examId/:studentId', + name: 'GradingPage', + component: GradingPage, + meta: { title: '批阅试卷' } + } + ] }, { path: 'add', @@ -298,6 +321,12 @@ const routes: RouteRecordRaw[] = [ component: AddExam, meta: { title: '添加试卷' } }, + { + path: 'preview', + name: 'ExamPreview', + component: () => import('../views/teacher/ExamPages/ExamPreview.vue'), + meta: { title: '试卷预览' } + }, { path: 'add-question/:id?', name: 'AddQuestionPage', diff --git a/src/views/teacher/AdminDashboard.vue b/src/views/teacher/AdminDashboard.vue index 62b49c1..e700f0a 100644 --- a/src/views/teacher/AdminDashboard.vue +++ b/src/views/teacher/AdminDashboard.vue @@ -45,7 +45,7 @@ :class="{ active: activeSubNavItem === 'exam-library' }" @click="setActiveSubNavItem('exam-library')"> 试卷管理 - 阅卷中心 @@ -429,11 +429,10 @@ const updateActiveNavItem = () => { } else if (path.includes('exam-management')) { activeNavItem.value = 4; // 考试管理 examMenuExpanded.value = true; - - // 获取路由的最后一层路径(不包含/) - const pathSegments = path.split('/'); - const lastSegment = pathSegments[pathSegments.length - 1]; - activeSubNavItem.value = lastSegment || ''; + + const arr = ['question-management', 'exam-library', 'marking-center']; + const found = arr.find(item => path.includes(item)); + activeSubNavItem.value = found || ''; } } diff --git a/src/views/teacher/ExamPages/AddExam.vue b/src/views/teacher/ExamPages/AddExam.vue index 98c4913..83e58ab 100644 --- a/src/views/teacher/ExamPages/AddExam.vue +++ b/src/views/teacher/ExamPages/AddExam.vue @@ -17,6 +17,14 @@

添加试卷

+ + + + + + + 已自动保存 + @@ -55,7 +63,7 @@ 试卷设置 - + 预览试卷 @@ -467,7 +475,7 @@ \ No newline at end of file diff --git a/src/views/teacher/ExamPages/GradingPage.vue b/src/views/teacher/ExamPages/GradingPage.vue new file mode 100644 index 0000000..cfc9a62 --- /dev/null +++ b/src/views/teacher/ExamPages/GradingPage.vue @@ -0,0 +1,1070 @@ + + + + + diff --git a/src/views/teacher/ExamPages/MarkingCenter.vue b/src/views/teacher/ExamPages/MarkingCenter.vue index a3d6489..e20e6bc 100644 --- a/src/views/teacher/ExamPages/MarkingCenter.vue +++ b/src/views/teacher/ExamPages/MarkingCenter.vue @@ -125,7 +125,6 @@ :page-size="pageSize" show-size-picker :page-sizes="[10, 20, 50]" - show-quick-jumper :item-count="totalItems" @update:page="handlePageChange" @update:page-size="handlePageSizeChange" @@ -136,6 +135,7 @@ + +