From ad02177bd653c3cfe161253fb6be24d5a0412888 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 20 Mar 2024 15:26:04 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E5=9B=BE=E8=A1=A8):=20=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E5=AF=BC=E5=87=BA=E6=A0=B7=E5=BC=8F=E7=AD=89=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/dataease/chart/manage/ChartDataManage.java | 2 +- .../src/components/visualization/UserViewEnlarge.vue | 7 ++++++- core/core-frontend/src/views/chart/components/js/util.ts | 4 +++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/chart/manage/ChartDataManage.java b/core/core-backend/src/main/java/io/dataease/chart/manage/ChartDataManage.java index 9278897d29..9c64cd70a4 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/manage/ChartDataManage.java +++ b/core/core-backend/src/main/java/io/dataease/chart/manage/ChartDataManage.java @@ -572,7 +572,7 @@ public class ChartDataManage { data = resultCustomSort(xAxis, data); } // 如果是表格导出查询 则在此处直接就可以返回 - if (chartExtRequest.getExcelExportFlag()) { + if (view.getIsExcelExport()) { Map sourceInfo = ChartDataBuild.transTableNormal(xAxis, yAxis, view, data, extStack, desensitizationList); sourceInfo.put("sourceData", data); view.setData(sourceInfo); diff --git a/core/core-frontend/src/components/visualization/UserViewEnlarge.vue b/core/core-frontend/src/components/visualization/UserViewEnlarge.vue index 25c6f46de7..1af6392ffa 100644 --- a/core/core-frontend/src/components/visualization/UserViewEnlarge.vue +++ b/core/core-frontend/src/components/visualization/UserViewEnlarge.vue @@ -24,6 +24,7 @@ link icon="Download" size="middle" + :loading="exportLoading" @click="downloadViewDetails" > 导出Excel @@ -71,6 +72,7 @@ const { t } = useI18n() const optType = ref(null) const chartComponentDetails = ref(null) const { dvInfo } = storeToRefs(dvMainStore) +const exportLoading = ref(false) const DETAIL_TABLE_ATTR: DeepPartial = { render: 'antv', type: 'table-info', @@ -119,7 +121,10 @@ const downloadViewDetails = () => { const viewDataInfo = dvMainStore.getViewDataDetails(viewInfo.value.id) const chartExtRequest = dvMainStore.getLastViewRequestInfo(viewInfo.value.id) const chart = { ...viewInfo.value, chartExtRequest, data: viewDataInfo } - exportExcelDownload(chart) + exportLoading.value = true + exportExcelDownload(chart, () => { + exportLoading.value = false + }) } const htmlToImage = () => { diff --git a/core/core-frontend/src/views/chart/components/js/util.ts b/core/core-frontend/src/views/chart/components/js/util.ts index 13b3342ebf..335a9fae13 100644 --- a/core/core-frontend/src/views/chart/components/js/util.ts +++ b/core/core-frontend/src/views/chart/components/js/util.ts @@ -419,7 +419,7 @@ export const getGeoJsonFile = async (areaId: string): Promise return toRaw(geoJson) } -export const exportExcelDownload = chart => { +export const exportExcelDownload = (chart, callBack?) => { const fields = JSON.parse(JSON.stringify(chart.data.fields)) const tableRow = JSON.parse(JSON.stringify(chart.data.tableRow)) const excelHeader = fields.map(item => item.chartShowName ?? item.name) @@ -471,9 +471,11 @@ export const exportExcelDownload = chart => { document.body.appendChild(link) link.click() document.body.removeChild(link) + callBack('success') }) .catch(() => { console.error('Excel download error') + callBack('error') }) }