diff --git a/.components.d.ts b/.components.d.ts index 314f6c6..0d8c3be 100644 --- a/.components.d.ts +++ b/.components.d.ts @@ -15,7 +15,10 @@ declare module 'vue' { ElDrawer: typeof import('element-plus/es')['ElDrawer'] ElOption: typeof import('element-plus/es')['ElOption'] ElSelect: typeof import('element-plus/es')['ElSelect'] + LmFilterTabs: typeof import('./src/components/lm/LmFilterTabs.vue')['default'] LmSelect: typeof import('./src/components/lm/LmSelect.vue')['default'] + LmStudentSummaryTable: typeof import('./src/components/lm/LmStudentSummaryTable.vue')['default'] + LmStudentTable: typeof import('./src/components/lm/LmStudentTable.vue')['default'] LoadingState: typeof import('./src/components/loading/LoadingState.vue')['default'] PageFrame: typeof import('./src/components/layout/PageFrame.vue')['default'] QuestionNumberNav: typeof import('./src/components/answerQuestions/QuestionNumberNav.vue')['default'] diff --git a/src/components/layout/AppHeader.vue b/src/components/layout/AppHeader.vue index 01ce556..b5cdd44 100644 --- a/src/components/layout/AppHeader.vue +++ b/src/components/layout/AppHeader.vue @@ -18,7 +18,13 @@
-
+
+
diff --git a/src/components/lm/LmStudentSummaryTable.vue b/src/components/lm/LmStudentSummaryTable.vue new file mode 100644 index 0000000..74b389b --- /dev/null +++ b/src/components/lm/LmStudentSummaryTable.vue @@ -0,0 +1,260 @@ + + + + + diff --git a/src/components/lm/LmStudentTable.vue b/src/components/lm/LmStudentTable.vue new file mode 100644 index 0000000..284a27f --- /dev/null +++ b/src/components/lm/LmStudentTable.vue @@ -0,0 +1,254 @@ + + + + + diff --git a/src/router/index.ts b/src/router/index.ts index c100875..05d86b9 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -9,6 +9,18 @@ const router = createRouter({ name: 'subjects', component: () => import('@/views/Subjects/index.vue'), }, + { + path: '/subjects/student-management', + name: 'student-management', + component: () => import('@/views/Subjects/StudentManagement.vue'), + meta: { hideLayout: true }, + }, + { + path: '/subjects/ranking-list', + name: 'ranking-list', + component: () => import('@/views/Subjects/RankingList.vue'), + meta: { hideLayout: true }, + }, { path: '/subjects/:subject', name: 'subject-detail', @@ -33,6 +45,12 @@ const router = createRouter({ component: () => import('@/views/Subjects/WrongQuestions.vue'), meta: { hideLayout: true }, }, + { + path: '/subjects/:subject/analysis', + name: 'subject-analysis', + component: () => import('@/views/Subjects/SubjectAnalysis.vue'), + meta: { hideLayout: true }, + }, { path: '/answer-questions/wrong-retrain', name: 'wrong-retrain-answer', diff --git a/src/views/Subjects/RankingList.vue b/src/views/Subjects/RankingList.vue new file mode 100644 index 0000000..b5fa966 --- /dev/null +++ b/src/views/Subjects/RankingList.vue @@ -0,0 +1,421 @@ + + + + + diff --git a/src/views/Subjects/StudentManagement.vue b/src/views/Subjects/StudentManagement.vue new file mode 100644 index 0000000..6bffb73 --- /dev/null +++ b/src/views/Subjects/StudentManagement.vue @@ -0,0 +1,455 @@ + + + + + diff --git a/src/views/Subjects/SubjectAnalysis.vue b/src/views/Subjects/SubjectAnalysis.vue new file mode 100644 index 0000000..f49e986 --- /dev/null +++ b/src/views/Subjects/SubjectAnalysis.vue @@ -0,0 +1,315 @@ + + + + + diff --git a/src/views/Subjects/SubjectDetail.vue b/src/views/Subjects/SubjectDetail.vue index 99e4543..e0af350 100644 --- a/src/views/Subjects/SubjectDetail.vue +++ b/src/views/Subjects/SubjectDetail.vue @@ -24,7 +24,7 @@ 学习神器 学习神器 - @@ -212,6 +212,13 @@ function goToWrongQuestions() { params: { subject: subjectName.value }, }); } + +function goToSubjectAnalysis() { + router.push({ + name: "subject-analysis", + params: { subject: subjectName.value }, + }); +}