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'