From 5bbd4a41e79ce6f2551689226c98f9a2f6d1abda Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Tue, 19 Nov 2024 17:30:38 +0800 Subject: [PATCH] =?UTF-8?q?feat(=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?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/dashboard/DbToolbar.vue | 3 ++- .../src/components/data-visualization/DvToolbar.vue | 3 ++- .../src/views/common/DeResourceTree.vue | 4 +++- .../views/visualized/data/dataset/form/index.vue | 13 +++++-------- .../src/views/visualized/data/dataset/index.vue | 4 +++- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/core/core-frontend/src/components/dashboard/DbToolbar.vue b/core/core-frontend/src/components/dashboard/DbToolbar.vue index e4628809c3..28802b75ae 100644 --- a/core/core-frontend/src/components/dashboard/DbToolbar.vue +++ b/core/core-frontend/src/components/dashboard/DbToolbar.vue @@ -286,7 +286,8 @@ const backHandler = (url: string) => { return } wsCache.delete('DE-DV-CATCH-' + dvInfo.value.id) - window.open(url, '_self') + wsCache.set('db-info-id', dvInfo.value.id) + history.back() } 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 500f12511f..36be9d297c 100644 --- a/core/core-frontend/src/components/data-visualization/DvToolbar.vue +++ b/core/core-frontend/src/components/data-visualization/DvToolbar.vue @@ -235,7 +235,8 @@ const backHandler = (url: string) => { } dvMainStore.canvasStateChange({ key: 'curPointArea', value: 'base' }) wsCache.delete('DE-DV-CATCH-' + dvInfo.value.id) - window.open(url, '_self') + wsCache.set('dv-info-id', dvInfo.value.id) + history.back() } const openHandler = ref(null) diff --git a/core/core-frontend/src/views/common/DeResourceTree.vue b/core/core-frontend/src/views/common/DeResourceTree.vue index 048841b7e0..4f499c44aa 100644 --- a/core/core-frontend/src/views/common/DeResourceTree.vue +++ b/core/core-frontend/src/views/common/DeResourceTree.vue @@ -186,7 +186,9 @@ const menuList = computed(() => { return list }) -const dvId = embeddedStore.dvId || router.currentRoute.value.query.dvId +const infoId = wsCache.get(curCanvasType.value === 'dashboard' ? 'db-info-id' : 'dv-info-id') +const dvId = embeddedStore.dvId || infoId +wsCache.delete(curCanvasType.value === 'dashboard' ? 'db-info-id' : 'dv-info-id') if (dvId && showPosition.value === 'preview') { selectedNodeKey.value = dvId returnMounted.value = true 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 3a6e81f1a5..4e3aed5f72 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 @@ -27,6 +27,7 @@ import { onMounted, onBeforeUnmount } from 'vue' +import { useCache } from '@/hooks/web/useCache' import { useI18n } from '@/hooks/web/useI18n' import { useEmitt } from '@/hooks/web/useEmitt' import { ElIcon, ElMessageBox, ElMessage } from 'element-plus-secondary' @@ -37,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, useRouter } from 'vue-router' +import { useRoute } from 'vue-router' import UnionEdit from './UnionEdit.vue' import type { FormInstance } from 'element-plus-secondary' import type { BusiTreeNode } from '@/models/tree/TreeNode' @@ -72,11 +73,11 @@ interface Field { originName: string deType: number } +const { wsCache } = useCache() 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) @@ -249,12 +250,8 @@ const pushDataset = () => { return } const routeName = embeddedStore.getToken && appStore.getIsIframe ? 'dataset-embedded' : 'dataset' - push({ - name: routeName, - params: { - id: nodeInfo.id - } - }) + wsCache.set(`${routeName}-info-id`, nodeInfo.id) + history.back() } 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 e7f40c8182..811704349f 100644 --- a/core/core-frontend/src/views/visualized/data/dataset/index.vue +++ b/core/core-frontend/src/views/visualized/data/dataset/index.vue @@ -340,7 +340,9 @@ const dfsDatasetTree = (ds, id) => { } onBeforeMount(() => { - nodeInfo.id = (route.params.id as string) || (route.query.id as string) || '' + const paramId = wsCache.get('dataset-info-id') + nodeInfo.id = (paramId as string) || (route.query.id as string) || '' + wsCache.delete('dataset-info-id') loadInit() getData() getLimit()