From d0e5969a7119c981f8868bbe9ea3a1cb8d7ba720 Mon Sep 17 00:00:00 2001 From: limengnan <420004014@qq.com> Date: Thu, 9 Apr 2026 15:57:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=87=BA=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/business/scenario/index.ts | 16 +++++++++ .../src/components/antvx6/tableModel.vue | 23 +++++++++--- .../src/views/component/scenario/index.vue | 35 ++++++++++++++----- 3 files changed, 61 insertions(+), 13 deletions(-) diff --git a/business-css/frontend/src/api/business/scenario/index.ts b/business-css/frontend/src/api/business/scenario/index.ts index 1326463..0e1dced 100644 --- a/business-css/frontend/src/api/business/scenario/index.ts +++ b/business-css/frontend/src/api/business/scenario/index.ts @@ -66,3 +66,19 @@ export function getByScenario(queryParams:any){ params: queryParams }); } + + +// 导出全部结果 +export function exportAllExports(scenarioId:any,deviceId:any){ + let url = '/scenario-results/export/by-scenario?scenarioId='+scenarioId + if(deviceId != null){ + url = '/scenario-results/export/by-scenario?scenarioId='+scenarioId + '&deviceId='+deviceId + } + return request({ + url: url , + method: 'get', + responseType: 'arraybuffer' + }); +} + + diff --git a/business-css/frontend/src/components/antvx6/tableModel.vue b/business-css/frontend/src/components/antvx6/tableModel.vue index 965696f..8d75d2c 100644 --- a/business-css/frontend/src/components/antvx6/tableModel.vue +++ b/business-css/frontend/src/components/antvx6/tableModel.vue @@ -8,7 +8,7 @@ export default { import { onMounted, ref, nextTick } from "vue"; import { ElForm, ElMessage, ElMessageBox, selectEmits } from "element-plus"; import Page from '@/components/Pagination/page.vue' -import { getByScenario } from "@/api/business/scenario"; +import { getByScenario,exportAllExports } from "@/api/business/scenario"; const apiUrl = import.meta.env.VITE_APP_BASE_API; // 基础路径 const emit = defineEmits([ 'closeEditdevice']); @@ -72,15 +72,30 @@ onMounted(() => { getScenarioResults() }); +function downloadFile(obj :any, name :any, suffix :any) { + const url = window.URL.createObjectURL(new Blob([obj])) + const link = document.createElement('a') + link.style.display = 'none' + link.href = url + const fileName = name.trim() + '.' + suffix + link.setAttribute('download', fileName) + document.body.appendChild(link) + link.click() + document.body.removeChild(link) +} + function exportExportsClick(){ + exportAllExports(props.scenarioId,props.deviceId).then((response:any) => { + debugger + downloadFile(response, '结果数据' , 'xlsx') + }); +}