fix(dataset): 展示并切换三路数据切分

This commit is contained in:
caoxiaozhu
2026-07-24 21:11:01 +08:00
parent 9cb77c251a
commit 9114f3d4c7
6 changed files with 193 additions and 11 deletions

View File

@@ -448,6 +448,33 @@ async function publishDataset() {
}
}
async function resyncPublishedDataset() {
if (!detail.value || !outputDatasetId.value || publishing.value) return
try {
await ElMessageBox.confirm(
'将按当前 8:1:1 配置重新生成训练、验证、测试三个切分文件,数据集 ID 保持不变。',
'重新同步数据切分?',
{ type: 'warning', confirmButtonText: '重新同步', cancelButtonText: '取消' },
)
} catch {
return
}
publishing.value = true
try {
const published = await publishDataProcess(taskId.value, {
...publishForm,
dataset_name: outputDatasetName.value || `${detail.value.name}-数据集`,
split: configuredSplit(),
})
ElMessage.success('训练集、验证集和测试集已重新同步')
const datasetId = published.dataset?.id || outputDatasetId.value
await router.push(`/dataset/${datasetId}/preview`)
} finally {
publishing.value = false
}
}
watch([currentPage, pageSize], () => void loadResults())
onMounted(loadPage)
@@ -472,6 +499,13 @@ onBeforeUnmount(() => {
<i class="fa" :class="outputDatasetId ? 'fa-external-link' : 'fa-database'" />
{{ outputDatasetId ? '查看输出数据集' : '发布为数据集' }}
</el-button>
<el-button
v-if="detail.status === 'completed' && outputDatasetId"
:loading="publishing"
@click="resyncPublishedDataset"
>
<i class="fa fa-refresh" />重新同步切分
</el-button>
</div>
<p>{{ detail.description || '暂无任务描述' }}</p>
<dl class="heading-meta">
@@ -717,7 +751,7 @@ onBeforeUnmount(() => {
<el-alert
type="info"
:closable="false"
:title="`数据集划分:训练集 ${publishForm.split.train}% / 验证集 ${publishForm.split.validation}% / 测试集 ${publishForm.split.test}%`"
:title="`将生成三个独立文件:训练集 ${publishForm.split.train}% / 验证集 ${publishForm.split.validation}% / 测试集 ${publishForm.split.test}%`"
/>
</el-form>
<template #footer>