From b43f286bab851f5729a50c45c199dfdddae8e8c2 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Mon, 22 Jul 2024 14:36:22 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20app?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/DataVisualizationServer.java | 12 ++++--- .../api/visualization/dataVisualization.ts | 6 ++-- .../src/components/dashboard/DbToolbar.vue | 34 ++++++++++--------- .../data-visualization/DvToolbar.vue | 2 +- .../src/views/common/DeAppApply.vue | 21 +++++++++--- .../src/views/dashboard/index.vue | 2 +- 6 files changed, 48 insertions(+), 29 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 0696d42a98..50b3a10fa0 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 @@ -305,12 +305,14 @@ public class DataVisualizationServer implements DataVisualizationApi { //表名映射更新 Map appDsTableNamesMap = dsTableNamesMap.get(key); Map systemDsTableNamesMap = dsTableNamesMap.get(value); + if(!CollectionUtils.isEmpty(appDsTableNamesMap) && !CollectionUtils.isEmpty(systemDsTableNamesMap) ){ + appDsTableNamesMap.forEach((keyName,valueName) ->{ + if(StringUtils.isNotEmpty(systemDsTableNamesMap.get(keyName))){ + dsGroup.setInfo(dsGroup.getInfo().replaceAll(valueName,systemDsTableNamesMap.get(keyName))); + } + }); + } - appDsTableNamesMap.forEach((keyName,valueName) ->{ - if(StringUtils.isNotEmpty(systemDsTableNamesMap.get(keyName))){ - dsGroup.setInfo(dsGroup.getInfo().replaceAll(valueName,systemDsTableNamesMap.get(keyName))); - } - }); }); diff --git a/core/core-frontend/src/api/visualization/dataVisualization.ts b/core/core-frontend/src/api/visualization/dataVisualization.ts index f14055fe0a..323264f52f 100644 --- a/core/core-frontend/src/api/visualization/dataVisualization.ts +++ b/core/core-frontend/src/api/visualization/dataVisualization.ts @@ -46,11 +46,13 @@ export const findDvType = async dvId => export const save = data => request.post({ url: '/dataVisualization/save', data }) -export const saveCanvas = data => request.post({ url: '/dataVisualization/saveCanvas', data }) +export const saveCanvas = data => + request.post({ url: '/dataVisualization/saveCanvas', data, loading: true }) export const updateBase = data => request.post({ url: '/dataVisualization/updateBase', data }) -export const updateCanvas = data => request.post({ url: '/dataVisualization/updateCanvas', data }) +export const updateCanvas = data => + request.post({ url: '/dataVisualization/updateCanvas', data, loading: true }) export const moveResource = data => request.post({ url: '/dataVisualization/move', data }) diff --git a/core/core-frontend/src/components/dashboard/DbToolbar.vue b/core/core-frontend/src/components/dashboard/DbToolbar.vue index 264ce39973..26909f8733 100644 --- a/core/core-frontend/src/components/dashboard/DbToolbar.vue +++ b/core/core-frontend/src/components/dashboard/DbToolbar.vue @@ -179,25 +179,27 @@ const saveCanvasWithCheck = () => { const saveResource = () => { wsCache.delete('DE-DV-CATCH-' + dvInfo.value.id) if (styleChangeTimes.value > 0) { - snapshotStore.resetStyleChangeTimes() dvMainStore.matrixSizeAdaptor() queryList.value.forEach(ele => { useEmitt().emitter.emit(`updateQueryCriteria${ele.id}`) }) - - canvasSave(() => { - snapshotStore.resetStyleChangeTimes() - ElMessage.success('保存成功') - window.history.pushState({}, '', `#/dashboard?resourceId=${dvInfo.value.id}`) - if (appData.value) { - initCanvasData(dvInfo.value.id, 'dashboard', () => { - useEmitt().emitter.emit('refresh-dataset-selector') - resourceAppOpt.value.close() - dvMainStore.setAppDataInfo(null) - snapshotStore.resetSnapshot() - }) - } - }) + try { + canvasSave(() => { + snapshotStore.resetStyleChangeTimes() + ElMessage.success('保存成功') + window.history.pushState({}, '', `#/dashboard?resourceId=${dvInfo.value.id}`) + if (appData.value) { + initCanvasData(dvInfo.value.id, 'dashboard', () => { + useEmitt().emitter.emit('refresh-dataset-selector') + resourceAppOpt.value.close() + dvMainStore.setAppDataInfo(null) + snapshotStore.resetSnapshot() + }) + } + }) + } catch (e) { + console.error(e) + } } } @@ -663,7 +665,7 @@ const initOpenHandler = newWindow => { :dv-info="dvInfo" :canvas-view-info="canvasViewInfo" cur-canvas-type="dashboard" - @saveApp="saveCanvasWithCheck" + @saveAppCanvas="saveCanvasWithCheck" > diff --git a/core/core-frontend/src/components/data-visualization/DvToolbar.vue b/core/core-frontend/src/components/data-visualization/DvToolbar.vue index 75eae70f68..0350ae7a0f 100644 --- a/core/core-frontend/src/components/data-visualization/DvToolbar.vue +++ b/core/core-frontend/src/components/data-visualization/DvToolbar.vue @@ -383,7 +383,7 @@ const fullScreenPreview = () => { :dv-info="dvInfo" :canvas-view-info="canvasViewInfo" cur-canvas-type="dataV" - @saveApp="saveCanvasWithCheck" + @saveAppCanvas="saveCanvasWithCheck" > diff --git a/core/core-frontend/src/views/common/DeAppApply.vue b/core/core-frontend/src/views/common/DeAppApply.vue index 1b76616135..bb02b682ef 100644 --- a/core/core-frontend/src/views/common/DeAppApply.vue +++ b/core/core-frontend/src/views/common/DeAppApply.vue @@ -2,11 +2,11 @@ -
+
{ dvInfo.value['datasetFolderPid'] = state.form.datasetFolderPid dvInfo.value['datasetFolderName'] = state.form.datasetFolderName dvInfo.value['dataState'] = 'ready' - emits('saveApp') + eventBus.emit('save') + snapshotStore.recordSnapshotCache('renderChart') } else { return false } @@ -393,3 +400,9 @@ defineExpose({ justify-content: center; } + + diff --git a/core/core-frontend/src/views/dashboard/index.vue b/core/core-frontend/src/views/dashboard/index.vue index 8802b0ea7f..3d6d9da6d8 100644 --- a/core/core-frontend/src/views/dashboard/index.vue +++ b/core/core-frontend/src/views/dashboard/index.vue @@ -238,13 +238,13 @@ onUnmounted(() => {