From 45e5ae63bfa379c3d91d197c299fd03221548d14 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Fri, 25 Nov 2022 15:01:22 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=85=AC=E5=85=B1=E9=93=BE=E6=8E=A5):=20?= =?UTF-8?q?=E5=AF=BC=E5=87=BApdf=E5=87=BA=E7=8E=B0loading?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canvas/components/editor/Preview.vue | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/frontend/src/components/canvas/components/editor/Preview.vue b/frontend/src/components/canvas/components/editor/Preview.vue index 729bffbb40..9e41f1a0b0 100644 --- a/frontend/src/components/canvas/components/editor/Preview.vue +++ b/frontend/src/components/canvas/components/editor/Preview.vue @@ -623,17 +623,28 @@ export default { document.getElementById('preview-canvas-main').style.height = (scrollHeight + 'px') setTimeout(() => { - html2canvas(document.getElementById(domId)).then(canvas => { - const snapshot = canvas.toDataURL('image/jpeg', 1) // 是图片质量 - this.dataLoading = false - this.$emit('change-load-status', false) - this.exporting = false - this.backScreenShot = false - if (snapshot !== '') { - this.snapshotInfo = snapshot - this.pdfExportShow = true + const timer = setInterval(() => { + const containerDom = document.getElementById(domId) + const masks = containerDom.getElementsByClassName('el-loading-mask') + const mapLoadingArr = containerDom.getElementsByClassName('.symbol-map-loading') + if (masks?.length) { + const hideMasks = [...masks].filter(item => item.style?.display === 'none') + if (masks.length === hideMasks.length && !mapLoadingArr?.length) { + html2canvas(containerDom).then(canvas => { + const snapshot = canvas.toDataURL('image/jpeg', 1) // 是图片质量 + this.dataLoading = false + this.$emit('change-load-status', false) + this.exporting = false + this.backScreenShot = false + if (snapshot !== '') { + this.snapshotInfo = snapshot + this.pdfExportShow = true + } + }) + clearInterval(timer) + } } - }) + }, 1000) }, 2500) }, 500) },