mirror of
https://github.com/dataease/dataease.git
synced 2026-05-15 13:32:18 +08:00
refactor: 修复跳转目标大屏被取消发布-跳转弹框仍展示清除所有联动操作问题
This commit is contained in:
@@ -32,8 +32,14 @@ import { deepCopy, nameTrim } from '@/utils/utils'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus-secondary'
|
||||
import { guid } from '@/views/visualized/data/dataset/form/util'
|
||||
const dvMainStore = dvMainStoreWithOut()
|
||||
const { inMobile, dvInfo, canvasStyleData, componentData, canvasViewInfo, appData } =
|
||||
storeToRefs(dvMainStore)
|
||||
const {
|
||||
inMobile,
|
||||
dvInfo: curDvInfo,
|
||||
canvasStyleData,
|
||||
componentData,
|
||||
canvasViewInfo,
|
||||
appData
|
||||
} = storeToRefs(dvMainStore)
|
||||
const snapshotStore = snapshotStoreWithOut()
|
||||
import { useI18n } from '@/hooks/web/useI18n'
|
||||
import { useAppearanceStoreWithOut } from '@/store/modules/appearance'
|
||||
@@ -534,12 +540,12 @@ export function initCanvasDataMobile(dvId, params, callBack) {
|
||||
|
||||
export function checkCanvasChangePre(callBack) {
|
||||
// do pre
|
||||
const isUpdate = dvInfo.value.id && dvInfo.value.optType !== 'copy'
|
||||
const isUpdate = curDvInfo.value.id && curDvInfo.value.optType !== 'copy'
|
||||
// 桌面版为单人模式不需要检查
|
||||
if (isUpdate && !isDesktop()) {
|
||||
const params = { ...dvInfo.value, watermarkInfo: null }
|
||||
const params = { ...curDvInfo.value, watermarkInfo: null }
|
||||
const tips =
|
||||
(dvInfo.value.type === 'dashboard'
|
||||
(curDvInfo.value.type === 'dashboard'
|
||||
? t('work_branch.dashboard')
|
||||
: t('work_branch.big_data_screen')) + t('visualization.save_conflict_tips')
|
||||
checkCanvasChange(params).then(rsp => {
|
||||
@@ -585,7 +591,7 @@ export async function canvasSave(callBack) {
|
||||
componentData: JSON.stringify(componentDataToSave),
|
||||
canvasViewInfo: canvasViewInfo.value,
|
||||
appData: appData.value,
|
||||
...dvInfo.value,
|
||||
...curDvInfo.value,
|
||||
checkVersion: wsCache.get('x-de-execute-version'),
|
||||
contentId: newContentId,
|
||||
watermarkInfo: null
|
||||
@@ -604,15 +610,16 @@ export async function canvasSave(callBack) {
|
||||
ElMessage.error('数据集分组名称已存在')
|
||||
return
|
||||
}
|
||||
nameTrim(dvInfo.value, t('components.length_1_64_characters'))
|
||||
const method = dvInfo.value.id && dvInfo.value.optType !== 'copy' ? updateCanvas : saveCanvas
|
||||
nameTrim(curDvInfo.value, t('components.length_1_64_characters'))
|
||||
const method =
|
||||
curDvInfo.value.id && curDvInfo.value.optType !== 'copy' ? updateCanvas : saveCanvas
|
||||
if (method === updateCanvas) {
|
||||
await dvNameCheck({
|
||||
opt: 'edit',
|
||||
nodeType: 'leaf',
|
||||
name: dvInfo.value.name,
|
||||
type: dvInfo.value.type,
|
||||
id: dvInfo.value.id
|
||||
name: curDvInfo.value.name,
|
||||
type: curDvInfo.value.type,
|
||||
id: curDvInfo.value.id
|
||||
})
|
||||
}
|
||||
method(canvasInfo).then(res => {
|
||||
@@ -923,7 +930,7 @@ export async function decompressionPre(params, callBack) {
|
||||
}
|
||||
|
||||
export function isDashboard() {
|
||||
return dvInfo.value.type === 'dashboard'
|
||||
return curDvInfo.value.type === 'dashboard'
|
||||
}
|
||||
|
||||
export function trackBarStyleCheck(element, trackbarStyle, _scale, trackMenuNumber) {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { computed, nextTick, onMounted, reactive, ref, watch } from 'vue'
|
||||
import DePreview from '@/components/data-visualization/canvas/DePreview.vue'
|
||||
import router from '@/router'
|
||||
import { useEmitt } from '@/hooks/web/useEmitt'
|
||||
import { initCanvasData, isMainCanvas, onInitReady } from '@/utils/canvasUtils'
|
||||
import { initCanvasData, onInitReady } from '@/utils/canvasUtils'
|
||||
import { queryTargetVisualizationJumpInfo } from '@/api/visualization/linkJump'
|
||||
import { Base64 } from 'js-base64'
|
||||
import { getOuterParamsInfo } from '@/api/visualization/outerParams'
|
||||
@@ -125,22 +125,25 @@ const loadCanvasDataAsync = async (dvId, dvType, ignoreParams = false) => {
|
||||
canvasViewInfoPreview,
|
||||
curPreviewGap
|
||||
}) {
|
||||
if (jumpParam || (!ignoreParams && attachParam)) {
|
||||
await filterEnumMapSync(canvasDataResult)
|
||||
}
|
||||
if (jumpParam) {
|
||||
dvMainStore.addViewTrackFilter(jumpParam)
|
||||
}
|
||||
state.canvasDataPreview = canvasDataResult
|
||||
state.canvasStylePreview = canvasStyleResult
|
||||
state.canvasViewInfoPreview = canvasViewInfoPreview
|
||||
state.dvInfo = dvInfo
|
||||
state.curPreviewGap = curPreviewGap
|
||||
if (!ignoreParams) {
|
||||
state.initState = false
|
||||
dvMainStore.addOuterParamsFilter(attachParam)
|
||||
state.initState = true
|
||||
if (state.dvInfo.status) {
|
||||
if (jumpParam || (!ignoreParams && attachParam)) {
|
||||
await filterEnumMapSync(canvasDataResult)
|
||||
}
|
||||
if (jumpParam) {
|
||||
dvMainStore.addViewTrackFilter(jumpParam)
|
||||
}
|
||||
if (!ignoreParams) {
|
||||
state.initState = false
|
||||
dvMainStore.addOuterParamsFilter(attachParam)
|
||||
state.initState = true
|
||||
}
|
||||
}
|
||||
|
||||
if (props.publicLinkStatus) {
|
||||
// 设置浏览器title为当前仪表板名称
|
||||
document.title = dvInfo.name
|
||||
|
||||
@@ -109,22 +109,23 @@ const loadCanvasDataAsync = async (dvId, dvType) => {
|
||||
await router.push('/DashboardEmpty')
|
||||
return
|
||||
}
|
||||
if (jumpParam || attachParam) {
|
||||
await filterEnumMapSync(canvasDataResult)
|
||||
}
|
||||
if (jumpParam) {
|
||||
dvMainStore.addViewTrackFilter(jumpParam)
|
||||
}
|
||||
state.dvInfo = dvInfo
|
||||
state.canvasDataPreview = canvasDataResult
|
||||
state.canvasStylePreview = canvasStyleResult
|
||||
state.canvasViewInfoPreview = canvasViewInfoPreview
|
||||
state.dvInfo = dvInfo
|
||||
state.curPreviewGap = curPreviewGap
|
||||
state.initState = false
|
||||
|
||||
dvMainStore.addOuterParamsFilter(attachParam)
|
||||
state.initState = true
|
||||
if (state.dvInfo.status) {
|
||||
if (jumpParam || attachParam) {
|
||||
await filterEnumMapSync(canvasDataResult)
|
||||
}
|
||||
if (jumpParam) {
|
||||
dvMainStore.addViewTrackFilter(jumpParam)
|
||||
}
|
||||
|
||||
state.initState = false
|
||||
dvMainStore.addOuterParamsFilter(attachParam)
|
||||
state.initState = true
|
||||
}
|
||||
if (props.publicLinkStatus) {
|
||||
// 设置浏览器title为当前仪表板名称
|
||||
document.title = dvInfo.name
|
||||
|
||||
Reference in New Issue
Block a user