diff --git a/core/core-frontend/src/components/dashboard/DbToolbar.vue b/core/core-frontend/src/components/dashboard/DbToolbar.vue index 9f44ec5270..1b362b4d50 100644 --- a/core/core-frontend/src/components/dashboard/DbToolbar.vue +++ b/core/core-frontend/src/components/dashboard/DbToolbar.vue @@ -138,7 +138,7 @@ const previewOuter = () => { return } canvasSave(() => { - const url = '#/preview?dvId=' + dvInfo.value.id + const url = '#/preview?ignoreParams=true&dvId=' + dvInfo.value.id const newWindow = window.open(url, '_blank') initOpenHandler(newWindow) }) diff --git a/core/core-frontend/src/views/data-visualization/PreviewCanvas.vue b/core/core-frontend/src/views/data-visualization/PreviewCanvas.vue index 52856b5142..d9680094d2 100644 --- a/core/core-frontend/src/views/data-visualization/PreviewCanvas.vue +++ b/core/core-frontend/src/views/data-visualization/PreviewCanvas.vue @@ -44,7 +44,7 @@ const props = defineProps({ ticketArgs: propTypes.string.def(null) }) -const loadCanvasDataAsync = async (dvId, dvType) => { +const loadCanvasDataAsync = async (dvId, dvType, ignoreParams = false) => { const jumpInfoParam = embeddedStore.jumpInfoParam || router.currentRoute.value.query.jumpInfoParam let jumpParam // 获取外部跳转参数 @@ -124,9 +124,11 @@ const loadCanvasDataAsync = async (dvId, dvType) => { if (jumpParam) { dvMainStore.addViewTrackFilter(jumpParam) } - state.initState = false - dvMainStore.addOuterParamsFilter(attachParam) - state.initState = true + if (!ignoreParams) { + state.initState = false + dvMainStore.addOuterParamsFilter(attachParam) + state.initState = true + } if (props.publicLinkStatus) { // 设置浏览器title为当前仪表板名称 document.title = dvInfo.name @@ -161,12 +163,14 @@ onMounted(async () => { }) await new Promise(r => (p = r)) const dvId = embeddedStore.dvId || router.currentRoute.value.query.dvId + // 检查外部参数 + const ignoreParams = router.currentRoute.value.query.ignoreParams === 'true' const { dvType, callBackFlag, taskId, showWatermark } = router.currentRoute.value.query if (!!taskId) { dvMainStore.setCanvasAttachInfo({ taskId, showWatermark }) } if (dvId) { - loadCanvasDataAsync(dvId, dvType) + await loadCanvasDataAsync(dvId, dvType, ignoreParams) return } dvMainStore.setEmbeddedCallBack(callBackFlag || 'no') diff --git a/core/core-frontend/src/views/data-visualization/PreviewHead.vue b/core/core-frontend/src/views/data-visualization/PreviewHead.vue index be8fd8c83c..3e39e6a03c 100644 --- a/core/core-frontend/src/views/data-visualization/PreviewHead.vue +++ b/core/core-frontend/src/views/data-visualization/PreviewHead.vue @@ -35,7 +35,7 @@ const preview = () => { baseUrl = baseUrl.replace('oidcbi/', '') baseUrl = baseUrl.replace('casbi/', '') } - const url = baseUrl + '#/preview?dvId=' + dvInfo.value.id + const url = baseUrl + '#/preview?&ignoreParams=true&dvId=' + dvInfo.value.id const newWindow = window.open(url, '_blank') initOpenHandler(newWindow) }