From 14f5932f80362feae950c80c5b1fa940562b9db5 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Mon, 18 Nov 2024 15:05:45 +0800 Subject: [PATCH 1/6] =?UTF-8?q?feat(=E6=9F=A5=E8=AF=A2=E7=BB=84=E4=BB=B6):?= =?UTF-8?q?=20=E6=97=B6=E9=97=B4=E7=BB=84=E4=BB=B6=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=80=BC=E5=B8=8C=E6=9C=9B=E5=A2=9E=E5=8A=A0=E6=9C=88=E5=BA=95?= =?UTF-8?q?=20#10776?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v-query/ConditionDefaultConfiguration.vue | 8 ++++++++ .../src/custom-component/v-query/DynamicTime.vue | 4 ++++ .../v-query/QueryConditionConfiguration.vue | 8 ++++++++ .../src/custom-component/v-query/RangeFilterTime.vue | 8 ++++++++ .../src/custom-component/v-query/time-format.ts | 12 ++++++++++++ core/core-frontend/src/locales/zh-CN.ts | 1 + core/core-frontend/src/style/index.less | 2 +- 7 files changed, 42 insertions(+), 1 deletion(-) diff --git a/core/core-frontend/src/custom-component/v-query/ConditionDefaultConfiguration.vue b/core/core-frontend/src/custom-component/v-query/ConditionDefaultConfiguration.vue index 056f788416..d16c6cacb9 100644 --- a/core/core-frontend/src/custom-component/v-query/ConditionDefaultConfiguration.vue +++ b/core/core-frontend/src/custom-component/v-query/ConditionDefaultConfiguration.vue @@ -126,6 +126,10 @@ const relativeToCurrentList = computed(() => { label: t('dynamic_time.firstOfMonth'), value: 'monthBeginning' }, + { + label: t('dynamic_time.endOfMonth'), + value: 'monthEnd' + }, { label: t('dynamic_time.firstOfYear'), value: 'yearBeginning' @@ -146,6 +150,10 @@ const relativeToCurrentList = computed(() => { label: t('dynamic_time.firstOfMonth'), value: 'monthBeginning' }, + { + label: t('dynamic_time.endOfMonth'), + value: 'monthEnd' + }, { label: t('dynamic_time.firstOfYear'), value: 'yearBeginning' diff --git a/core/core-frontend/src/custom-component/v-query/DynamicTime.vue b/core/core-frontend/src/custom-component/v-query/DynamicTime.vue index cece87245b..98607b4190 100644 --- a/core/core-frontend/src/custom-component/v-query/DynamicTime.vue +++ b/core/core-frontend/src/custom-component/v-query/DynamicTime.vue @@ -10,6 +10,7 @@ import { getToday, getYesterday, getMonthBeginning, + getMonthEnd, getYearBeginning, getCustomTime } from './time-format' @@ -141,6 +142,9 @@ const init = () => { case 'monthBeginning': selectValue.value = getMonthBeginning() break + case 'monthEnd': + selectValue.value = getMonthEnd() + break case 'yearBeginning': selectValue.value = getYearBeginning() break diff --git a/core/core-frontend/src/custom-component/v-query/QueryConditionConfiguration.vue b/core/core-frontend/src/custom-component/v-query/QueryConditionConfiguration.vue index 1e483e5e18..97b5edae15 100644 --- a/core/core-frontend/src/custom-component/v-query/QueryConditionConfiguration.vue +++ b/core/core-frontend/src/custom-component/v-query/QueryConditionConfiguration.vue @@ -1873,6 +1873,10 @@ const relativeToCurrentList = computed(() => { label: t('dynamic_time.firstOfMonth'), value: 'monthBeginning' }, + { + label: t('dynamic_time.endOfMonth'), + value: 'monthEnd' + }, { label: t('dynamic_time.firstOfYear'), value: 'yearBeginning' @@ -1893,6 +1897,10 @@ const relativeToCurrentList = computed(() => { label: t('dynamic_time.firstOfMonth'), value: 'monthBeginning' }, + { + label: t('dynamic_time.endOfMonth'), + value: 'monthEnd' + }, { label: t('dynamic_time.firstOfYear'), value: 'yearBeginning' diff --git a/core/core-frontend/src/custom-component/v-query/RangeFilterTime.vue b/core/core-frontend/src/custom-component/v-query/RangeFilterTime.vue index f0ce1313ee..ebe8d02201 100644 --- a/core/core-frontend/src/custom-component/v-query/RangeFilterTime.vue +++ b/core/core-frontend/src/custom-component/v-query/RangeFilterTime.vue @@ -138,6 +138,10 @@ const relativeToCurrentList = computed(() => { label: t('dynamic_time.firstOfMonth'), value: 'monthBeginning' }, + { + label: t('dynamic_time.endOfMonth'), + value: 'monthEnd' + }, { label: t('dynamic_time.firstOfYear'), value: 'yearBeginning' @@ -158,6 +162,10 @@ const relativeToCurrentList = computed(() => { label: t('dynamic_time.firstOfMonth'), value: 'monthBeginning' }, + { + label: t('dynamic_time.endOfMonth'), + value: 'monthEnd' + }, { label: t('dynamic_time.firstOfYear'), value: 'yearBeginning' diff --git a/core/core-frontend/src/custom-component/v-query/time-format.ts b/core/core-frontend/src/custom-component/v-query/time-format.ts index de6f7eecaa..78aec5b255 100644 --- a/core/core-frontend/src/custom-component/v-query/time-format.ts +++ b/core/core-frontend/src/custom-component/v-query/time-format.ts @@ -1,4 +1,5 @@ import type { ManipulateType } from 'dayjs' +import dayjs from 'dayjs' function getThisYear() { return new Date(`${new Date().getFullYear()}/1`) } @@ -41,6 +42,10 @@ function getMonthBeginning() { return new Date(`${date.getFullYear()}/${date.getMonth() + 1}/1`) } +function getMonthEnd() { + return new Date(dayjs().endOf('month').format('YYYY/MM/DD HH:mm:ss')) +} + function getYearBeginning() { const date = new Date() return new Date(`${date.getFullYear()}/1/1`) @@ -211,6 +216,12 @@ function getDynamicRange({ isDateTime ? monthBeginningVal : monthBeginningVal + 24 * 3600 * 1000 - 1000 ] break + case 'monthEnd': + const monthEndVal = getMonthEnd().getTime() + selectValue = isDateTime + ? [monthEndVal, monthEndVal] + : [monthEndVal - 24 * 3600 * 1000 + 1000, monthEndVal] + break case 'yearBeginning': const yearBeginningVal = getYearBeginning().getTime() selectValue = [ @@ -251,6 +262,7 @@ export { getToday, getYesterday, getMonthBeginning, + getMonthEnd, getYearBeginning, getCustomTime, getDynamicRange diff --git a/core/core-frontend/src/locales/zh-CN.ts b/core/core-frontend/src/locales/zh-CN.ts index fd0f8ed76a..c3afd3c7d9 100644 --- a/core/core-frontend/src/locales/zh-CN.ts +++ b/core/core-frontend/src/locales/zh-CN.ts @@ -407,6 +407,7 @@ export default { today: '今天', yesterday: '昨天', firstOfMonth: '月初', + endOfMonth: '月底', firstOfYear: '年初', custom: '自定义', date: '日', diff --git a/core/core-frontend/src/style/index.less b/core/core-frontend/src/style/index.less index 2689efb35c..3289a8bc9c 100644 --- a/core/core-frontend/src/style/index.less +++ b/core/core-frontend/src/style/index.less @@ -605,5 +605,5 @@ strong { } .ed-message .ed-message__closeBtn:hover { - background: #ebebebe6; + background: #ebebebe6 !important; } From ca0e7f8b384ecb61af9a3729f0d019f08f97ae1e Mon Sep 17 00:00:00 2001 From: junjun Date: Mon, 18 Nov 2024 16:10:01 +0800 Subject: [PATCH 2/6] =?UTF-8?q?feat(=E7=B3=BB=E7=BB=9F=E8=AE=BE=E7=BD=AE):?= =?UTF-8?q?=20=E7=B3=BB=E7=BB=9F=E8=AE=BE=E7=BD=AE=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=89=93=E5=BC=80=E6=96=B9=E5=BC=8F=E9=80=89?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/server/SysParameterServer.java | 3 +++ .../main/resources/db/desktop/V2.10.3__ddl.sql | 3 +++ .../resources/db/migration/V2.10.3__ddl.sql | 5 ++++- core/core-frontend/src/locales/tw.ts | 4 ++++ core/core-frontend/src/locales/zh-CN.ts | 4 ++++ .../views/system/parameter/basic/BasicEdit.vue | 14 +++++++++++++- .../views/system/parameter/basic/BasicInfo.vue | 18 +++++++++++++++++- .../constant/XpackSettingConstants.java | 2 +- 8 files changed, 49 insertions(+), 4 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/system/server/SysParameterServer.java b/core/core-backend/src/main/java/io/dataease/system/server/SysParameterServer.java index 462cfb6a13..c914ff7946 100644 --- a/core/core-backend/src/main/java/io/dataease/system/server/SysParameterServer.java +++ b/core/core-backend/src/main/java/io/dataease/system/server/SysParameterServer.java @@ -74,6 +74,9 @@ public class SysParameterServer implements SysParameterApi { if (StringUtils.isNotBlank(settingItemVO.getPkey()) && settingItemVO.getPkey().equalsIgnoreCase(XpackSettingConstants.DEFAULT_SORT) && StringUtils.isNotBlank(settingItemVO.getPval())) { map.put(XpackSettingConstants.DEFAULT_SORT, settingItemVO.getPval()); } + if (StringUtils.isNotBlank(settingItemVO.getPkey()) && settingItemVO.getPkey().equalsIgnoreCase(XpackSettingConstants.DEFAULT_OPEN) && StringUtils.isNotBlank(settingItemVO.getPval())) { + map.put(XpackSettingConstants.DEFAULT_OPEN, settingItemVO.getPval()); + } } return map; } diff --git a/core/core-backend/src/main/resources/db/desktop/V2.10.3__ddl.sql b/core/core-backend/src/main/resources/db/desktop/V2.10.3__ddl.sql index 036684523c..7005cfbdc8 100644 --- a/core/core-backend/src/main/resources/db/desktop/V2.10.3__ddl.sql +++ b/core/core-backend/src/main/resources/db/desktop/V2.10.3__ddl.sql @@ -1,2 +1,5 @@ INSERT INTO `core_sys_setting`(`id`, `pkey`, `pval`, `type`, `sort`) VALUES (1048232869488627719, 'basic.defaultSort', '1', 'text', 13); + +INSERT INTO `core_sys_setting`(`id`, `pkey`, `pval`, `type`, `sort`) +VALUES (1048232869488627719, 'basic.defaultOpen', '1', 'text', 14); diff --git a/core/core-backend/src/main/resources/db/migration/V2.10.3__ddl.sql b/core/core-backend/src/main/resources/db/migration/V2.10.3__ddl.sql index 60b271c0d5..ba5a9f42d6 100644 --- a/core/core-backend/src/main/resources/db/migration/V2.10.3__ddl.sql +++ b/core/core-backend/src/main/resources/db/migration/V2.10.3__ddl.sql @@ -1,6 +1,9 @@ INSERT INTO `core_sys_setting`(`id`, `pkey`, `pval`, `type`, `sort`) VALUES (1048232869488627719, 'basic.defaultSort', '1', 'text', 13); +INSERT INTO `core_sys_setting`(`id`, `pkey`, `pval`, `type`, `sort`) +VALUES (1048232869488627719, 'basic.defaultOpen', '0', 'text', 14); + INSERT INTO `core_menu` VALUES (70, 0, 1, 'msg', NULL, 200, NULL, '/msg', 1, 1, 0); -UPDATE `xpack_setting_authentication` set `synced` = 0 where `name` = 'oidc' or name = 'cas'; \ No newline at end of file +UPDATE `xpack_setting_authentication` set `synced` = 0 where `name` = 'oidc' or name = 'cas'; diff --git a/core/core-frontend/src/locales/tw.ts b/core/core-frontend/src/locales/tw.ts index 4ba47e5925..a32bd0d644 100644 --- a/core/core-frontend/src/locales/tw.ts +++ b/core/core-frontend/src/locales/tw.ts @@ -3073,6 +3073,10 @@ export default { name_asc: '按名稱升序', name_desc: '按名稱降序' }, + open_opt: { + new_page: '新頁面打開', + local_page: '當前頁面打開' + }, setting_email: { title: '郵件設置', host: 'SMTP主機', diff --git a/core/core-frontend/src/locales/zh-CN.ts b/core/core-frontend/src/locales/zh-CN.ts index fd44bb988f..e11b40b7fb 100644 --- a/core/core-frontend/src/locales/zh-CN.ts +++ b/core/core-frontend/src/locales/zh-CN.ts @@ -3082,6 +3082,10 @@ export default { name_asc: '按名称升序', name_desc: '按名称降序' }, + open_opt: { + new_page: '新页面打开', + local_page: '当前页面打开' + }, setting_email: { title: '邮件设置', host: 'SMTP主机', diff --git a/core/core-frontend/src/views/system/parameter/basic/BasicEdit.vue b/core/core-frontend/src/views/system/parameter/basic/BasicEdit.vue index e80736b2c4..3ff3cacba5 100644 --- a/core/core-frontend/src/views/system/parameter/basic/BasicEdit.vue +++ b/core/core-frontend/src/views/system/parameter/basic/BasicEdit.vue @@ -41,6 +41,10 @@ const state = reactive({ { value: '1', label: t('resource_sort.time_desc') }, { value: '2', label: t('resource_sort.name_asc') }, { value: '3', label: t('resource_sort.name_desc') } + ], + openOptions: [ + { value: '0', label: t('open_opt.new_page') }, + { value: '1', label: t('open_opt.local_page') } ] }) @@ -125,11 +129,12 @@ const closeLoading = () => { loadingInstance.value?.close() } -const edit = (list, orgOptions, roleOptions, loginOptions, sortOptions) => { +const edit = (list, orgOptions, roleOptions, loginOptions, sortOptions, openOptions) => { state.orgOptions = orgOptions || [] state.roleOptions = roleOptions || [] state.loginOptions = loginOptions || [] state.sortOptions = sortOptions || [] + state.openOptions = openOptions || [] state.settingList = list.map(item => { const pkey = item.pkey if (pkey === 'basic.logLiveTime' || pkey === 'basic.thresholdLogLiveTime') { @@ -358,6 +363,13 @@ defineExpose({ +
+ + + {{ item.label }} + + +
diff --git a/core/core-frontend/src/views/system/parameter/basic/BasicInfo.vue b/core/core-frontend/src/views/system/parameter/basic/BasicInfo.vue index e0553d5131..9a6933bc7c 100644 --- a/core/core-frontend/src/views/system/parameter/basic/BasicInfo.vue +++ b/core/core-frontend/src/views/system/parameter/basic/BasicInfo.vue @@ -77,6 +77,10 @@ const state = reactive({ { value: '1', label: t('resource_sort.time_desc') }, { value: '2', label: t('resource_sort.name_asc') }, { value: '3', label: t('resource_sort.name_desc') } + ], + openOptions: [ + { value: '0', label: t('open_opt.new_page') }, + { value: '1', label: t('open_opt.local_page') } ] }) let originData = [] @@ -150,6 +154,17 @@ const search = cb => { } else { item.pval = state.sortOptions[1].label } + } else if (item.pkey === 'basic.defaultOpen') { + if (item.pval) { + const r = state.openOptions.filter(cur => cur.value === item.pval) + if (r?.length) { + item.pval = r[0].label + } else { + item.pval = state.openOptions[0].label + } + } else { + item.pval = state.openOptions[0].label + } } else { item.pval = item.pval } @@ -174,7 +189,8 @@ const edit = () => { cloneDeep(state.orgOptions), cloneDeep(state.roleOptions), cloneDeep(state.loginOptions), - cloneDeep(state.sortOptions) + cloneDeep(state.sortOptions), + cloneDeep(state.openOptions) ) } const loadOrgOptions = async () => { diff --git a/sdk/common/src/main/java/io/dataease/constant/XpackSettingConstants.java b/sdk/common/src/main/java/io/dataease/constant/XpackSettingConstants.java index 37699a61a7..ed36fd50d8 100644 --- a/sdk/common/src/main/java/io/dataease/constant/XpackSettingConstants.java +++ b/sdk/common/src/main/java/io/dataease/constant/XpackSettingConstants.java @@ -11,6 +11,6 @@ public class XpackSettingConstants { public static final String PVP = "basic.pvp"; public static final String DEFAULT_LOGIN = "basic.defaultLogin"; public static final String THRSHOLD_LOG_LIVE_TIME = "basic.thresholdLogLiveTime"; - public static final String DEFAULT_SORT = "basic.defaultSort"; + public static final String DEFAULT_OPEN = "basic.defaultOpen"; } From 0ab3e6f510090eeb9a8b0dcff11a5015ced84015 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 18 Nov 2024 16:18:41 +0800 Subject: [PATCH 3/6] =?UTF-8?q?perf(X-Pack):=20=E5=B5=8C=E5=85=A5=E5=BC=8F?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E6=8C=87=E5=AE=9A=E5=AF=86=E9=92=A5=E9=95=BF?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/src/locales/zh-CN.ts | 4 +++- de-xpack | 2 +- .../api/permissions/embedded/dto/EmbeddedCreator.java | 2 ++ .../dataease/api/permissions/embedded/dto/EmbeddedEditor.java | 2 ++ .../dataease/api/permissions/embedded/vo/EmbeddedGridVO.java | 2 ++ 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/core/core-frontend/src/locales/zh-CN.ts b/core/core-frontend/src/locales/zh-CN.ts index fd44bb988f..8335c3646e 100644 --- a/core/core-frontend/src/locales/zh-CN.ts +++ b/core/core-frontend/src/locales/zh-CN.ts @@ -639,6 +639,7 @@ export default { edit_embedded_application: '编辑嵌入式应用', application_name: '应用名称', cross_domain_settings: '跨域设置', + embedded_secret_len_change: '密钥长度变化,密钥即将重置,是否确认', embedded_management: '嵌入式管理', to_5_applications: '最多支持创建5个应用', update_app_secret: '确定更新APP Secret吗?', @@ -691,7 +692,8 @@ export default { the_minimum_date: '请选择最小日期', the_maximum_date: '请选择最大日期', on_the_left_p: '请选择左侧变量', - edit_variable_value: '编辑变量值' + edit_variable_value: '编辑变量值', + secret_length: '密钥长度' }, components: { dashboard_style: '仪表板风格', diff --git a/de-xpack b/de-xpack index 1e82eb625b..9d120aec82 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit 1e82eb625b4479fc5659951356f4f23de7f077c4 +Subproject commit 9d120aec82118de0493e3c22dc2acc200f74f05a diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/embedded/dto/EmbeddedCreator.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/embedded/dto/EmbeddedCreator.java index 556db3bb04..27974b5ae5 100644 --- a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/embedded/dto/EmbeddedCreator.java +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/embedded/dto/EmbeddedCreator.java @@ -12,4 +12,6 @@ public class EmbeddedCreator implements Serializable { private String name; @Schema(description = "应用域名") private String domain; + @Schema(description = "密钥长度") + private Integer secretLength = 16; } diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/embedded/dto/EmbeddedEditor.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/embedded/dto/EmbeddedEditor.java index c87f525a73..1083e8d1f3 100644 --- a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/embedded/dto/EmbeddedEditor.java +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/embedded/dto/EmbeddedEditor.java @@ -14,4 +14,6 @@ public class EmbeddedEditor implements Serializable { private String name; @Schema(description = "应用域名") private String domain; + @Schema(description = "密钥长度") + private Integer secretLength = 16; } diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/embedded/vo/EmbeddedGridVO.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/embedded/vo/EmbeddedGridVO.java index 6fafcc7a5d..328d138a67 100644 --- a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/embedded/vo/EmbeddedGridVO.java +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/embedded/vo/EmbeddedGridVO.java @@ -22,4 +22,6 @@ public class EmbeddedGridVO implements Serializable { private String appSecret; @Schema(description = "应用域名") private String domain; + @Schema(description = "密钥长度") + private Integer secretLength = 16; } From 0f7adb02f6de75c25d2eb082fe068481904837ca Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 18 Nov 2024 16:24:24 +0800 Subject: [PATCH 4/6] =?UTF-8?q?fix:=20=E3=80=90=E6=95=B0=E6=8D=AE=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E4=B8=AD=E5=BF=83=E3=80=91=E4=BF=AE=E5=A4=8D=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E8=A7=86=E5=9B=BE=E8=B7=AF=E5=BE=84=E5=87=BA=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/DataVisualizationServer.java | 30 +++++++------------ 1 file changed, 10 insertions(+), 20 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 9c341b14bd..06eff1e74e 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 @@ -234,8 +234,7 @@ public class DataVisualizationServer implements DataVisualizationApi { } } }); - datasourceIdMap.putAll(appData.getDatasourceInfo().stream() - .collect(Collectors.toMap(AppCoreDatasourceVO::getId, AppCoreDatasourceVO::getSystemDatasourceId))); + datasourceIdMap.putAll(appData.getDatasourceInfo().stream().collect(Collectors.toMap(AppCoreDatasourceVO::getId, AppCoreDatasourceVO::getSystemDatasourceId))); Long datasetFolderPid = request.getDatasetFolderPid(); String datasetFolderName = request.getDatasetFolderName(); //新建数据集分组 @@ -327,8 +326,8 @@ public class DataVisualizationServer implements DataVisualizationApi { } }); - if(dsGroupNameSave.contains(dsGroup.getName())){ - dsGroup.setName(dsGroup.getName()+"-"+UUID.randomUUID().toString()); + if (dsGroupNameSave.contains(dsGroup.getName())) { + dsGroup.setName(dsGroup.getName() + "-" + UUID.randomUUID().toString()); } dsGroupNameSave.add(dsGroup.getName()); datasetGroupManage.innerSave(dsGroup); @@ -727,26 +726,19 @@ public class DataVisualizationServer implements DataVisualizationApi { List linkJumpInfoVOInfo = appTemplateMapper.findAppLinkJumpInfoInfo(dvId); List listJumpTargetViewInfoVO = appTemplateMapper.findAppLinkJumpTargetViewInfoInfo(dvId); - return new VisualizationExport2AppVO(chartViewVOInfo, datasetGroupVOInfo, datasetTableVOInfo, - datasetTableFieldVOInfo, datasourceVOInfo, datasourceTaskVOInfo, - linkJumpVOInfo, linkJumpInfoVOInfo, listJumpTargetViewInfoVO, linkageVOInfo, linkageFieldVOInfo); + return new VisualizationExport2AppVO(chartViewVOInfo, datasetGroupVOInfo, datasetTableVOInfo, datasetTableFieldVOInfo, datasourceVOInfo, datasourceTaskVOInfo, linkJumpVOInfo, linkJumpInfoVOInfo, listJumpTargetViewInfoVO, linkageVOInfo, linkageFieldVOInfo); } @Override public void nameCheck(DataVisualizationBaseRequest request) { QueryWrapper wrapper = new QueryWrapper<>(); - if (DataVisualizationConstants.RESOURCE_OPT_TYPE.MOVE.equals(request.getOpt()) - || DataVisualizationConstants.RESOURCE_OPT_TYPE.RENAME.equals(request.getOpt()) - || DataVisualizationConstants.RESOURCE_OPT_TYPE.EDIT.equals(request.getOpt()) - || DataVisualizationConstants.RESOURCE_OPT_TYPE.COPY.equals(request.getOpt())) { + if (DataVisualizationConstants.RESOURCE_OPT_TYPE.MOVE.equals(request.getOpt()) || DataVisualizationConstants.RESOURCE_OPT_TYPE.RENAME.equals(request.getOpt()) || DataVisualizationConstants.RESOURCE_OPT_TYPE.EDIT.equals(request.getOpt()) || DataVisualizationConstants.RESOURCE_OPT_TYPE.COPY.equals(request.getOpt())) { if (request.getPid() == null) { DataVisualizationInfo result = visualizationInfoMapper.selectById(request.getId()); request.setPid(result.getPid()); } - if (DataVisualizationConstants.RESOURCE_OPT_TYPE.MOVE.equals(request.getOpt()) - || DataVisualizationConstants.RESOURCE_OPT_TYPE.RENAME.equals(request.getOpt()) - || DataVisualizationConstants.RESOURCE_OPT_TYPE.EDIT.equals(request.getOpt())) { + if (DataVisualizationConstants.RESOURCE_OPT_TYPE.MOVE.equals(request.getOpt()) || DataVisualizationConstants.RESOURCE_OPT_TYPE.RENAME.equals(request.getOpt()) || DataVisualizationConstants.RESOURCE_OPT_TYPE.EDIT.equals(request.getOpt())) { wrapper.ne("id", request.getId()); } } @@ -793,12 +785,10 @@ public class DataVisualizationServer implements DataVisualizationApi { } public void getParent(List list, DataVisualizationInfo dataVisualizationInfo) { - if (ObjectUtils.isNotEmpty(dataVisualizationInfo)) { - if (dataVisualizationInfo.getPid() != null) { - DataVisualizationInfo d = visualizationInfoMapper.selectById(dataVisualizationInfo.getPid()); - list.add(d); - getParent(list, d); - } + if (ObjectUtils.isNotEmpty(dataVisualizationInfo) && dataVisualizationInfo.getPid() != null && !dataVisualizationInfo.getPid().equals(dataVisualizationInfo.getId())) { + DataVisualizationInfo d = visualizationInfoMapper.selectById(dataVisualizationInfo.getPid()); + list.add(d); + getParent(list, d); } } From 75561c6e8fd8573e5bb14dcc1f402887283c1b96 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 18 Nov 2024 16:37:22 +0800 Subject: [PATCH 5/6] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9B=86=E8=B0=83=E8=AF=95=E6=89=A7=E8=A1=8C=E6=88=90=E5=8A=9F?= =?UTF-8?q?=EF=BC=8C=E4=BF=9D=E5=AD=98=E6=8A=A5=E9=94=99=EF=BC=8C=E4=B8=8D?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=8F=82=E6=95=B0=E4=B9=9F=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=88=90=E5=8A=9F=20#13317?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/dataease/commons/utils/SqlparserUtils.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/core-backend/src/main/java/io/dataease/commons/utils/SqlparserUtils.java b/core/core-backend/src/main/java/io/dataease/commons/utils/SqlparserUtils.java index 0b25d9a53f..53b54bc5b8 100644 --- a/core/core-backend/src/main/java/io/dataease/commons/utils/SqlparserUtils.java +++ b/core/core-backend/src/main/java/io/dataease/commons/utils/SqlparserUtils.java @@ -507,6 +507,12 @@ public class SqlparserUtils { if (StringUtils.isEmpty(sql)) { DEException.throwException(Translator.get("i18n_sql_not_empty")); } + try { + removeVariables(sql, ""); + } catch (Exception e) { + DEException.throwException(e); + } + sql = sql.trim(); if (sql.endsWith(";")) { sql = sql.substring(0, sql.length() - 1); From 09e2996d45fbf39d7bad46835420c9d5c928483d Mon Sep 17 00:00:00 2001 From: junjun Date: Mon, 18 Nov 2024 16:54:03 +0800 Subject: [PATCH 6/6] =?UTF-8?q?feat(=E7=B3=BB=E7=BB=9F=E8=AE=BE=E7=BD=AE):?= =?UTF-8?q?=20=E7=B3=BB=E7=BB=9F=E8=AE=BE=E7=BD=AE=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=89=93=E5=BC=80=E6=96=B9=E5=BC=8F=E9=80=89?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/src/locales/tw.ts | 3 ++- core/core-frontend/src/locales/zh-CN.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/core-frontend/src/locales/tw.ts b/core/core-frontend/src/locales/tw.ts index a32bd0d644..589fe44d3b 100644 --- a/core/core-frontend/src/locales/tw.ts +++ b/core/core-frontend/src/locales/tw.ts @@ -3065,7 +3065,8 @@ export default { defaultLogin: '默認登錄方式', shareDisable: '禁用分享', sharePeRequire: '分享有效期密碼必填', - defaultSort: '資源默認排序方式' + defaultSort: '資源默認排序方式', + defaultOpen: '頁面打開方式' }, resource_sort: { time_asc: '按創建時間升序', diff --git a/core/core-frontend/src/locales/zh-CN.ts b/core/core-frontend/src/locales/zh-CN.ts index ac1cc7fe22..d4976659d7 100644 --- a/core/core-frontend/src/locales/zh-CN.ts +++ b/core/core-frontend/src/locales/zh-CN.ts @@ -3077,7 +3077,8 @@ export default { defaultLogin: '默认登录方式', shareDisable: '禁用分享', sharePeRequire: '分享有效期密码必填', - defaultSort: '资源默认排序方式' + defaultSort: '资源默认排序方式', + defaultOpen: '页面打开方式' }, resource_sort: { time_asc: '按创建时间升序',