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, () => { + }) +}