diff --git a/core/core-backend/src/main/java/io/dataease/chart/server/ChartDataServer.java b/core/core-backend/src/main/java/io/dataease/chart/server/ChartDataServer.java index 772d64ecba..dd03c079c7 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/server/ChartDataServer.java +++ b/core/core-backend/src/main/java/io/dataease/chart/server/ChartDataServer.java @@ -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; diff --git a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java index 285bf20238..138de5887c 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java @@ -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) { diff --git a/core/core-frontend/src/api/visualization/dataVisualization.ts b/core/core-frontend/src/api/visualization/dataVisualization.ts index 568d285f31..89a9c4679f 100644 --- a/core/core-frontend/src/api/visualization/dataVisualization.ts +++ b/core/core-frontend/src/api/visualization/dataVisualization.ts @@ -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 }) diff --git a/core/core-frontend/src/views/dashboard/DashboardPreviewShow.vue b/core/core-frontend/src/views/dashboard/DashboardPreviewShow.vue index 6d00e65e0b..5b76b0f7d2 100644 --- a/core/core-frontend/src/views/dashboard/DashboardPreviewShow.vue +++ b/core/core-frontend/src/views/dashboard/DashboardPreviewShow.vue @@ -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) }) }) } diff --git a/core/core-frontend/src/views/data-visualization/PreviewShow.vue b/core/core-frontend/src/views/data-visualization/PreviewShow.vue index 28cf25c715..f3718c8edb 100644 --- a/core/core-frontend/src/views/data-visualization/PreviewShow.vue +++ b/core/core-frontend/src/views/data-visualization/PreviewShow.vue @@ -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) }) }) } diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/DataVisualizationApi.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/DataVisualizationApi.java index 18acd5338e..0e19b153c1 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/DataVisualizationApi.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/DataVisualizationApi.java @@ -148,4 +148,26 @@ public interface DataVisualizationApi { @PostMapping("/export2AppCheck") @Operation(summary = "仪表板视图明细数据") VisualizationExport2AppVO export2AppCheck(@RequestBody VisualizationAppExportRequest appExportRequest); + + + @PostMapping("/exportLogApp") + @Operation(summary = "导出应用模板日志记录") + void exportLogApp(@RequestBody DataVisualizationBaseRequest request) throws Exception; + + + @PostMapping("/exportLogTemplate") + @Operation(summary = "导出样式模板日志记录") + void exportLogTemplate(@RequestBody DataVisualizationBaseRequest request) throws Exception; + + + + @PostMapping("/exportLogPDF") + @Operation(summary = "导出PDF日志记录") + void exportLogPDF(@RequestBody DataVisualizationBaseRequest request) throws Exception; + + + @PostMapping("/exportLogImg") + @Operation(summary = "导出图片日志记录") + void exportLogImg(@RequestBody DataVisualizationBaseRequest request) throws Exception; + } diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/request/DataVisualizationBaseRequest.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/request/DataVisualizationBaseRequest.java index e7a51815b3..0fc00a3903 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/request/DataVisualizationBaseRequest.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/request/DataVisualizationBaseRequest.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.dataease.api.visualization.vo.DataVisualizationVO; import io.dataease.api.visualization.vo.VisualizationExport2AppVO; +import io.dataease.constant.LogOT; import lombok.Data; import lombok.NoArgsConstructor; @@ -38,6 +39,8 @@ public class DataVisualizationBaseRequest extends DataVisualizationVO { // 查询来源 main-edit= 主工程编辑区 main=主工程 report=定时报告 private String source; + private Integer logOTValue; + // 定时报告id @JsonSerialize(using = ToStringSerializer.class) private Long reportId; diff --git a/sdk/common/src/main/java/io/dataease/constant/LogOT.java b/sdk/common/src/main/java/io/dataease/constant/LogOT.java index a9657edc7b..8cc52a5604 100644 --- a/sdk/common/src/main/java/io/dataease/constant/LogOT.java +++ b/sdk/common/src/main/java/io/dataease/constant/LogOT.java @@ -17,7 +17,11 @@ public enum LogOT { BIND(12, "OPERATE_TYPE_BIND"), UNBIND(13, "OPERATE_TYPE_UNBIND"), LOGIN(14, "OPERATE_TYPE_LOGIN"), - DOWNLOAD(15, "OPERATE_TYPE_DOWNLOAD"); + DOWNLOAD(15, "OPERATE_TYPE_DOWNLOAD"), + TEMPLATE_EXPORT(16, "OPERATE_TYPE_TEMPLATE_EXPORT"), + APP_TEMPLATE_EXPORT(17, "OPERATE_TYPE_APP_EXPORT"), + PDF_EXPORT(18, "OPERATE_TYPE_PDF_EXPORT"), + IMG_EXPORT(19, "OPERATE_TYPE_IMG_EXPORT"); private Integer value; private String name; diff --git a/sdk/common/src/main/java/io/dataease/constant/LogST.java b/sdk/common/src/main/java/io/dataease/constant/LogST.java index f51671a65c..84ec849162 100644 --- a/sdk/common/src/main/java/io/dataease/constant/LogST.java +++ b/sdk/common/src/main/java/io/dataease/constant/LogST.java @@ -7,6 +7,8 @@ public enum LogST { SCREEN(2, "SOURCE_TYPE_SCREEN"), DATASET(3, "SOURCE_TYPE_DATASET"), DATASOURCE(4, "SOURCE_TYPE_DATASOURCE"), + STYLE_TEMPLATE(4, "SOURCE_STYLE_TEMPLATE"), + APP_TEMPLATE(4, "SOURCE_APP_TEMPLATE"), USER(5, "SOURCE_TYPE_USER"), ROLE(6, "SOURCE_TYPE_ROLE"), ORG(7, "SOURCE_TYPE_DEPT"),