From 2ace2ae0de1e2c8958aa34579ac1063824e1a466 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Thu, 21 Nov 2024 10:07:17 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E7=B3=BB=E7=BB=9F=E8=AE=BE=E7=BD=AE):=20?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E8=AE=BE=E7=BD=AE=E7=9A=84=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=B8=AD=E6=B7=BB=E5=8A=A0=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E6=89=93=E5=BC=80=E6=96=B9=E5=BC=8F=E9=80=89=E9=A1=B9=20?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E7=AA=97=E5=8F=A3=E6=89=93=E5=BC=80=EF=BC=8C?= =?UTF-8?q?=E4=BF=9D=E6=8C=81=E7=8E=B0=E5=9C=A8=E7=9A=84=E6=96=B0=E9=80=BB?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E6=96=B0=E7=AA=97=E5=8F=A3=E6=89=93=E5=BC=80?= =?UTF-8?q?=EF=BC=8C=E6=8C=89=E5=8E=9F=E6=9D=A5=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/dashboard/DbToolbar.vue | 6 +++++- .../components/data-visualization/DvToolbar.vue | 6 +++++- .../views/visualized/data/dataset/form/index.vue | 14 ++++++++++++-- .../src/views/visualized/data/dataset/index.vue | 3 +++ 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/core/core-frontend/src/components/dashboard/DbToolbar.vue b/core/core-frontend/src/components/dashboard/DbToolbar.vue index 28802b75ae..d62a0393a9 100644 --- a/core/core-frontend/src/components/dashboard/DbToolbar.vue +++ b/core/core-frontend/src/components/dashboard/DbToolbar.vue @@ -287,7 +287,11 @@ const backHandler = (url: string) => { } wsCache.delete('DE-DV-CATCH-' + dvInfo.value.id) wsCache.set('db-info-id', dvInfo.value.id) - history.back() + if (!!history.state.back) { + history.back() + } else { + window.open(url, '_self') + } } const multiplexingCanvasOpen = () => { diff --git a/core/core-frontend/src/components/data-visualization/DvToolbar.vue b/core/core-frontend/src/components/data-visualization/DvToolbar.vue index 36be9d297c..0fa706ec73 100644 --- a/core/core-frontend/src/components/data-visualization/DvToolbar.vue +++ b/core/core-frontend/src/components/data-visualization/DvToolbar.vue @@ -236,7 +236,11 @@ const backHandler = (url: string) => { dvMainStore.canvasStateChange({ key: 'curPointArea', value: 'base' }) wsCache.delete('DE-DV-CATCH-' + dvInfo.value.id) wsCache.set('dv-info-id', dvInfo.value.id) - history.back() + if (!!history.state.back) { + history.back() + } else { + window.open(url, '_self') + } } const openHandler = ref(null) diff --git a/core/core-frontend/src/views/visualized/data/dataset/form/index.vue b/core/core-frontend/src/views/visualized/data/dataset/form/index.vue index 4e3aed5f72..ee547b7e35 100644 --- a/core/core-frontend/src/views/visualized/data/dataset/form/index.vue +++ b/core/core-frontend/src/views/visualized/data/dataset/form/index.vue @@ -38,7 +38,7 @@ import EmptyBackground from '@/components/empty-background/src/EmptyBackground.v import { Icon } from '@/components/icon-custom' import { useWindowSize } from '@vueuse/core' import CalcFieldEdit from './CalcFieldEdit.vue' -import { useRoute } from 'vue-router' +import { useRoute, useRouter } from 'vue-router' import UnionEdit from './UnionEdit.vue' import type { FormInstance } from 'element-plus-secondary' import type { BusiTreeNode } from '@/models/tree/TreeNode' @@ -78,6 +78,7 @@ const appStore = useAppStoreWithOut() const embeddedStore = useEmbedded() const { t } = useI18n() const route = useRoute() +const { push } = useRouter() const quotaTableHeight = ref(238) const creatDsFolder = ref() const editCalcField = ref(false) @@ -251,7 +252,16 @@ const pushDataset = () => { } const routeName = embeddedStore.getToken && appStore.getIsIframe ? 'dataset-embedded' : 'dataset' wsCache.set(`${routeName}-info-id`, nodeInfo.id) - history.back() + if (!!history.state.back) { + history.back() + } else { + push({ + name: routeName, + params: { + id: nodeInfo.id + } + }) + } } const backToMain = () => { diff --git a/core/core-frontend/src/views/visualized/data/dataset/index.vue b/core/core-frontend/src/views/visualized/data/dataset/index.vue index 811704349f..a64276ab61 100644 --- a/core/core-frontend/src/views/visualized/data/dataset/index.vue +++ b/core/core-frontend/src/views/visualized/data/dataset/index.vue @@ -146,6 +146,7 @@ const isIframe = computed(() => appStore.getIsIframe) const exportPermissions = computed(() => exportPermission(nodeInfo.weight, nodeInfo.ext)) const createPanel = path => { const baseUrl = `#/${path}?opt=create&id=${nodeInfo.id}` + wsCache.set('dataset-info-id', nodeInfo.id) window.open(baseUrl, openType) } @@ -343,6 +344,8 @@ onBeforeMount(() => { const paramId = wsCache.get('dataset-info-id') nodeInfo.id = (paramId as string) || (route.query.id as string) || '' wsCache.delete('dataset-info-id') + wsCache.delete('db-info-id') + wsCache.delete('dv-info-id') loadInit() getData() getLimit()