From 4a28c26ff46f5bab31431f366c600f892d4ba50e Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Thu, 21 Aug 2025 10:35:40 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=E6=9B=B4=E6=96=B0xpack=E5=BC=95?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- de-xpack | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/de-xpack b/de-xpack index 1d51241ff5..d1ac519d9c 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit 1d51241ff59cf96a71f374d9b4d34d62094729bf +Subproject commit d1ac519d9c1fab7737faee79151a9a989a692503 From 1073a395c6e871bb0d2b1d98040045b1f3df6b80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=98=89=E8=B1=AA?= <42510293+ziyujiahao@users.noreply.github.com> Date: Thu, 21 Aug 2025 10:54:17 +0800 Subject: [PATCH 2/4] =?UTF-8?q?refactor(=E6=95=B0=E6=8D=AE=E5=A4=A7?= =?UTF-8?q?=E5=B1=8F=E3=80=81=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E5=8F=91=E5=B8=83=E6=97=B6=EF=BC=8C=E6=B8=85=E7=90=86?= =?UTF-8?q?=E6=97=A0=E7=94=A8=E6=95=B0=E6=8D=AE=20#16749=20(#16781)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/ext/mapper/ExtDataVisualizationMapper.java | 2 ++ .../server/DataVisualizationServer.java | 2 ++ .../mybatis/ExtDataVisualizationMapper.xml | 14 ++++++++++++++ .../src/components/dashboard/DbToolbar.vue | 9 ++++++--- .../components/data-visualization/DvToolbar.vue | 9 ++++++--- 5 files changed, 30 insertions(+), 6 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/visualization/dao/ext/mapper/ExtDataVisualizationMapper.java b/core/core-backend/src/main/java/io/dataease/visualization/dao/ext/mapper/ExtDataVisualizationMapper.java index fec2813c9a..5e38d18da0 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/dao/ext/mapper/ExtDataVisualizationMapper.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/dao/ext/mapper/ExtDataVisualizationMapper.java @@ -57,6 +57,8 @@ public interface ExtDataVisualizationMapper { void deleteViewsBatch(@Param("ids") Set ids,@Param("resourceTable") String resourceTable); + void deleteUselessViewsBatchSnapshot(@Param("ids") List ids,@Param("dvId") Long dvId); + UserFormVO queryInnerUserInfo(@Param("id") Long id); void snapshotDataV(@Param("dvId") Long dvId); 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 286102f013..2bd2e162ee 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 @@ -594,6 +594,8 @@ public class DataVisualizationServer implements DataVisualizationApi { visualizationInfo.setStatus(request.getStatus()); coreVisualizationManage.innerEdit(visualizationInfo); if (CommonConstants.DV_STATUS.PUBLISHED == request.getStatus()) { + List viewIds = this.getEnabledViewIds(dvId,CommonConstants.RESOURCE_TABLE.SNAPSHOT); + extDataVisualizationMapper.deleteUselessViewsBatchSnapshot(viewIds,dvId); coreVisualizationManage.removeDvCore(dvId); coreVisualizationManage.dvRestore(dvId); chartViewManege.publishThreshold(dvId, request.getActiveViewIds()); diff --git a/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml b/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml index f6f4d93121..56d36c3d0c 100644 --- a/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml +++ b/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml @@ -498,6 +498,20 @@ + + DELETE + FROM + snapshot_core_chart_view ccv + WHERE + ccv.scene_id = #{dvId} + + and ccv.id not in + + #{id} + + + + diff --git a/core/core-frontend/src/components/dashboard/DbToolbar.vue b/core/core-frontend/src/components/dashboard/DbToolbar.vue index c3a7d54639..e8c2af2b39 100644 --- a/core/core-frontend/src/components/dashboard/DbToolbar.vue +++ b/core/core-frontend/src/components/dashboard/DbToolbar.vue @@ -203,9 +203,12 @@ const publishStatusChange = status => { type: 'dashboard' }).then(() => { dvMainStore.updateDvInfoCall(status) - status - ? ElMessage.success(t('visualization.published_success')) - : ElMessage.success(t('visualization.cancel_publish_tips')) + if (status) { + ElMessage.success(t('visualization.published_success')) + snapshotStore.initSnapShot() + } else { + ElMessage.success(t('visualization.cancel_publish_tips')) + } }) } diff --git a/core/core-frontend/src/components/data-visualization/DvToolbar.vue b/core/core-frontend/src/components/data-visualization/DvToolbar.vue index 79d5b7de8c..d8b77976d4 100644 --- a/core/core-frontend/src/components/data-visualization/DvToolbar.vue +++ b/core/core-frontend/src/components/data-visualization/DvToolbar.vue @@ -331,9 +331,12 @@ const publishStatusChange = status => { type: 'dataV' }).then(() => { dvMainStore.updateDvInfoCall(status) - status - ? ElMessage.success(t('visualization.published_success')) - : ElMessage.success(t('visualization.cancel_publish_tips')) + if (status) { + ElMessage.success(t('visualization.published_success')) + snapshotStore.initSnapShot() + } else { + ElMessage.success(t('visualization.cancel_publish_tips')) + } }) } From 97df3d2026515b632556f53a8383e2bfefa28cd2 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Thu, 21 Aug 2025 10:37:02 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix(=20=E6=9F=A5=E8=AF=A2=E7=BB=84=E4=BB=B6?= =?UTF-8?q?):=20=20=E6=9F=A5=E8=AF=A2=E7=BB=84=E4=BB=B6=E9=80=89=E9=A1=B9?= =?UTF-8?q?=E5=80=BC=E4=B8=BA=E6=89=8B=E5=8A=A8=E8=BE=93=E5=85=A5=EF=BC=8C?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E9=BB=98=E8=AE=A4=E5=80=BC=E6=98=AF=E6=9C=AA?= =?UTF-8?q?=E5=8B=BE=E9=80=89=E7=8A=B6=E6=80=81=E7=9A=84=E3=80=82=20#16709?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/src/custom-component/v-query/Select.vue | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/core-frontend/src/custom-component/v-query/Select.vue b/core/core-frontend/src/custom-component/v-query/Select.vue index 4aa20c5e5d..690ed6e346 100644 --- a/core/core-frontend/src/custom-component/v-query/Select.vue +++ b/core/core-frontend/src/custom-component/v-query/Select.vue @@ -182,7 +182,6 @@ const getCascadeFieldId = () => { cascade.value.forEach(ele => { let condition = null ele.forEach(item => { - // eslint-disable-next-line const [_, queryId, fieldId] = item.datasetId.split('--') if (queryId === config.value.id && condition) { if (item.fieldId) { @@ -579,7 +578,10 @@ const setOptions = (num: number) => { (valueSource || []).map(ele => { return { label: `${ele}`, - value: `${ele}` + value: `${ele}`, + checked: Array.isArray(selectValue.value) + ? selectValue.value.includes(ele) + : selectValue.value === ele } }) ) From 5632bac3e45d5e472d4aeb887e62b83119e63f41 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Thu, 21 Aug 2025 10:37:16 +0800 Subject: [PATCH 4/4] =?UTF-8?q?fix(=20=E6=9F=A5=E8=AF=A2=E7=BB=84=E4=BB=B6?= =?UTF-8?q?):=20=E6=9F=A5=E8=AF=A2=E7=BB=84=E4=BB=B6=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E4=BA=86=E9=BB=98=E8=AE=A4=E5=80=BC=E3=80=81=E5=BF=85=E9=80=89?= =?UTF-8?q?=E9=A1=B9=E5=92=8C=E5=8E=BB=E9=99=A4=E6=9F=A5=E8=AF=A2=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E5=90=8E,=E4=B8=8D=E7=AE=A1=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E4=BB=80=E4=B9=88=E5=80=BC=E5=9B=9E=E8=BD=A6=E5=90=8E=E9=83=BD?= =?UTF-8?q?=E4=BC=9A=E5=8F=98=E5=9B=9E=E9=BB=98=E8=AE=A4=E5=80=BC=E3=80=82?= =?UTF-8?q?=20#16750?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../custom-component/v-query/Component.vue | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/core/core-frontend/src/custom-component/v-query/Component.vue b/core/core-frontend/src/custom-component/v-query/Component.vue index e41c497dbf..e5d768fcf8 100644 --- a/core/core-frontend/src/custom-component/v-query/Component.vue +++ b/core/core-frontend/src/custom-component/v-query/Component.vue @@ -65,8 +65,7 @@ const { element, view, scale } = toRefs(props) const { t } = useI18n() const vQueryRef = ref() const dvMainStore = dvMainStoreWithOut() -const { curComponent, canvasViewInfo, mobileInPc, firstLoadMap, editMode } = - storeToRefs(dvMainStore) +const { curComponent, canvasViewInfo, mobileInPc, firstLoadMap } = storeToRefs(dvMainStore) const canEdit = ref(false) const queryConfig = ref() const defaultStyle = { @@ -99,9 +98,6 @@ const defaultStyle = { } const customStyle = reactive({ ...defaultStyle }) const snapshotStore = snapshotStoreWithOut() -const userAgent = navigator.userAgent.toLowerCase() -// 判断是否为飞书内置浏览器 -const isFeiShu = /lark/i.test(userAgent) const btnStyle = computed(() => { const style = { @@ -359,22 +355,26 @@ const getKeyList = next => { } const fillRequireVal = arr => { - element.value.propValue.forEach(next => { + element.value.propValue?.forEach(next => { if (arr.some(itx => next.checkedFields.includes(itx)) && next.required) { if (next.displayType === '8') { const { conditionValueF, conditionValueS, conditionType } = next if (conditionType === 0 && conditionValueF === '') { next.conditionValueF = next.defaultConditionValueF - } else if (conditionValueF === '' || conditionValueS === '') { - next.conditionValueF = next.defaultConditionValueF - next.conditionValueS = next.defaultConditionValueS + } else { + if (conditionValueF === '') { + next.conditionValueF = next.defaultConditionValueF + } + if (conditionValueS === '') { + next.conditionValueS = next.defaultConditionValueS + } } } else if (next.displayType === '22') { - if ( - (next.numValueStart !== 0 && !next.numValueStart) || - (next.numValueEnd !== 0 && !next.numValueEnd) - ) { + if (next.numValueStart !== 0 && !next.numValueStart) { next.numValueStart = next.defaultNumValueStart + } + + if (next.numValueEnd !== 0 && !next.numValueEnd) { next.numValueEnd = next.defaultNumValueEnd } } else if ( @@ -502,7 +502,7 @@ onBeforeUnmount(() => { const updateQueryCriteria = () => { if (dvMainStore.mobileInPc && !isMobile()) return Array.isArray(element.value.propValue) && - element.value.propValue.forEach(ele => { + element.value.propValue?.forEach(ele => { if (ele.auto) { const componentInfo = { datasetId: ele.dataset.id, @@ -827,7 +827,7 @@ const marginRight = computed(() => { }) const autoStyle = computed(() => { - if (isISOMobile() || isFeiShu) { + if (isISOMobile()) { return { position: 'absolute', height: 100 / scale.value + '%!important', @@ -856,7 +856,7 @@ const autoStyle = computed(() => {
{{ t('v_query.here_or_click') }} {