mirror of
https://github.com/dataease/dataease.git
synced 2026-05-15 05:22:13 +08:00
fix(数据大屏): 修复数据大屏指标卡事件跳转相关问题 (#17314)
This commit is contained in:
@@ -381,7 +381,7 @@ const onWrapperClick = e => {
|
||||
}
|
||||
} else {
|
||||
initOpenHandler(window.open(url, jumpType))
|
||||
if (isMobile()) {
|
||||
if (isDashboard() && isMobile()) {
|
||||
window.location.reload()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { dvMainStoreWithOut } from '@/store/modules/data-visualization/dvMain'
|
||||
import { onMounted, onUnmounted, reactive } from 'vue'
|
||||
import { nextTick, onMounted, onUnmounted, reactive, ref } from 'vue'
|
||||
import DePreview from '@/components/data-visualization/canvas/DePreview.vue'
|
||||
import router from '@/router/mobile'
|
||||
import { initCanvasDataMobile, initCanvasData } from '@/utils/canvasUtils'
|
||||
@@ -16,10 +16,15 @@ import { setTitle } from '@/utils/utils'
|
||||
import EmptyBackground from '../../components/empty-background/src/EmptyBackground.vue'
|
||||
import { filterEnumMapSync } from '@/utils/componentUtils'
|
||||
import CanvasOptBar from '@/components/visualization/CanvasOptBar.vue'
|
||||
import { useEmitt } from '@/hooks/web/useEmitt'
|
||||
import { downloadCanvas2 } from '@/utils/imgUtils'
|
||||
|
||||
const dvMainStore = dvMainStoreWithOut()
|
||||
const { t } = useI18n()
|
||||
const embeddedStore = useEmbedded()
|
||||
|
||||
const previewCanvasContainer = ref(null)
|
||||
const downloadStatus = ref(false)
|
||||
const state = reactive({
|
||||
canvasDataPreview: null,
|
||||
canvasStylePreview: null,
|
||||
@@ -42,6 +47,16 @@ const props = defineProps({
|
||||
ticketArgs: propTypes.string.def(null)
|
||||
})
|
||||
|
||||
const downloadH2 = type => {
|
||||
downloadStatus.value = true
|
||||
nextTick(() => {
|
||||
const vueDom = previewCanvasContainer.value.querySelector('.canvas-container')
|
||||
downloadCanvas2(type, vueDom, state.dvInfo.name, () => {
|
||||
downloadStatus.value = false
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
const loadCanvasDataAsync = async (dvId, dvType) => {
|
||||
const jumpInfoParam = embeddedStore.jumpInfoParam || router.currentRoute.value.query.jumpInfoParam
|
||||
let jumpParam
|
||||
@@ -173,13 +188,20 @@ onUnmounted(() => {
|
||||
window.removeEventListener('popstate', handlePopState)
|
||||
})
|
||||
|
||||
useEmitt({
|
||||
name: 'canvasDownload',
|
||||
callback: function (type = 'img') {
|
||||
downloadH2(type)
|
||||
}
|
||||
})
|
||||
|
||||
defineExpose({
|
||||
loadCanvasDataAsync
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="content" v-if="state.initState">
|
||||
<div class="content" v-if="state.initState" ref="previewCanvasContainer">
|
||||
<canvas-opt-bar
|
||||
canvas-id="canvas-main"
|
||||
:canvas-style-data="state.canvasStylePreview || {}"
|
||||
|
||||
Reference in New Issue
Block a user