From 5e5c38853128e855dd543221e3e1cfaec2f1fa52 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Tue, 14 Nov 2023 23:38:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=A8=A1=E7=89=88=E9=83=A8=E5=88=86?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=BA=94=E7=94=A8=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/DataVisualizationServer.java | 2 +- core/core-frontend/src/api/staticResource.ts | 4 +- .../src/assets/svg/dv-up-arrow.svg | 2 +- core/core-frontend/src/locales/zh-CN.ts | 2 +- core/core-frontend/src/utils/imgUtils.ts | 2 +- .../editor/common/ChartTemplateInfo.vue | 37 ++++++++++++------- .../views/chart/components/editor/index.vue | 9 ++++- .../src/views/common/DeResourceTree.vue | 2 +- .../views/dashboard/DashboardPreviewShow.vue | 1 + .../src/views/dashboard/index.vue | 5 +++ .../views/data-visualization/PreviewShow.vue | 19 +++++++++- .../src/views/data-visualization/index.vue | 13 ++++++- .../src/views/template-market/index.vue | 33 ++++++++++++++++- .../template/component/DeTemplateList.vue | 13 ++++--- .../src/views/template/index.vue | 21 ++++++----- .../api/template/TemplateManageApi.java | 2 +- .../api/visualization/StaticResourceApi.java | 6 +-- 17 files changed, 126 insertions(+), 47 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java index 323b2b1841..b64f6410a0 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java @@ -241,7 +241,7 @@ public class DataVisualizationServer implements DataVisualizationApi { dvType = visualizationTemplate.getDvType(); } else if (DataVisualizationConstants.NEW_PANEL_FROM.NEW_OUTER_TEMPLATE.equals(newFrom)) { templateStyle = request.getCanvasStyleData(); - templateData = request.getCanvasStyleData(); + templateData = request.getComponentData(); dynamicData = request.getDynamicData(); staticResource = request.getStaticResource(); name = request.getName(); diff --git a/core/core-frontend/src/api/staticResource.ts b/core/core-frontend/src/api/staticResource.ts index bbb2e9ec6e..94d5bd56a8 100644 --- a/core/core-frontend/src/api/staticResource.ts +++ b/core/core-frontend/src/api/staticResource.ts @@ -40,8 +40,6 @@ export function uploadFileResult(file, callback) { export function findResourceAsBase64(params) { return request.post({ url: '/staticResource/findResourceAsBase64', - method: 'post', - data: params, - loading: false + data: params }) } diff --git a/core/core-frontend/src/assets/svg/dv-up-arrow.svg b/core/core-frontend/src/assets/svg/dv-up-arrow.svg index c589c33e26..f6f4348f4b 100644 --- a/core/core-frontend/src/assets/svg/dv-up-arrow.svg +++ b/core/core-frontend/src/assets/svg/dv-up-arrow.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/core/core-frontend/src/locales/zh-CN.ts b/core/core-frontend/src/locales/zh-CN.ts index a78c249967..f9e2b9c626 100644 --- a/core/core-frontend/src/locales/zh-CN.ts +++ b/core/core-frontend/src/locales/zh-CN.ts @@ -1801,7 +1801,7 @@ export default { apply: '应用', apply_this_template: '应用此模板', market_network_tips: - '查看模板市场模板需要服务器与模板市场(https://dataease.io/templates)连通,请检查网络...', + '查看模板市场模板需要服务器与模板市场(https://dataease.io/templates2)连通,请检查网络...', enter_name_tips: '请输入仪表板名称', name: '名称', apply_template: '应用模板', diff --git a/core/core-frontend/src/utils/imgUtils.ts b/core/core-frontend/src/utils/imgUtils.ts index aece25c8ca..a7f9b6c1ac 100644 --- a/core/core-frontend/src/utils/imgUtils.ts +++ b/core/core-frontend/src/utils/imgUtils.ts @@ -134,7 +134,7 @@ export function findStaticSource(callBack) { typeof item.propValue['url'] === 'string' && item.propValue['url'].indexOf('static-resource') > -1 ) { - staticResource.push(item.propValue) + staticResource.push(item.propValue['url']) } }) if (staticResource.length > 0) { diff --git a/core/core-frontend/src/views/chart/components/editor/common/ChartTemplateInfo.vue b/core/core-frontend/src/views/chart/components/editor/common/ChartTemplateInfo.vue index e6de16ab0a..c56155fd3c 100644 --- a/core/core-frontend/src/views/chart/components/editor/common/ChartTemplateInfo.vue +++ b/core/core-frontend/src/views/chart/components/editor/common/ChartTemplateInfo.vue @@ -1,30 +1,39 @@ diff --git a/core/core-frontend/src/views/chart/components/editor/index.vue b/core/core-frontend/src/views/chart/components/editor/index.vue index 693f9c8c09..2c3721957d 100644 --- a/core/core-frontend/src/views/chart/components/editor/index.vue +++ b/core/core-frontend/src/views/chart/components/editor/index.vue @@ -50,6 +50,7 @@ import DatasetSelect from '@/views/chart/components/editor/dataset-select/Datase import { useDraggable } from '@vueuse/core' import { set, concat, keys } from 'lodash-es' import { Field, getFieldByDQ } from '@/api/chart' +import ChartTemplateInfo from '@/views/chart/components/editor/common/ChartTemplateInfo.vue' const snapshotStore = snapshotStoreWithOut() const dvMainStore = dvMainStoreWithOut() @@ -89,6 +90,11 @@ const route = useRoute() const toolTip = computed(() => { return props.themes === 'dark' ? 'ndark' : 'dark' }) + +const templateStatusShow = computed(() => { + return view.value['dataFrom'] === 'template' +}) + const { view } = toRefs(props) let cacheId = '' @@ -226,6 +232,7 @@ const treeProps = { } const recordSnapshotInfo = type => { + view.value['dataFrom'] = 'calc' snapshotStore.recordSnapshotCache(type, view.value.id) } @@ -1982,7 +1989,7 @@ const onRefreshChange = val => { - + { wsCache.set(`de-template-data`, JSON.stringify(templateData)) const baseUrl = curCanvasType.value === 'dataV' - ? '#/dvCanvas?opt=create' + ? '#/dvCanvas?opt=create&createType=template' : '#/dashboard?opt=create&createType=template' if (state.templateCreatePid) { window.open(baseUrl + `&pid=${state.templateCreatePid}`, '_blank') diff --git a/core/core-frontend/src/views/dashboard/DashboardPreviewShow.vue b/core/core-frontend/src/views/dashboard/DashboardPreviewShow.vue index c09810d72f..4d535a6ad5 100644 --- a/core/core-frontend/src/views/dashboard/DashboardPreviewShow.vue +++ b/core/core-frontend/src/views/dashboard/DashboardPreviewShow.vue @@ -93,6 +93,7 @@ const downloadH2 = type => { } const downloadAsAppTemplate = downloadType => { + downloadStatus.value = true nextTick(() => { const vueDom = previewCanvasContainer.value.querySelector('.canvas-container') download2AppTemplate(downloadType, vueDom, state.dvInfo.name, () => { diff --git a/core/core-frontend/src/views/dashboard/index.vue b/core/core-frontend/src/views/dashboard/index.vue index 82eefd288a..05f3c0f4cd 100644 --- a/core/core-frontend/src/views/dashboard/index.vue +++ b/core/core-frontend/src/views/dashboard/index.vue @@ -15,6 +15,7 @@ import ChartStyleBatchSet from '@/views/chart/components/editor/editor-style/Cha import DeCanvas from '@/views/canvas/DeCanvas.vue' import { check, compareStorage } from '@/utils/CrossPermission' import { useCache } from '@/hooks/web/useCache' +import { snapshotStoreWithOut } from '@/store/modules/data-visualization/snapshot' const { wsCache } = useCache() const eventCheck = e => { if (e.key === 'panel-weight' && !compareStorage(e.oldValue, e.newValue)) { @@ -25,6 +26,7 @@ const eventCheck = e => { } } const dvMainStore = dvMainStoreWithOut() +const snapshotStore = snapshotStoreWithOut() const { componentData, curComponent, canvasStyleData, canvasViewInfo, editMode, batchOptStatus } = storeToRefs(dvMainStore) @@ -72,6 +74,9 @@ onMounted(() => { dvMainStore.setComponentData(JSON.parse(deTemplateData['componentData'])) dvMainStore.setCanvasStyle(JSON.parse(deTemplateData['canvasStyleData'])) dvMainStore.setCanvasViewInfo(deTemplateData['canvasViewInfo']) + setTimeout(() => { + snapshotStore.recordSnapshotCache() + }, 1500) } dataInitState.value = true // preOpt diff --git a/core/core-frontend/src/views/data-visualization/PreviewShow.vue b/core/core-frontend/src/views/data-visualization/PreviewShow.vue index b07d5d02ec..121aecc8a6 100644 --- a/core/core-frontend/src/views/data-visualization/PreviewShow.vue +++ b/core/core-frontend/src/views/data-visualization/PreviewShow.vue @@ -11,7 +11,7 @@ import { useRequestStoreWithOut } from '@/store/modules/request' import { usePermissionStoreWithOut } from '@/store/modules/permission' import { useMoveLine } from '@/hooks/web/useMoveLine' import { Icon } from '@/components/icon-custom' -import { downloadCanvas } from '@/utils/imgUtils' +import { download2AppTemplate, downloadCanvas } from '@/utils/imgUtils' const dvMainStore = dvMainStoreWithOut() const { dvInfo } = storeToRefs(dvMainStore) @@ -83,6 +83,16 @@ const download = type => { }, 200) } +const downloadAsAppTemplate = downloadType => { + downloadStatus.value = true + nextTick(() => { + const vueDom = previewCanvasContainer.value.querySelector('.canvas-container') + download2AppTemplate(downloadType, vueDom, state.dvInfo.name, () => { + downloadStatus.value = false + }) + }) +} + const slideOpenChange = () => { slideShow.value = !slideShow.value } @@ -134,7 +144,12 @@ onBeforeMount(() => {