From 91a7c84d7c564c2a40ae13c727e729e2d71d64f2 Mon Sep 17 00:00:00 2001 From: caoxiaozhu Date: Mon, 13 Jul 2026 11:47:46 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E8=AF=84=E6=B5=8B=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E7=A7=BB=E9=99=A4=E5=86=85=E5=B5=8C=E7=BB=B4=E5=BA=A6?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit EvalView 移除维度列表加载/删除与相关 Tab 内容,聚焦评测任务展示;维度表单与规则步骤同步微调,回归脚本适配。 --- .../scripts/regression-eval-create-wizard.mjs | 20 ++++-- frontend/src/views/eval/EvalView.vue | 69 +------------------ .../views/eval/create/DimensionFormFields.vue | 12 +++- .../views/eval/create/EvalRuleSetupStep.vue | 6 +- 4 files changed, 31 insertions(+), 76 deletions(-) diff --git a/frontend/scripts/regression-eval-create-wizard.mjs b/frontend/scripts/regression-eval-create-wizard.mjs index 51608ce..1130fba 100644 --- a/frontend/scripts/regression-eval-create-wizard.mjs +++ b/frontend/scripts/regression-eval-create-wizard.mjs @@ -11,6 +11,7 @@ const [ createSource, taskStepSource, ruleStepSource, + dimensionFieldsSource, listSource, routerSource, apiSource, @@ -18,6 +19,7 @@ const [ readFile(path.join(evalViewDir, 'EvalCreateView.vue'), 'utf8'), readFile(path.join(evalViewDir, 'create/EvalTaskSetupStep.vue'), 'utf8'), readFile(path.join(evalViewDir, 'create/EvalRuleSetupStep.vue'), 'utf8'), + readFile(path.join(evalViewDir, 'create/DimensionFormFields.vue'), 'utf8'), readFile(path.join(evalViewDir, 'EvalView.vue'), 'utf8'), readFile(path.join(sourceRoot, 'router/index.ts'), 'utf8'), readFile(path.join(sourceRoot, 'api/modules/eval.ts'), 'utf8'), @@ -60,11 +62,9 @@ assert.match( '编辑维度路由必须继续复用 DimensionCreateView.vue', ) -const dimensionTabStart = listSource.indexOf('') -assert.notEqual(dimensionTabStart, -1, '评测列表缺少维度标签页') -const dimensionTabSource = listSource.slice(dimensionTabStart) -assert.doesNotMatch(dimensionTabSource, /create-text=["']添加维度["']/, '维度标签页不应保留“添加维度”按钮') -assert.doesNotMatch(dimensionTabSource, /@create=["']handleCreateClick["']/, '维度标签页不应保留独立创建事件') +assert.doesNotMatch(listSource, /评测维度/, '模型评测页不应保留评测维度页签及内容') +assert.doesNotMatch(listSource, /activeTab\s*===\s*['"]dimensions['"]/, '模型评测页不应保留评测维度状态分支') +assert.doesNotMatch(listSource, /getDimensionList|deleteDimension|dimensionList/, '模型评测页不应继续加载维度列表数据') assert.match( apiSource, @@ -79,6 +79,16 @@ assert.match( /任务配置[\s\S]*?评测规则/, '评测创建向导必须按“任务配置、评测规则”定义两个步骤', ) +assert.match( + ruleStepSource, + /:show-description=["']false["']/, + '新建评测任务第二步不应显示重复的规则描述输入框', +) +assert.match( + dimensionFieldsSource, + /v-if=["']showDescription["'][^>]*label=["']描述["']/, + '共享维度字段必须支持按场景隐藏描述输入框', +) assert.match(createSource, /currentStep\s*=\s*ref\(0\)/, '评测创建向导缺少当前步骤状态') assert.match(createSource, /class=["']custom-wizard-steps["']/, '评测向导未复用数据处理的自定义步骤条结构') assert.match(createSource, /class=["']step-connector["']/, '评测向导步骤条缺少连接线') diff --git a/frontend/src/views/eval/EvalView.vue b/frontend/src/views/eval/EvalView.vue index 28ed381..3a210e3 100644 --- a/frontend/src/views/eval/EvalView.vue +++ b/frontend/src/views/eval/EvalView.vue @@ -6,19 +6,14 @@ import DataTablePage from '@/components/DataTablePage.vue' import { getEvalList, deleteEval, - getDimensionList, - deleteDimension, } from '@/api/modules/eval' -import { DIMENSION_TYPE_MAP } from '@/constants' -import type { EvalTask, Dimension } from '@/types' +import type { EvalTask } from '@/types' const router = useRouter() const activeTab = ref('tasks') const evalLoading = ref(false) const evalList = ref([]) -const dimLoading = ref(false) -const dimensionList = ref([]) // 排行榜(原项目为 mock 数据) const leaderboard = ref([ @@ -38,17 +33,6 @@ async function loadEvalList() { } } -async function loadDimensions() { - dimLoading.value = true - try { - dimensionList.value = (await getDimensionList()) || [] - } catch { - dimensionList.value = [] - } finally { - dimLoading.value = false - } -} - async function handleDeleteEval(row: any) { await ElMessageBox.confirm('确定要删除这个评测任务吗?', '确认删除', { type: 'warning' }) await deleteEval(row.id) @@ -56,17 +40,6 @@ async function handleDeleteEval(row: any) { loadEvalList() } -async function handleDeleteDimension(row: any) { - await ElMessageBox.confirm('确定要删除这个评测维度吗?', '确认删除', { type: 'warning' }) - await deleteDimension(row.id) - ElMessage.success('删除成功') - loadDimensions() -} - -function editDimension(row: any) { - router.push(`/model-eval/dimension/${row.id}/edit`) -} - function handleCreateClick() { router.push('/model-eval/create') } @@ -81,7 +54,6 @@ function handleViewDetail(row: any) { onMounted(() => { loadEvalList() - loadDimensions() }) @@ -103,7 +75,6 @@ onMounted(() => {
-
- - - - - - diff --git a/frontend/src/views/eval/create/DimensionFormFields.vue b/frontend/src/views/eval/create/DimensionFormFields.vue index 44f78b6..346f96b 100644 --- a/frontend/src/views/eval/create/DimensionFormFields.vue +++ b/frontend/src/views/eval/create/DimensionFormFields.vue @@ -21,7 +21,15 @@ export interface DimensionFormDraft { pass_threshold: number } -defineProps<{ evalModels: ModelItem[] }>() +withDefaults( + defineProps<{ + evalModels: ModelItem[] + showDescription?: boolean + }>(), + { + showDescription: true, + }, +) const form = defineModel({ required: true }) @@ -66,7 +74,7 @@ watch( - + diff --git a/frontend/src/views/eval/create/EvalRuleSetupStep.vue b/frontend/src/views/eval/create/EvalRuleSetupStep.vue index 4c5ebc1..8b46be9 100644 --- a/frontend/src/views/eval/create/EvalRuleSetupStep.vue +++ b/frontend/src/views/eval/create/EvalRuleSetupStep.vue @@ -63,7 +63,11 @@ defineExpose({ validate }) :disabled="disabled" scroll-to-error > - +