From c4cea61e5e65793ac3bd5abe8341e4aeb863faa3 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Thu, 1 Apr 2021 18:54:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BF=AE=E5=A4=8D=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E8=A7=86=E5=9B=BE=E5=90=8E=20=E5=8E=9F=E6=9C=89=E7=94=BB?= =?UTF-8?q?=E5=B8=83=E6=A0=B7=E5=BC=8F=E8=BF=98=E5=8E=9F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canvas/components/Editor/ContextMenu.vue | 7 ++++++- frontend/src/views/panel/edit/index.vue | 12 ++++++++++-- frontend/src/views/panel/list/PanelList.vue | 3 +++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/canvas/components/Editor/ContextMenu.vue b/frontend/src/components/canvas/components/Editor/ContextMenu.vue index 46fc0afbde..b3453178ba 100644 --- a/frontend/src/components/canvas/components/Editor/ContextMenu.vue +++ b/frontend/src/components/canvas/components/Editor/ContextMenu.vue @@ -35,11 +35,16 @@ export default { 'menuTop', 'menuLeft', 'menuShow', - 'curComponent' + 'curComponent', + 'componentData', + 'canvasStyleData' ]), methods: { edit() { debugger + // 编辑时临时保存 当前修改的画布 + localStorage.setItem('canvasDataEditTmp', JSON.stringify(this.componentData)) + localStorage.setItem('canvasStyleEditTmp', JSON.stringify(this.canvasStyleData)) if (this.curComponent.component === 'user-view') { this.$store.dispatch('chart/setViewId', null) this.$store.dispatch('chart/setViewId', this.curComponent.propValue.viewId) diff --git a/frontend/src/views/panel/edit/index.vue b/frontend/src/views/panel/edit/index.vue index 6003b3c937..a2b2969f1e 100644 --- a/frontend/src/views/panel/edit/index.vue +++ b/frontend/src/views/panel/edit/index.vue @@ -164,13 +164,21 @@ export default { // 清理原有画布本地数据 localStorage.setItem('canvasData', null) localStorage.setItem('canvasStyle', null) - if (panelId) { + + // 如果临时画布有数据 则使用临时画布数据(视图编辑的时候 会保存临时画布数据) + if (localStorage.getItem('canvasDataEditTmp') && localStorage.getItem('canvasStyleEditTmp')) { + localStorage.setItem('canvasData', localStorage.getItem('canvasDataEditTmp')) + localStorage.setItem('canvasStyle', localStorage.getItem('canvasStyleEditTmp')) + } else if (panelId) { get('panel/group/findOne/' + panelId).then(response => { localStorage.setItem('canvasData', response.data.panelData) localStorage.setItem('canvasStyle', response.data.panelStyle) - this.restore() }) } + // 清理临时画布本地数据 + localStorage.setItem('canvasDataEditTmp', null) + localStorage.setItem('canvasStyleEditTmp', null) + this.restore() }, save() { diff --git a/frontend/src/views/panel/list/PanelList.vue b/frontend/src/views/panel/list/PanelList.vue index 13bdedb650..f67d008256 100644 --- a/frontend/src/views/panel/list/PanelList.vue +++ b/frontend/src/views/panel/list/PanelList.vue @@ -518,6 +518,9 @@ export default { this.authVisible = false }, edit(data) { + // 清空临时画布 + localStorage.setItem('canvasDataEditTmp', null) + localStorage.setItem('canvasStyleEditTmp', null) this.$store.dispatch('panel/setPanelInfo', data) bus.$emit('PanelSwitchComponent', { name: 'PanelEdit' }) },