mirror of
https://github.com/dataease/dataease.git
synced 2026-05-14 21:12:33 +08:00
fix(数据大屏): 修复数据大屏过滤组件失效问题 (#17453)
This commit is contained in:
@@ -36,7 +36,15 @@ export function imgUrlTrans(url) {
|
||||
}
|
||||
}
|
||||
|
||||
export function download2AppTemplate(downloadType, canvasDom, name, attachParams, callBack?) {
|
||||
export function download2AppTemplate(
|
||||
downloadType,
|
||||
canvasDom,
|
||||
name,
|
||||
attachParams,
|
||||
componentDataSource = componentData.value,
|
||||
canvasStyleDataSource = canvasStyleData.value,
|
||||
callBack?
|
||||
) {
|
||||
try {
|
||||
findStaticSource(function (staticResource) {
|
||||
html2canvas(canvasDom).then(canvas => {
|
||||
@@ -53,8 +61,8 @@ export function download2AppTemplate(downloadType, canvasDom, name, attachParams
|
||||
dvType: dvInfo.value.type,
|
||||
nodeType: downloadType,
|
||||
version: 3,
|
||||
canvasStyleData: JSON.stringify(canvasStyleData.value),
|
||||
componentData: JSON.stringify(componentData.value),
|
||||
canvasStyleData: JSON.stringify(canvasStyleDataSource),
|
||||
componentData: JSON.stringify(componentDataSource),
|
||||
dynamicData: JSON.stringify(canvasViewDataTemplate),
|
||||
staticResource: JSON.stringify(staticResource || {}),
|
||||
appData: attachParams ? JSON.stringify(attachParams) : null
|
||||
|
||||
@@ -191,7 +191,7 @@ const fileDownload = (downloadType, attachParams) => {
|
||||
downloadStatus.value = true
|
||||
nextTick(() => {
|
||||
const vueDom = previewCanvasContainer.value.querySelector('.canvas-container')
|
||||
download2AppTemplate(downloadType, vueDom, state.dvInfo.name, attachParams, () => {
|
||||
download2AppTemplate(downloadType, vueDom, state.dvInfo.name, attachParams, null, null, () => {
|
||||
downloadStatus.value = false
|
||||
const param = {
|
||||
id: state.dvInfo.id,
|
||||
|
||||
@@ -103,8 +103,8 @@ const loadCanvasData = (dvId, weight?, ext?) => {
|
||||
dataInitState.value = true
|
||||
// 修复铺满全屏模版导出错位问题
|
||||
if (props.showPosition !== 'multiplexing') {
|
||||
dvMainStore.setCanvasStyle(deepCopy(canvasStyleResult))
|
||||
dvMainStore.setComponentData(deepCopy(canvasDataResult))
|
||||
state.canvasDataPreviewSource = deepCopy(canvasDataResult)
|
||||
state.canvasStylePreviewSource = deepCopy(canvasStyleResult)
|
||||
}
|
||||
|
||||
if (props.showPosition === 'preview') {
|
||||
@@ -139,14 +139,22 @@ const fileDownload = (downloadType, attachParams) => {
|
||||
downloadStatus.value = true
|
||||
nextTick(() => {
|
||||
const vueDom = previewCanvasContainer.value.querySelector('.canvas-container')
|
||||
download2AppTemplate(downloadType, vueDom, state.dvInfo.name, attachParams, () => {
|
||||
downloadStatus.value = false
|
||||
const param = {
|
||||
id: state.dvInfo.id,
|
||||
type: state.dvInfo.type === 'dashboard' ? 'panel' : 'screen'
|
||||
download2AppTemplate(
|
||||
downloadType,
|
||||
vueDom,
|
||||
state.dvInfo.name,
|
||||
attachParams,
|
||||
state.canvasDataPreviewSource,
|
||||
state.canvasStylePreviewSource,
|
||||
() => {
|
||||
downloadStatus.value = false
|
||||
const param = {
|
||||
id: state.dvInfo.id,
|
||||
type: state.dvInfo.type === 'dashboard' ? 'panel' : 'screen'
|
||||
}
|
||||
downloadType === 'app' ? exportLogApp(param) : exportLogTemplate(param)
|
||||
}
|
||||
downloadType === 'app' ? exportLogApp(param) : exportLogTemplate(param)
|
||||
})
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -201,6 +209,8 @@ const dataVKeepSize = computed(() => {
|
||||
})
|
||||
|
||||
const state = reactive({
|
||||
canvasDataPreviewSource: null,
|
||||
canvasStylePreviewSource: null,
|
||||
canvasDataPreview: null,
|
||||
canvasStylePreview: null,
|
||||
canvasViewInfoPreview: null,
|
||||
|
||||
Reference in New Issue
Block a user