diff --git a/src/components/teacher/CompositeQuestion.vue b/src/components/teacher/CompositeQuestion.vue new file mode 100644 index 0000000..67462d3 --- /dev/null +++ b/src/components/teacher/CompositeQuestion.vue @@ -0,0 +1,394 @@ + + + + + diff --git a/src/components/teacher/FillBlankQuestion.vue b/src/components/teacher/FillBlankQuestion.vue new file mode 100644 index 0000000..251e3d0 --- /dev/null +++ b/src/components/teacher/FillBlankQuestion.vue @@ -0,0 +1,280 @@ + + + + + diff --git a/src/components/teacher/MultipleChoiceQuestion.vue b/src/components/teacher/MultipleChoiceQuestion.vue new file mode 100644 index 0000000..e6d4bec --- /dev/null +++ b/src/components/teacher/MultipleChoiceQuestion.vue @@ -0,0 +1,260 @@ + + + + + diff --git a/src/components/teacher/QuestionTypeContainer.vue b/src/components/teacher/QuestionTypeContainer.vue new file mode 100644 index 0000000..06c1417 --- /dev/null +++ b/src/components/teacher/QuestionTypeContainer.vue @@ -0,0 +1,170 @@ + + + + + diff --git a/src/components/teacher/ShortAnswerQuestion.vue b/src/components/teacher/ShortAnswerQuestion.vue new file mode 100644 index 0000000..c454be7 --- /dev/null +++ b/src/components/teacher/ShortAnswerQuestion.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/src/components/teacher/SingleChoiceQuestion.vue b/src/components/teacher/SingleChoiceQuestion.vue new file mode 100644 index 0000000..4ceb0c3 --- /dev/null +++ b/src/components/teacher/SingleChoiceQuestion.vue @@ -0,0 +1,239 @@ + + + + + diff --git a/src/components/teacher/TrueFalseQuestion.vue b/src/components/teacher/TrueFalseQuestion.vue new file mode 100644 index 0000000..6254d52 --- /dev/null +++ b/src/components/teacher/TrueFalseQuestion.vue @@ -0,0 +1,194 @@ + + + + + diff --git a/src/router/index.ts b/src/router/index.ts index e51629a..4b9ebe5 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -61,6 +61,7 @@ import QuestionManagement from '@/views/teacher/ExamPages/QuestionManagement.vue 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 ChapterEditor from '@/views/teacher/course/ChapterEditor.vue' @@ -267,6 +268,12 @@ const routes: RouteRecordRaw[] = [ name: 'AddExam', component: AddExam, meta: { title: '添加试卷' } + }, + { + path: 'add-question/:id?', + name: 'AddQuestionPage', + component: AddQuestion, + meta: { title: '添加试题' } } ] }, diff --git a/src/views/teacher/AdminDashboard.vue b/src/views/teacher/AdminDashboard.vue index 5727b13..af0eba3 100644 --- a/src/views/teacher/AdminDashboard.vue +++ b/src/views/teacher/AdminDashboard.vue @@ -498,6 +498,14 @@ const updateActiveNavItem = () => { activeNavItem.value = 2; // 我的资源 } else if (path.includes('personal-center')) { activeNavItem.value = 3; // 个人中心 + } 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 || ''; } } diff --git a/src/views/teacher/ExamPages/AddQuestion.vue b/src/views/teacher/ExamPages/AddQuestion.vue new file mode 100644 index 0000000..824eb0d --- /dev/null +++ b/src/views/teacher/ExamPages/AddQuestion.vue @@ -0,0 +1,1382 @@ + + + + + \ No newline at end of file diff --git a/src/views/teacher/ExamPages/QuestionManagement.vue b/src/views/teacher/ExamPages/QuestionManagement.vue index 579dfe1..db7de6e 100644 --- a/src/views/teacher/ExamPages/QuestionManagement.vue +++ b/src/views/teacher/ExamPages/QuestionManagement.vue @@ -7,10 +7,11 @@ 导入 导出 删除 + 分类设置 @@ -45,14 +46,135 @@ @success="handleImportSuccess" @template-download="handleTemplateDownload" /> + + + +
+
+ + 已选择 {{ selectedRowKeys.length }} 个试题 + +
+ +
+
+ + +
+ +
+ + + + + 添加 + + +
+
+
+ + +
+ + + +
+
+ + + 新增分类 + + +
+ +
+ + + + 添加 + + + 取消 + + +
+ +
+ + +
+ {{ category.label }} + + + 编辑 + + + 删除 + + +
+
+
+
+
+ + +
diff --git a/src/views/teacher/course/ExamPages/ExamLibrary.vue b/src/views/teacher/course/ExamPages/ExamLibrary.vue deleted file mode 100644 index 87a6f2f..0000000 --- a/src/views/teacher/course/ExamPages/ExamLibrary.vue +++ /dev/null @@ -1,210 +0,0 @@ - - - - - diff --git a/src/views/teacher/course/ExamPages/MarkingCenter.vue b/src/views/teacher/course/ExamPages/MarkingCenter.vue deleted file mode 100644 index eb2fad6..0000000 --- a/src/views/teacher/course/ExamPages/MarkingCenter.vue +++ /dev/null @@ -1,11 +0,0 @@ - - - - -