From 9032848450c665cd612d1473e2f823effb6558af Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Wed, 10 Dec 2025 22:58:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(ui):=20=E6=B7=BB=E5=8A=A0=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8A=E4=BC=A0=E6=88=90=E5=8A=9F=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E5=B9=B6=E5=88=B7=E6=96=B0=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在文件上传组件中添加success事件,当上传成功时触发并刷新任务列表。同时在基准评测组件中添加刷新按钮并优化任务提交后的处理逻辑。 --- web/src/components/EvaluationBenchmarks.vue | 15 ++++++++++++--- web/src/components/FileUploadModal.vue | 3 ++- web/src/views/DataBaseInfoView.vue | 8 ++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/web/src/components/EvaluationBenchmarks.vue b/web/src/components/EvaluationBenchmarks.vue index 2912c826..2d743442 100644 --- a/web/src/components/EvaluationBenchmarks.vue +++ b/web/src/components/EvaluationBenchmarks.vue @@ -6,6 +6,10 @@ {{ benchmarks.length }} 个基准
+ + + 刷新 + 上传基准 @@ -92,7 +96,6 @@
@@ -182,9 +185,11 @@ import { EyeOutlined, DeleteOutlined, CheckCircleOutlined, - CloseCircleOutlined + CloseCircleOutlined, + ReloadOutlined } from '@ant-design/icons-vue'; import { evaluationApi } from '@/apis/knowledge_api'; +import { useTaskerStore } from '@/stores/tasker'; import BenchmarkUploadModal from './modals/BenchmarkUploadModal.vue'; import BenchmarkGenerateModal from './modals/BenchmarkGenerateModal.vue'; @@ -197,6 +202,8 @@ const props = defineProps({ const emit = defineEmits(['refresh']); +const taskerStore = useTaskerStore(); + // 状态 const loading = ref(false); const benchmarks = ref([]); @@ -243,6 +250,7 @@ const showGenerateModal = () => { const onUploadSuccess = () => { loadBenchmarks(); message.success('基准上传成功'); + taskerStore.loadTasks(); // 刷新任务列表 // 通知父组件刷新基准列表 emit('refresh'); }; @@ -250,7 +258,8 @@ const onUploadSuccess = () => { // 生成成功回调 const onGenerateSuccess = () => { loadBenchmarks(); - message.success('基准生成成功'); + // message.success('基准生成成功'); // 移除,由模态框提示任务提交 + taskerStore.loadTasks(); // 刷新任务列表 // 通知父组件刷新基准列表 emit('refresh'); }; diff --git a/web/src/components/FileUploadModal.vue b/web/src/components/FileUploadModal.vue index 8f5993f3..9d1701ca 100644 --- a/web/src/components/FileUploadModal.vue +++ b/web/src/components/FileUploadModal.vue @@ -172,7 +172,7 @@ const props = defineProps({ }, }); -const emit = defineEmits(['update:visible']); +const emit = defineEmits(['update:visible', 'success']); const store = useDatabaseStore(); @@ -740,6 +740,7 @@ const chunkData = async () => { if (success) { emit('update:visible', false); + emit('success'); fileList.value = []; sameNameFiles.value = []; // 清空同名文件列表 } diff --git a/web/src/views/DataBaseInfoView.vue b/web/src/views/DataBaseInfoView.vue index b5c600b1..ca5c3f9e 100644 --- a/web/src/views/DataBaseInfoView.vue +++ b/web/src/views/DataBaseInfoView.vue @@ -4,6 +4,7 @@
@@ -75,6 +76,7 @@ import { onMounted, reactive, ref, watch, onUnmounted, computed } from 'vue'; import { useRoute } from 'vue-router'; import { useDatabaseStore } from '@/stores/database'; +import { useTaskerStore } from '@/stores/tasker'; import KnowledgeBaseCard from '@/components/KnowledgeBaseCard.vue'; import FileTable from '@/components/FileTable.vue'; import FileDetailModal from '@/components/FileDetailModal.vue'; @@ -87,6 +89,7 @@ import EvaluationBenchmarks from '@/components/EvaluationBenchmarks.vue'; const route = useRoute(); const store = useDatabaseStore(); +const taskerStore = useTaskerStore(); const databaseId = computed(() => store.databaseId); const database = computed(() => store.database); @@ -167,6 +170,11 @@ const showAddFilesModal = () => { addFilesModalVisible.value = true; }; +// 文件上传成功回调 +const onFileUploadSuccess = () => { + taskerStore.loadTasks(); +}; + // 重置文件选中状态 const resetFileSelectionState = () => { store.selectedRowKeys = [];