From 680faacd1d3437c6adc047c93a5b8553185e2b92 Mon Sep 17 00:00:00 2001 From: qubiaobiao <3294694717@qq.com> Date: Thu, 8 Oct 2026 15:19:50 +0800 Subject: [PATCH] =?UTF-8?q?feat(admin):=20=E6=88=90=E7=BB=A9=E7=AE=A1?= =?UTF-8?q?=E7=90=86=20Tab=20=E5=88=86=E5=8C=BA=20+=20=E4=BD=9C=E5=93=81?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=A7=BB=E9=99=A4=E4=B8=AD=E8=81=8C/?= =?UTF-8?q?=E9=AB=98=E8=81=8C=20+=20=E5=88=86=E9=A1=B5=E6=9C=80=E5=B0=8F?= =?UTF-8?q?=E6=A1=A3=E8=A1=A5=205?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit R80 三项 UI 改造(单文件 src/views/Admin.vue,+78/-37): 1. 作品管理:移除「中职组 / 高职组」两个选项 —— 这两组已取消 Word 作品上传, 留着会让人误以为可以下载到作品。顺带清掉因此变成恒真的死判据 v-if="submissionGroup === 'benke' || submissionGroup === 'jiaoshi'"(批量下载作品按钮)。 后端 getWorks 仍支持 4 组,保留兼容不删。 2. 分页:9 处 page-sizes 统一补最小 5 档([5,10,20,50];账号管理 [5,10,20,50,100])。 试卷管理 3 处原本已是 5 档,无需改。动因:成绩管理表体量大、翻页粒度需要更细。 3. 成绩管理:由「一段纵向长页」改为「顶栏 + 三页签」—— - 顶栏只留组别级动作:组别选择 / 发布·撤回成绩 / 导出Excel / 批量下载作品 - 表级筛选(姓名 / 提交状态 / 日期范围)下沉到「成绩总览」页签, 否则切到别的页签时筛选框仍在,会造成「筛的是哪张表」的歧义 - el-tabs:成绩总览(始终)/ 考生答题记录(仅中职、高职)/ 考生大题作答查证(同上) - 大题作答详情 el-dialog 放在 el-tabs 之外:留在页签内会随 v-if 卸载而销毁弹窗状态 🔴 唯一高危边界:activeScoreTab 停在后两个页签时切到本科/教师,两个页签 v-if 消失 ⇒ el-tabs 无 active 内容 ⇒ 页签栏在、内容区全空(白屏)。治法:在 watch(scoreExportGroup) 内复位为 'overview' —— 用 watch 而非 onScoreGroupChange, 因为 watch 默认 pre-flush 会在组件重渲染之前执行,不会先闪一帧空白。 验证:verify_frontend_tdz PASS(activeScoreTab 声明顺序,本页历史真炸过的坑)· @vue/compiler-sfc parse/compileTemplate 0 错 · ui-runtime-check 真 chromium 17 步 17/17 PASS。 变异自证 2 轮:恢复中职/高职选项 ⇒ expectNoText 2 项变红;拆掉切组复位 ⇒ 切本科组后 expectText("提交状态") 命中 0 处变红。 --- src/views/Admin.vue | 115 ++++++++++++++++++++++++++++++-------------- 1 file changed, 78 insertions(+), 37 deletions(-) diff --git a/src/views/Admin.vue b/src/views/Admin.vue index 15a9820..7584779 100644 --- a/src/views/Admin.vue +++ b/src/views/Admin.vue @@ -187,7 +187,7 @@

作品管理

+ - - - + 批量下载作品 @@ -613,7 +611,7 @@