diff --git a/enlish-vue/public/vite.svg b/enlish-vue/public/vite.svg
index e7b8dfb..9872e70 100644
--- a/enlish-vue/public/vite.svg
+++ b/enlish-vue/public/vite.svg
@@ -1 +1,7 @@
-
\ No newline at end of file
+
+
+
+
\ No newline at end of file
diff --git a/enlish-vue/src/layouts/components/Header.vue b/enlish-vue/src/layouts/components/Header.vue
index f20ea5a..f163145 100644
--- a/enlish-vue/src/layouts/components/Header.vue
+++ b/enlish-vue/src/layouts/components/Header.vue
@@ -3,53 +3,63 @@
-
-
-
- Flowbite
-
-
-
-
-
- {{ userName }}
-
-
+
+
+
+
+
+
+ 英语教育
+
+
+
+
+
+ {{ userName }}
+
+
+
+
+
+
+ 后台
+
+
+ 登出
+
+
+
+
+
+ Open main menu
+
+
+
+
+
-
-
- 后台
-
-
- 登出
-
-
-
-
- Open main menu
-
-
-
-
-
-
-
-
-
+
+
@@ -111,10 +121,12 @@ onBeforeUnmount(() => {
backdrop-filter: none;
min-height: 56px;
}
+
:global(.dark) .fluent-nav {
background: transparent;
border-bottom: 0;
}
+
.fluent-card {
background: rgba(255, 255, 255, 0.6);
border: 1px solid rgba(255, 255, 255, 0.4);
@@ -123,14 +135,17 @@ onBeforeUnmount(() => {
backdrop-filter: blur(16px);
transition: box-shadow 200ms ease, transform 200ms ease;
}
+
:global(.dark) .fluent-card {
background: rgba(55, 65, 81, 0.4);
border-color: rgba(148, 163, 184, 0.25);
}
+
.fluent-card:hover {
box-shadow: 0 12px 28px rgba(15, 23, 42, 0.16);
transform: translateY(-1px);
}
+
.fluent-btn {
color: #0f172a;
background: rgba(255, 255, 255, 0.6);
@@ -139,32 +154,39 @@ onBeforeUnmount(() => {
box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
transition: background 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}
+
.fluent-btn:hover {
background: rgba(255, 255, 255, 0.7);
box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
}
+
:global(.dark) .fluent-btn {
color: #e5e7eb;
background: rgba(55, 65, 81, 0.4);
border-color: rgba(148, 163, 184, 0.25);
}
+
.fluent-link {
color: #2563eb;
border-radius: 10px;
transition: color 200ms ease, background 200ms ease, box-shadow 200ms ease;
}
+
.fluent-link:hover {
color: #1d4ed8;
background: rgba(255, 255, 255, 0.35);
box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.25);
}
+
:global(.dark) .fluent-link:hover {
background: rgba(55, 65, 81, 0.35);
box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.25);
}
+
.fluent-card {
overflow: visible;
}
+
:global(.el-header) {
overflow: visible;
padding: 0;
diff --git a/enlish-vue/src/layouts/components/student/PlanHistoryChart.vue b/enlish-vue/src/layouts/components/student/PlanHistoryChart.vue
index 995dec4..2b4e400 100644
--- a/enlish-vue/src/layouts/components/student/PlanHistoryChart.vue
+++ b/enlish-vue/src/layouts/components/student/PlanHistoryChart.vue
@@ -25,7 +25,7 @@ function sortData(arr) {
function toSource(arr) {
return sortData(arr).map(it => ({
- startTime: it.startTime,
+ startTime: it.startTime.replace('T', ' '),
totalCount: Number(it.totalCount) || 0,
planId: it.planId ?? null,
id: it.id ?? null
diff --git a/enlish-vue/src/pages/LearningPlan.vue b/enlish-vue/src/pages/LearningPlan.vue
index b11e61b..b3859cf 100644
--- a/enlish-vue/src/pages/LearningPlan.vue
+++ b/enlish-vue/src/pages/LearningPlan.vue
@@ -1,6 +1,6 @@
-
+
diff --git a/enlish-vue/src/pages/PlanTTS.vue b/enlish-vue/src/pages/PlanTTS.vue
index aa91459..1152d50 100644
--- a/enlish-vue/src/pages/PlanTTS.vue
+++ b/enlish-vue/src/pages/PlanTTS.vue
@@ -1,54 +1,63 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
TTS
-
-
+
+
加载词汇
-
+
+
+ 生成音频
-
-
-
-
+
+
+
+
{{ row.word }}
{{ row.audioUrl ? '已生成' : '未生成' }}
-
-
-
-
- 生成音频
- 播放
- 下载
-
-
-
+
+
+ 生成音频
+ 播放
+ 下载
+
+
+
+
+
+
+
+
+
+ {{ row.audioUrl ? '已生成' : '未生成' }}
+
+
+
+
+
+ 生成音频
+ 播放
+ 下载
+
+
+
+
共 {{ words.length }} 条
diff --git a/enlish-vue/src/pages/class.vue b/enlish-vue/src/pages/class.vue
index cac5785..945d045 100644
--- a/enlish-vue/src/pages/class.vue
+++ b/enlish-vue/src/pages/class.vue
@@ -1,6 +1,6 @@
-
+
@@ -10,7 +10,7 @@
-
+
diff --git a/enlish-vue/src/pages/student.vue b/enlish-vue/src/pages/student.vue
index 4aaa428..392dcad 100644
--- a/enlish-vue/src/pages/student.vue
+++ b/enlish-vue/src/pages/student.vue
@@ -1,17 +1,14 @@
-
+
-
-
-
-
-
+
+
-
+
学生详情
@@ -19,45 +16,42 @@
{{ detail.name }}
{{ detail.className }}
{{ detail.gradeName }}
- {{ detail.actualGrade
- }}
+ {{ detail.actualGrade }}
-
-
+
学生词汇统计
- {{ wordStat.masteredWordCount
- }}
- {{ wordStat.unmasteredWordCount
- }}
- {{ wordStat.pendingReviewWordCount
- }}
+ {{ wordStat.masteredWordCount }}
+ {{ wordStat.unmasteredWordCount }}
+ {{ wordStat.pendingReviewWordCount }}
-
-
+
-
+
-
@@ -105,6 +99,10 @@ async function fetchExamHistory() {
history.value = Array.isArray(d?.data) ? d.data.slice().sort((a, b) => {
return new Date(a.startDate).getTime() - new Date(b.startDate).getTime()
}) : []
+ // 遍历 history 中的 startDate 去掉其中的 T
+ history.value.forEach(item => {
+ item.startDate = item.startDate.replace('T', ' ')
+ })
}
async function fetchWordStat() {
diff --git a/enlish-vue/src/pages/uploadpng.vue b/enlish-vue/src/pages/uploadpng.vue
index 05c118e..0a6209e 100644
--- a/enlish-vue/src/pages/uploadpng.vue
+++ b/enlish-vue/src/pages/uploadpng.vue
@@ -1,6 +1,6 @@
-
+