refactor: 仪表板不同导出增加日志记录 (#17061)

This commit is contained in:
王嘉豪
2025-09-23 11:42:34 +08:00
committed by GitHub
parent 6ce18b5b2b
commit 338534e87c
9 changed files with 95 additions and 1 deletions

View File

@@ -10,6 +10,7 @@ import io.dataease.chart.constant.ChartConstants;
import io.dataease.chart.manage.ChartDataManage;
import io.dataease.constant.AuthConstant;
import io.dataease.constant.CommonConstants;
import io.dataease.constant.LogOT;
import io.dataease.dataset.manage.PermissionManage;
import io.dataease.dataset.server.DatasetFieldServer;
import io.dataease.constant.DeTypeConstants;
@@ -21,6 +22,7 @@ import io.dataease.extensions.datasource.dto.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.*;
import io.dataease.i18n.Lang;
import io.dataease.license.manage.F2CLicLimitedManage;
import io.dataease.log.DeLog;
import io.dataease.result.ResultCode;
import io.dataease.utils.JsonUtil;
import io.dataease.utils.LogUtil;

View File

@@ -952,6 +952,26 @@ public class DataVisualizationServer implements DataVisualizationApi {
return new VisualizationExport2AppVO(chartViewVOInfo, datasetGroupVOInfo, datasetTableVOInfo, datasetTableFieldVOInfo, datasourceVOInfo, datasourceTaskVOInfo, linkJumpVOInfo, linkJumpInfoVOInfo, listJumpTargetViewInfoVO, linkageVOInfo, linkageFieldVOInfo);
}
@DeLog(id = "#p0.id", ot = LogOT.APP_TEMPLATE_EXPORT, stExp = "#p0.type")
public void exportLogApp(DataVisualizationBaseRequest request){
}
@DeLog(id = "#p0.id", ot = LogOT.TEMPLATE_EXPORT, stExp = "#p0.type")
public void exportLogTemplate(DataVisualizationBaseRequest request){
}
@DeLog(id = "#p0.id", ot = LogOT.PDF_EXPORT, stExp = "#p0.type")
public void exportLogPDF(DataVisualizationBaseRequest request){
}
@DeLog(id = "#p0.id", ot = LogOT.IMG_EXPORT, stExp = "#p0.type")
public void exportLogImg(DataVisualizationBaseRequest request){
}
@Override
public void nameCheck(DataVisualizationBaseRequest request) {

View File

@@ -160,3 +160,12 @@ export const queryShareBaseApi = () => {
loading: false
})
}
export const exportLogApp = data => request.post({ url: '/dataVisualization/exportLogApp', data })
export const exportLogTemplate = data =>
request.post({ url: '/dataVisualization/exportLogTemplate', data })
export const exportLogPDF = data => request.post({ url: '/dataVisualization/exportLogPDF', data })
export const exportLogImg = data => request.post({ url: '/dataVisualization/exportLogImg', data })

View File

@@ -19,6 +19,12 @@ import { useEmitt } from '@/hooks/web/useEmitt'
import { useUserStoreWithOut } from '@/store/modules/user'
import { useI18n } from '@/hooks/web/useI18n'
import CanvasOptBar from '@/components/visualization/CanvasOptBar.vue'
import {
exportLogApp,
exportLogImg,
exportLogPDF,
exportLogTemplate
} from '@/api/visualization/dataVisualization'
const userStore = useUserStoreWithOut()
const userName = computed(() => userStore.getName)
@@ -136,6 +142,11 @@ const downloadH2 = type => {
const vueDom = previewCanvasContainer.value.querySelector('.canvas-container')
downloadCanvas2(type, vueDom, state.dvInfo.name, () => {
downloadStatus.value = false
const param = {
id: state.dvInfo.id,
type: state.dvInfo.type === 'dashboard' ? 'panel' : 'screen'
}
type === 'img' ? exportLogImg(param) : exportLogPDF(param)
mapElementIds.forEach(id => useEmitt().emitter.emit('l7-unprepare-picture', id))
})
})
@@ -182,6 +193,11 @@ const fileDownload = (downloadType, attachParams) => {
const vueDom = previewCanvasContainer.value.querySelector('.canvas-container')
download2AppTemplate(downloadType, vueDom, state.dvInfo.name, attachParams, () => {
downloadStatus.value = false
const param = {
id: state.dvInfo.id,
type: state.dvInfo.type === 'dashboard' ? 'panel' : 'screen'
}
downloadType === 'app' ? exportLogApp(param) : exportLogTemplate(param)
})
})
}

View File

@@ -20,6 +20,12 @@ import { useEmitt } from '@/hooks/web/useEmitt'
import { useUserStoreWithOut } from '@/store/modules/user'
import { useI18n } from '@/hooks/web/useI18n'
import {
exportLogApp,
exportLogImg,
exportLogPDF,
exportLogTemplate
} from '@/api/visualization/dataVisualization'
const userStore = useUserStoreWithOut()
const userName = computed(() => userStore.getName)
@@ -113,6 +119,11 @@ const download = type => {
const vueDom = previewCanvasContainer.value.querySelector('.canvas-container')
downloadCanvas2(type, vueDom, state.dvInfo.name, () => {
downloadStatus.value = false
const param = {
id: state.dvInfo.id,
type: state.dvInfo.type === 'dashboard' ? 'panel' : 'screen'
}
type === 'img' ? exportLogImg(param) : exportLogPDF(param)
})
}, 200)
}
@@ -123,6 +134,11 @@ const fileDownload = (downloadType, attachParams) => {
const vueDom = previewCanvasContainer.value.querySelector('.canvas-container')
download2AppTemplate(downloadType, vueDom, state.dvInfo.name, attachParams, () => {
downloadStatus.value = false
const param = {
id: state.dvInfo.id,
type: state.dvInfo.type === 'dashboard' ? 'panel' : 'screen'
}
downloadType === 'app' ? exportLogApp(param) : exportLogTemplate(param)
})
})
}