From 3b296b099943259d4713fa6223c0a01b7835403a Mon Sep 17 00:00:00 2001 From: jingna <1264204245@qq.com> Date: Mon, 30 Jun 2025 18:30:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E6=A8=A1=E6=9D=BF=E5=88=9B?= =?UTF-8?q?=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/dashboard/DbToolbar.vue | 7 +- .../src/views/dashboard/index.vue | 10 +- .../src/viewsnew/TemplateResource/index.vue | 38 +- .../TemplateResource/templateinfo.vue | 463 ++++++++++++++++++ .../application/module/Leftmenu/index.vue | 24 +- 5 files changed, 526 insertions(+), 16 deletions(-) create mode 100644 core/core-frontend/src/viewsnew/TemplateResource/templateinfo.vue diff --git a/core/core-frontend/src/components/dashboard/DbToolbar.vue b/core/core-frontend/src/components/dashboard/DbToolbar.vue index 07ac8c8..c0d2922 100644 --- a/core/core-frontend/src/components/dashboard/DbToolbar.vue +++ b/core/core-frontend/src/components/dashboard/DbToolbar.vue @@ -94,7 +94,7 @@ const { wsCache } = useCache('localStorage') const userStore = useUserStoreWithOut() const isIframe = computed(() => appStore.getIsIframe) const desktop = wsCache.get('app.desktop') -const emits = defineEmits(['recoverToPublished']) +const emits = defineEmits(['recoverToPublished','saveAsTemplate']) defineProps({ createType: { @@ -212,6 +212,7 @@ const publishStatusChange = status => { } const saveCanvasWithCheck = (withPublish = false, status?) => { + debugger if (userStore.getOid && wsCache.get('user.oid') && userStore.getOid !== wsCache.get('user.oid')) { ElMessageBox.confirm(t('components.from_other_organizations'), { confirmButtonType: 'primary', @@ -524,7 +525,7 @@ const initOpenHandler = newWindow => { } } function saveas(){ - + emits('saveAsTemplate') } @@ -661,7 +662,7 @@ function saveas(){ type="primary"> {{ t('data_set.edit') }} - 另存为 + {{ t('data_set.save') }} diff --git a/core/core-frontend/src/views/dashboard/index.vue b/core/core-frontend/src/views/dashboard/index.vue index d7a0aa7..b359627 100644 --- a/core/core-frontend/src/views/dashboard/index.vue +++ b/core/core-frontend/src/views/dashboard/index.vue @@ -34,6 +34,7 @@ import eventBus from '@/utils/eventBus' import { useI18n } from '@/hooks/web/useI18n' import DashboardHiddenComponent from '@/components/dashboard/DashboardHiddenComponent.vue' import { recoverToPublished } from '@/api/visualization/dataVisualization' +import { download2AppTemplate } from '@/utils/imgUtils' const embeddedStore = useEmbedded() const { wsCache } = useCache() const canvasCacheOutRef = ref(null) @@ -325,6 +326,12 @@ onUnmounted(() => { window.removeEventListener('storage', eventCheck) window.removeEventListener('message', winMsgHandle) }) +// 另存为 +function saveAsTemplate(){ + const vueDom = document.querySelector('.template-canvas-main'); + download2AppTemplate('template', vueDom, dvInfo.value.name, null, () => { + }) +}