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 @@
+
+
+
+
+
+
+
+ | 平均 |
+ |
+
+ {{ formatMetric(averageRow[column.key], column) }}
+ |
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+ |
+
+ |
+ 姓名 |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+
+
+ |
+
+ |
+
+
+ ![]()
+ {{ student.name }}
+
+ {{ student.gender === 'boy' ? '♂' : '♀' }}
+
+
+ |
+ {{ student.account }} |
+ {{ student.coins }} |
+ {{ student.diamonds }} |
+ {{ student.checkInDays }} |
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | 100 |
+
+
+ {{ currentStudent.animal }}
+
+ {{ currentStudent.name }}
+
+ ♀
+
+ |
+ {{ currentStudent.value }} |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
单词统计
+
+
+
+ {{ item.title }}
+
+ {{ item.value }}
+ {{ item.unit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
学习神器
-