|
@@ -90,7 +90,7 @@
|
|
|
终止所有任务
|
|
|
</el-button>
|
|
|
<el-button type="primary" @click="exportData()">
|
|
|
- <i data-feather="download" class="icons"></i> 导出
|
|
|
+ <i data-feather="download" class="icons"></i> 导出问答对
|
|
|
</el-button>
|
|
|
</div>
|
|
|
<div class="selection-control" v-if="selectedRows.length > 0">
|
|
@@ -724,55 +724,27 @@ export default {
|
|
|
|
|
|
// 调用导出接口
|
|
|
const response = await exportQaToExcel(finalParams);
|
|
|
+ console.log(response);
|
|
|
+
|
|
|
// 检查响应格式
|
|
|
- if (response && response.status === 200 ) {
|
|
|
- const exportData = response.data.data;
|
|
|
- console.log(exportData);
|
|
|
- // 如果任务正在处理中,显示提示信息
|
|
|
- if (exportData.status === 'processing') {
|
|
|
- loading.close();
|
|
|
- /* this.$message.info('导出任务已提交,正在处理中...'); */
|
|
|
-
|
|
|
- // 如果有下载链接,直接下载
|
|
|
- if (exportData.download_url) {
|
|
|
- this.downloadFile(exportData.download_url, exportData.file_name);
|
|
|
- }
|
|
|
- return;
|
|
|
- }
|
|
|
+ if (response.status === 200) {
|
|
|
+ const { data } = response;
|
|
|
+ const { message, data: exportData } = data;
|
|
|
|
|
|
- // 如果任务已完成,直接下载
|
|
|
- if (exportData.download_url) {
|
|
|
- this.downloadFile(exportData.download_url, exportData.file_name);
|
|
|
+ // 如果有下载链接,直接使用浏览器下载
|
|
|
+ if (exportData && exportData.download_url) {
|
|
|
+ // 直接打开新窗口下载
|
|
|
+ window.open(exportData.download_url, '_blank');
|
|
|
loading.close();
|
|
|
- this.$message.success('导出成功!');
|
|
|
+ this.$message.success(message || '导出成功!');
|
|
|
} else {
|
|
|
loading.close();
|
|
|
this.$message.error('获取下载链接失败');
|
|
|
}
|
|
|
} else {
|
|
|
- // 兼容原来的直接返回文件流的情况
|
|
|
- const blob = new Blob([response], {
|
|
|
- type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
|
|
- });
|
|
|
-
|
|
|
- const url = window.URL.createObjectURL(blob);
|
|
|
- const link = document.createElement('a');
|
|
|
- link.href = url;
|
|
|
-
|
|
|
- // 设置文件名
|
|
|
- const fileName = `问答对导出_${new Date().toISOString().slice(0, 10)}.xlsx`;
|
|
|
- link.download = fileName;
|
|
|
-
|
|
|
- // 触发下载
|
|
|
- document.body.appendChild(link);
|
|
|
- link.click();
|
|
|
- document.body.removeChild(link);
|
|
|
- window.URL.revokeObjectURL(url);
|
|
|
-
|
|
|
loading.close();
|
|
|
- this.$message.success('导出成功!');
|
|
|
+ this.$message.error('导出请求失败');
|
|
|
}
|
|
|
-
|
|
|
} catch (error) {
|
|
|
console.error('导出失败:', error);
|
|
|
this.$message.error('导出失败,请稍后重试');
|