From 846ca0346b586e71afb76b3071142a03d40e8924 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Thu, 18 Aug 2022 01:09:45 -0400 Subject: [PATCH] =?UTF-8?q?feat(=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E7=AE=A1=E7=90=86):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E8=A7=86=E5=9B=BE=E6=95=B0=E6=8D=AE=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/api/panel/panel.js | 10 ++++++++++ .../canvas/custom-component/UserViewDialog.vue | 14 +++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/frontend/src/api/panel/panel.js b/frontend/src/api/panel/panel.js index acb749adcf..de63eb6380 100644 --- a/frontend/src/api/panel/panel.js +++ b/frontend/src/api/panel/panel.js @@ -233,6 +233,16 @@ export function exportDetails(data) { }) } +export function innerExportDetails(data) { + return request({ + url: 'panel/group/innerExportDetails', + method: 'post', + data: data, + loading: true, + responseType: 'blob' + }) +} + export function updatePanelStatus(panelId, param) { return request({ url: '/panel/group/updatePanelStatus/' + panelId, diff --git a/frontend/src/components/canvas/custom-component/UserViewDialog.vue b/frontend/src/components/canvas/custom-component/UserViewDialog.vue index 5905c74d75..2500116f40 100644 --- a/frontend/src/components/canvas/custom-component/UserViewDialog.vue +++ b/frontend/src/components/canvas/custom-component/UserViewDialog.vue @@ -10,7 +10,7 @@ :chart="mapChart || chart" class="chart-class" /> - + @@ -38,10 +38,11 @@ import ChartComponentG2 from '@/views/chart/components/ChartComponentG2' import PluginCom from '@/views/system/plugin/PluginCom' import ChartComponentS2 from '@/views/chart/components/ChartComponentS2' import LabelNormalText from '@/views/chart/components/normal/LabelNormalText' -import { exportDetails } from '@/api/panel/panel' +import { exportDetails, innerExportDetails } from '@/api/panel/panel' import html2canvas from 'html2canvasde' import { hexColorToRGBA } from '@/views/chart/chart/util' import { deepCopy, exportImg } from '@/components/canvas/utils/utils' +import { getLinkToken, getToken } from '@/utils/auth' export default { name: 'UserViewDialog', components: { LabelNormalText, ChartComponentS2, ChartComponentG2, DeMainContainer, DeContainer, DeAsideContainer, ChartComponent, TableNormal, LabelNormal, PluginCom }, @@ -187,6 +188,7 @@ export default { const excelData = JSON.parse(JSON.stringify(this.chart.data.tableRow)).map(item => excelHeaderKeys.map(i => item[i])) const excelName = this.chart.name const request = { + viewId: this.chart.id, viewName: excelName, header: excelHeader, details: excelData, @@ -195,7 +197,13 @@ export default { snapshotWidth: width, snapshotHeight: height } - exportDetails(request).then((res) => { + let method = innerExportDetails + const token = this.$store.getters.token || getToken() + const linkToken = this.$store.getters.linkToken || getLinkToken() + if (!token && linkToken) { + method = exportDetails + } + method(request).then((res) => { const blob = new Blob([res], { type: 'application/vnd.ms-excel' }) const link = document.createElement('a') link.style.display = 'none'