feat: 评测模块新增详情页与创建向导

新增 EvalTaskDetail 与逐样本结果类型,Mock 与适配器补充评测详情接口,路由注册详情页并将维度创建并入向导;EvalCreateView 改为分步向导(任务配置、规则设置、维度表单),新增 EvalDetailView 展示综合得分与样本判定,列表补充详情入口,配套两份回归脚本。
This commit is contained in:
caoxiaozhu
2026-07-12 15:39:59 +08:00
parent c0f5f4a30a
commit 71ce26fff6
15 changed files with 1912 additions and 303 deletions

View File

@@ -68,15 +68,15 @@ function editDimension(row: any) {
}
function handleCreateClick() {
if (activeTab.value === 'tasks') {
router.push('/model-eval/create')
} else if (activeTab.value === 'dimensions') {
router.push('/model-eval/dimension/create')
}
router.push('/model-eval/create')
}
function isActiveTab(tab: string) {
return activeTab.value === tab
}
function handleViewDetail(row: any) {
ElMessage.info('详情功能开发中')
router.push({ name: 'model-eval-detail', params: { id: row.id } })
}
onMounted(() => {
@@ -101,9 +101,9 @@ onMounted(() => {
>
<template #title>
<div class="capsule-tabs">
<button class="capsule-tab-item" :class="{ active: activeTab === 'tasks' }" @click="activeTab = 'tasks'">评测任务</button>
<button class="capsule-tab-item" :class="{ active: activeTab === 'leaderboard' }" @click="activeTab = 'leaderboard'">排行榜</button>
<button class="capsule-tab-item" :class="{ active: activeTab === 'dimensions' }" @click="activeTab = 'dimensions'">评测维度</button>
<button class="capsule-tab-item" :class="{ active: isActiveTab('tasks') }" @click="activeTab = 'tasks'">评测任务</button>
<button class="capsule-tab-item" :class="{ active: isActiveTab('leaderboard') }" @click="activeTab = 'leaderboard'">排行榜</button>
<button class="capsule-tab-item" :class="{ active: isActiveTab('dimensions') }" @click="activeTab = 'dimensions'">评测维度</button>
</div>
</template>
<template #columns>
@@ -134,9 +134,9 @@ onMounted(() => {
>
<template #title>
<div class="capsule-tabs">
<button class="capsule-tab-item" :class="{ active: activeTab === 'tasks' }" @click="activeTab = 'tasks'">评测任务</button>
<button class="capsule-tab-item" :class="{ active: activeTab === 'leaderboard' }" @click="activeTab = 'leaderboard'">排行榜</button>
<button class="capsule-tab-item" :class="{ active: activeTab === 'dimensions' }" @click="activeTab = 'dimensions'">评测维度</button>
<button class="capsule-tab-item" :class="{ active: isActiveTab('tasks') }" @click="activeTab = 'tasks'">评测任务</button>
<button class="capsule-tab-item" :class="{ active: isActiveTab('leaderboard') }" @click="activeTab = 'leaderboard'">排行榜</button>
<button class="capsule-tab-item" :class="{ active: isActiveTab('dimensions') }" @click="activeTab = 'dimensions'">评测维度</button>
</div>
</template>
<template #columns>
@@ -153,16 +153,14 @@ onMounted(() => {
:data="dimensionList"
:loading="dimLoading"
:delete-fn="handleDeleteDimension"
create-text="添加维度"
@create="handleCreateClick"
row-key="id"
@refresh="loadDimensions"
>
<template #title>
<div class="capsule-tabs">
<button class="capsule-tab-item" :class="{ active: activeTab === 'tasks' }" @click="activeTab = 'tasks'">评测任务</button>
<button class="capsule-tab-item" :class="{ active: activeTab === 'leaderboard' }" @click="activeTab = 'leaderboard'">排行榜</button>
<button class="capsule-tab-item" :class="{ active: activeTab === 'dimensions' }" @click="activeTab = 'dimensions'">评测维度</button>
<button class="capsule-tab-item" :class="{ active: isActiveTab('tasks') }" @click="activeTab = 'tasks'">评测任务</button>
<button class="capsule-tab-item" :class="{ active: isActiveTab('leaderboard') }" @click="activeTab = 'leaderboard'">排行榜</button>
<button class="capsule-tab-item" :class="{ active: isActiveTab('dimensions') }" @click="activeTab = 'dimensions'">评测维度</button>
</div>
</template>
<template #columns>