From dcbaca5821c783cd9c177945eb12994353289656 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Thu, 27 Jun 2024 10:21:43 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E4=BB=AA?= =?UTF-8?q?=E8=A1=A8=E6=9D=BF=E5=A4=A7=E5=B1=8F=E5=AE=9A=E6=97=B6=E6=8A=A5?= =?UTF-8?q?=E5=91=8A=E9=A2=84=E8=A7=88=E9=A2=84=E8=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/DataVisualizationServer.java | 4 ---- .../api/visualization/dataVisualization.ts | 2 +- .../modules/data-visualization/dvMain.ts | 4 ++++ core/core-frontend/src/utils/canvasUtils.ts | 20 +++++++++++++++++-- .../data-visualization/PreviewCanvas.vue | 3 +++ 5 files changed, 26 insertions(+), 7 deletions(-) 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 62ed92a576..bcf76ce32a 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 @@ -39,7 +39,6 @@ import io.dataease.visualization.dao.auto.mapper.DataVisualizationInfoMapper; import io.dataease.visualization.dao.auto.mapper.VisualizationWatermarkMapper; import io.dataease.visualization.dao.ext.mapper.ExtDataVisualizationMapper; import io.dataease.visualization.manage.CoreVisualizationManage; -import io.dataease.xpack.base.report.dao.auto.mapper.VisualizationReportFilterMapper; import jakarta.annotation.Resource; import org.apache.commons.lang3.ObjectUtils; import org.springframework.transaction.annotation.Transactional; @@ -92,9 +91,6 @@ public class DataVisualizationServer implements DataVisualizationApi { @Resource private VisualizationWatermarkMapper watermarkMapper; - @Resource - private VisualizationReportFilterMapper reportFilterMapper; - @Override public DataVisualizationVO findCopyResource(Long dvId, String busiFlag) { DataVisualizationVO result = findById(new DataVisualizationBaseRequest(dvId, busiFlag)); diff --git a/core/core-frontend/src/api/visualization/dataVisualization.ts b/core/core-frontend/src/api/visualization/dataVisualization.ts index f6f444b697..342533d035 100644 --- a/core/core-frontend/src/api/visualization/dataVisualization.ts +++ b/core/core-frontend/src/api/visualization/dataVisualization.ts @@ -23,7 +23,7 @@ export const findCopyResource = async (dvId, busiFlag): Promise => { export const findById = async ( dvId, busiFlag, - attachInfo = { source: 'main' } + attachInfo = { source: 'main', taskId: null } ): Promise => { let busiFlagResult = busiFlag if (!busiFlagResult) { diff --git a/core/core-frontend/src/store/modules/data-visualization/dvMain.ts b/core/core-frontend/src/store/modules/data-visualization/dvMain.ts index 4029140825..8c535207d7 100644 --- a/core/core-frontend/src/store/modules/data-visualization/dvMain.ts +++ b/core/core-frontend/src/store/modules/data-visualization/dvMain.ts @@ -25,6 +25,7 @@ import { viewFieldTimeTrans } from '@/utils/viewUtils' export const dvMainStore = defineStore('dataVisualization', { state: () => { return { + canvasAttachInfo: {}, // 仪表板附加信息 fullscreenFlag: false, // 全屏启用标识 staticResourcePath: '/static-resource/', canvasCollapse: { @@ -178,6 +179,9 @@ export const dvMainStore = defineStore('dataVisualization', { } }, actions: { + setCanvasAttachInfo(value) { + this.canvasAttachInfo = value + }, setEmbeddedCallBack(value) { this.embeddedCallBack = value }, diff --git a/core/core-frontend/src/utils/canvasUtils.ts b/core/core-frontend/src/utils/canvasUtils.ts index 34a73b5b84..93994cade9 100644 --- a/core/core-frontend/src/utils/canvasUtils.ts +++ b/core/core-frontend/src/utils/canvasUtils.ts @@ -93,7 +93,11 @@ export function initCanvasDataPrepare(dvId, busiFlag, callBack) { const copyFlag = busiFlag != null && busiFlag.includes('-copy') const busiFlagCustom = copyFlag ? busiFlag.split('-')[0] : busiFlag const method = copyFlag ? findCopyResource : findById - method(dvId, busiFlagCustom).then(res => { + let attachInfo = { source: 'main' } + if (dvMainStore.canvasAttachInfo && !!dvMainStore.canvasAttachInfo.taskId) { + attachInfo = { source: 'report', taskId: dvMainStore.canvasAttachInfo.taskId } + } + method(dvId, busiFlagCustom, attachInfo).then(res => { const canvasInfo = res.data const watermarkInfo = { ...canvasInfo.watermarkInfo, @@ -122,9 +126,21 @@ export function initCanvasDataPrepare(dvId, busiFlag, callBack) { //历史字段适配 canvasStyleResult.component['seniorStyleSetting'] = canvasStyleResult.component['seniorStyleSetting'] || deepCopy(SENIOR_STYLE_SETTING_LIGHT) - + const reportFilterInfo = canvasInfo.reportFilterInfo canvasDataResult.forEach(componentItem => { componentItem['canvasActive'] = false + // 定时报告过滤组件适配 如果当前是定时报告默认切有设置对应的过滤组件默认值,则替换过滤组件 + if ( + componentItem.component === 'VQuery' && + attachInfo.source === 'report' && + !!reportFilterInfo + ) { + componentItem.propValue.forEach((filterItem, index) => { + if (reportFilterInfo[filterItem.id]) { + componentItem.propValue[index] = JSON.parse(reportFilterInfo[filterItem.id].filterInfo) + } + }) + } if (componentItem.component === 'Group') { componentItem.expand = componentItem.expand || false } diff --git a/core/core-frontend/src/views/data-visualization/PreviewCanvas.vue b/core/core-frontend/src/views/data-visualization/PreviewCanvas.vue index 4794644783..f1ae0d1901 100644 --- a/core/core-frontend/src/views/data-visualization/PreviewCanvas.vue +++ b/core/core-frontend/src/views/data-visualization/PreviewCanvas.vue @@ -122,6 +122,9 @@ onMounted(async () => { await new Promise(r => (p = r)) const dvId = embeddedStore.dvId || router.currentRoute.value.query.dvId const { dvType, callBackFlag, taskId } = router.currentRoute.value.query + if (!!taskId) { + dvMainStore.setCanvasAttachInfo({ taskId: taskId }) + } if (dvId) { loadCanvasDataAsync(dvId, dvType) return