From 83c261968b6080af48d28c9c3a5b635037d66e04 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Tue, 2 Jul 2024 14:31:18 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF=E3=80=81?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=A4=A7=E5=B1=8F):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D=E9=87=8D=E5=A4=8D=E5=AF=BC=E8=87=B4?= =?UTF-8?q?license=E5=AF=BC=E5=85=A5=E5=90=8E=E5=90=8C=E6=AD=A5=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constants/DataVisualizationConstants.java | 2 ++ .../server/DataVisualizationServer.java | 1 + .../src/components/data-visualization/DvToolbar.vue | 4 ++-- core/core-frontend/src/utils/canvasUtils.ts | 12 +++++++++++- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/commons/constants/DataVisualizationConstants.java b/core/core-backend/src/main/java/io/dataease/commons/constants/DataVisualizationConstants.java index 8be7710b92..081d4c96bb 100644 --- a/core/core-backend/src/main/java/io/dataease/commons/constants/DataVisualizationConstants.java +++ b/core/core-backend/src/main/java/io/dataease/commons/constants/DataVisualizationConstants.java @@ -57,6 +57,8 @@ public class DataVisualizationConstants { public static final String MOVE = "move"; //重命名 public static final String RENAME = "rename"; + + public static final String EDIT = "edit"; //复制 public static final String COPY = "copy"; } 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 5c5bb6aef5..f91f5422d4 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 @@ -396,6 +396,7 @@ public class DataVisualizationServer implements DataVisualizationApi { QueryWrapper wrapper = new QueryWrapper<>(); if (DataVisualizationConstants.RESOURCE_OPT_TYPE.MOVE.equals(request.getOpt()) || DataVisualizationConstants.RESOURCE_OPT_TYPE.RENAME.equals(request.getOpt()) + || DataVisualizationConstants.RESOURCE_OPT_TYPE.EDIT.equals(request.getOpt()) || DataVisualizationConstants.RESOURCE_OPT_TYPE.COPY.equals(request.getOpt())) { if (request.getPid() == null) { DataVisualizationInfo result = visualizationInfoMapper.selectById(request.getId()); diff --git a/core/core-frontend/src/components/data-visualization/DvToolbar.vue b/core/core-frontend/src/components/data-visualization/DvToolbar.vue index 61d1f74a0f..096c628ffb 100644 --- a/core/core-frontend/src/components/data-visualization/DvToolbar.vue +++ b/core/core-frontend/src/components/data-visualization/DvToolbar.vue @@ -98,12 +98,12 @@ const saveCanvasWithCheck = () => { } const saveResource = () => { - wsCache.delete('DE-DV-CATCH-' + dvInfo.value.id) if (styleChangeTimes.value > 0) { eventBus.emit('hideArea-canvas-main') nextTick(() => { - snapshotStore.resetStyleChangeTimes() canvasSave(() => { + snapshotStore.resetStyleChangeTimes() + wsCache.delete('DE-DV-CATCH-' + dvInfo.value.id) ElMessage.success('保存成功') window.history.pushState({}, '', `#/dvCanvas?dvId=${dvInfo.value.id}`) }) diff --git a/core/core-frontend/src/utils/canvasUtils.ts b/core/core-frontend/src/utils/canvasUtils.ts index 3d20d9d8f1..1b163807b7 100644 --- a/core/core-frontend/src/utils/canvasUtils.ts +++ b/core/core-frontend/src/utils/canvasUtils.ts @@ -8,6 +8,7 @@ import eventBus from '@/utils/eventBus' import { dvMainStoreWithOut } from '@/store/modules/data-visualization/dvMain' import { decompression, + dvNameCheck, findById, findCopyResource, saveCanvas, @@ -298,7 +299,7 @@ export function checkIsBatchOptView(viewId) { return curBatchOptComponents.value.includes(viewId) } -export function canvasSave(callBack) { +export async function canvasSave(callBack) { const componentDataToSave = cloneDeep(componentData.value) componentDataToSave.forEach(item => { if (item.component === 'UserView') { @@ -324,6 +325,15 @@ export function canvasSave(callBack) { } const method = dvInfo.value.id && dvInfo.value.optType !== 'copy' ? updateCanvas : saveCanvas + if (method === updateCanvas) { + await dvNameCheck({ + opt: 'edit', + nodeType: 'leaf', + name: dvInfo.value.name, + type: dvInfo.value.type, + id: dvInfo.value.id + }) + } method(canvasInfo).then(res => { dvMainStore.updateDvInfoId(res.data) snapshotStore.resetStyleChangeTimes()