From fecc4056bcc71768ec7a0b3f4ebc9aac10be6069 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 19 Jun 2024 10:08:34 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E6=95=B0=E6=8D=AE=E5=A4=A7=E5=B1=8F):?= =?UTF-8?q?=20=E4=BC=98=E5=8C=96=E5=A4=A7=E5=B1=8F=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E9=A2=84=E8=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data-visualization/ComponentToolBar.vue | 7 ++ .../data-visualization/DvToolbar.vue | 10 ++- .../visualization/common/DeFullscreen.vue | 5 ++ .../views/data-visualization/DvPreview.vue | 89 +++++++++++++++++++ .../views/data-visualization/PreviewShow.vue | 38 ++++---- .../src/views/data-visualization/index.vue | 12 +++ 6 files changed, 137 insertions(+), 24 deletions(-) create mode 100644 core/core-frontend/src/views/data-visualization/DvPreview.vue diff --git a/core/core-frontend/src/components/data-visualization/ComponentToolBar.vue b/core/core-frontend/src/components/data-visualization/ComponentToolBar.vue index b911edb003..cda9545518 100644 --- a/core/core-frontend/src/components/data-visualization/ComponentToolBar.vue +++ b/core/core-frontend/src/components/data-visualization/ComponentToolBar.vue @@ -94,6 +94,13 @@ onMounted(() => { useEmitt().emitter.emit('initScroll') }) }, 1000) + useEmitt({ + name: 'canvasScrollRestore', + callback: function () { + // 用于全屏后还原编辑状态大小 + changeSizeWithScale(scale.value) + } + }) }) onUnmounted(() => { diff --git a/core/core-frontend/src/components/data-visualization/DvToolbar.vue b/core/core-frontend/src/components/data-visualization/DvToolbar.vue index 8cb9023442..61d1f74a0f 100644 --- a/core/core-frontend/src/components/data-visualization/DvToolbar.vue +++ b/core/core-frontend/src/components/data-visualization/DvToolbar.vue @@ -23,6 +23,7 @@ import ComponentButton from '@/components/visualization/ComponentButton.vue' import OuterParamsSet from '@/components/visualization/OuterParamsSet.vue' import MultiplexingCanvas from '@/views/common/MultiplexingCanvas.vue' import ComponentButtonLabel from '@/components/visualization/ComponentButtonLabel.vue' +import DeFullscreen from '@/components/visualization/common/DeFullscreen.vue' let nameEdit = ref(false) let inputName = ref('') let nameInput = ref(null) @@ -36,6 +37,7 @@ let scaleEdit = 100 const { wsCache } = useCache('localStorage') const dvModel = 'dataV' const outerParamsSetRef = ref(null) +const fullScreeRef = ref(null) const closeEditCanvasName = () => { nameEdit.value = false @@ -303,7 +305,12 @@ const multiplexingCanvasOpen = () => { > 编辑 - + 预览 { ref="resourceGroupOpt" /> + diff --git a/core/core-frontend/src/components/visualization/common/DeFullscreen.vue b/core/core-frontend/src/components/visualization/common/DeFullscreen.vue index 5570e2caa8..5ae9de0c68 100644 --- a/core/core-frontend/src/components/visualization/common/DeFullscreen.vue +++ b/core/core-frontend/src/components/visualization/common/DeFullscreen.vue @@ -4,6 +4,7 @@ import { dvMainStoreWithOut } from '@/store/modules/data-visualization/dvMain' const dvMainStore = dvMainStoreWithOut() import screenfull from 'screenfull' import { onBeforeUnmount, onMounted, toRefs } from 'vue' +import { useEmitt } from '@/hooks/web/useEmitt' const props = defineProps({ themes: { @@ -33,6 +34,10 @@ const fullscreenChange = () => { dvMainStore.setEditMode('edit') } } + // 大屏编辑使用 + if (props.showPosition === 'dvEdit') { + useEmitt().emitter.emit('canvasScrollRestore') + } } } diff --git a/core/core-frontend/src/views/data-visualization/DvPreview.vue b/core/core-frontend/src/views/data-visualization/DvPreview.vue new file mode 100644 index 0000000000..f750a3911e --- /dev/null +++ b/core/core-frontend/src/views/data-visualization/DvPreview.vue @@ -0,0 +1,89 @@ + + + + + diff --git a/core/core-frontend/src/views/data-visualization/PreviewShow.vue b/core/core-frontend/src/views/data-visualization/PreviewShow.vue index a329bbd356..d6ed1be5a7 100644 --- a/core/core-frontend/src/views/data-visualization/PreviewShow.vue +++ b/core/core-frontend/src/views/data-visualization/PreviewShow.vue @@ -3,7 +3,6 @@ import DeResourceTree from '@/views/common/DeResourceTree.vue' import { dvMainStoreWithOut } from '@/store/modules/data-visualization/dvMain' import ArrowSide from '@/views/common/DeResourceArrow.vue' import { nextTick, onBeforeMount, reactive, ref, computed } from 'vue' -import DePreview from '@/components/data-visualization/canvas/DePreview.vue' import PreviewHead from '@/views/data-visualization/PreviewHead.vue' import EmptyBackground from '@/components/empty-background/src/EmptyBackground.vue' import { storeToRefs } from 'pinia' @@ -15,11 +14,12 @@ import { useMoveLine } from '@/hooks/web/useMoveLine' import { Icon } from '@/components/icon-custom' import { download2AppTemplate, downloadCanvas2 } from '@/utils/imgUtils' import MultiplexPreviewShow from '@/views/data-visualization/MultiplexPreviewShow.vue' +import DvPreview from '@/views/data-visualization/DvPreview.vue' const dvMainStore = dvMainStoreWithOut() -const { dvInfo, fullscreenFlag } = storeToRefs(dvMainStore) +const { dvInfo } = storeToRefs(dvMainStore) const previewCanvasContainer = ref(null) -const dvPreview = ref(null) +const dvPreviewRef = ref(null) const slideShow = ref(true) const requestStore = useRequestStoreWithOut() const permissionStore = usePermissionStoreWithOut() @@ -83,7 +83,7 @@ const loadCanvasData = (dvId, weight?) => { if (props.showPosition === 'preview') { dvMainStore.updateCurDvInfo(dvInfo) nextTick(() => { - dvPreview.value?.restore() + dvPreviewRef.value?.restore() }) } } @@ -216,25 +216,17 @@ onBeforeMount(() => { >
-
-
- -
-
+