diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java index 7ac5c1e2ad..e10f7b84c7 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java @@ -73,6 +73,7 @@ public class DataSetTableFieldController { @ApiOperation("保存") @PostMapping("save") public DatasetTableField save(@RequestBody DatasetTableField datasetTableField) { + dataSetTableFieldsService.checkFieldName(datasetTableField); return dataSetTableFieldsService.save(datasetTableField); } @@ -85,7 +86,7 @@ public class DataSetTableFieldController { @ApiOperation("多字段值枚举") @PostMapping("linkMultFieldValues") public List linkMultFieldValues(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception { - HttpServletRequest request =((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String linkToken = request.getHeader(F2CLinkFilter.LINK_TOKEN_KEY); DecodedJWT jwt = JWT.decode(linkToken); Long userId = jwt.getClaim("userId").asLong(); diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableFieldsService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableFieldsService.java index 7e768f3a0e..9b5c480810 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableFieldsService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableFieldsService.java @@ -3,7 +3,9 @@ package io.dataease.service.dataset; import io.dataease.base.domain.DatasetTableField; import io.dataease.base.domain.DatasetTableFieldExample; import io.dataease.base.mapper.DatasetTableFieldMapper; +import io.dataease.commons.exception.DEException; import io.dataease.commons.utils.DorisTableUtils; +import io.dataease.i18n.Translator; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -46,6 +48,21 @@ public class DataSetTableFieldsService { return datasetTableField; } + public void checkFieldName(DatasetTableField datasetTableField) { + if (StringUtils.isNotEmpty(datasetTableField.getName()) && StringUtils.isNotEmpty(datasetTableField.getTableId())) { + DatasetTableFieldExample datasetTableFieldExample = new DatasetTableFieldExample(); + DatasetTableFieldExample.Criteria criteria = datasetTableFieldExample.createCriteria(); + criteria.andNameEqualTo(datasetTableField.getName()).andTableIdEqualTo(datasetTableField.getTableId()); + if (StringUtils.isNotEmpty(datasetTableField.getId())) { + criteria.andIdNotEqualTo(datasetTableField.getId()); + } + List datasetTableFields = datasetTableFieldMapper.selectByExample(datasetTableFieldExample); + if (CollectionUtils.isNotEmpty(datasetTableFields)) { + DEException.throwException(Translator.get("i18n_field_name_repeat")); + } + } + } + public List list(DatasetTableField datasetTableField) { DatasetTableFieldExample datasetTableFieldExample = new DatasetTableFieldExample(); DatasetTableFieldExample.Criteria criteria = datasetTableFieldExample.createCriteria(); diff --git a/backend/src/main/resources/i18n/messages_en_US.properties b/backend/src/main/resources/i18n/messages_en_US.properties index bf8b774aba..a05de81cb2 100644 --- a/backend/src/main/resources/i18n/messages_en_US.properties +++ b/backend/src/main/resources/i18n/messages_en_US.properties @@ -297,4 +297,5 @@ i18n_invalid_ds=Invalid Datasource 任务管理=Task Manager 数据同步=Data Sync 定时报告=Regular report -i18n_rp_exist=Row permission of the same type already exists \ No newline at end of file +i18n_rp_exist=Row permission of the same type already exists +i18n_field_name_repeat=Field name can't repeat diff --git a/backend/src/main/resources/i18n/messages_zh_CN.properties b/backend/src/main/resources/i18n/messages_zh_CN.properties index 643108af35..701e45def7 100644 --- a/backend/src/main/resources/i18n/messages_zh_CN.properties +++ b/backend/src/main/resources/i18n/messages_zh_CN.properties @@ -296,4 +296,5 @@ i18n_invalid_ds=无效数据源 任务管理=任务管理 数据同步=数据同步 定时报告=定时报告 -i18n_rp_exist=已有同类型的行权限存在 \ No newline at end of file +i18n_rp_exist=已有同类型的行权限存在 +i18n_field_name_repeat=字段名不能重复 diff --git a/backend/src/main/resources/i18n/messages_zh_TW.properties b/backend/src/main/resources/i18n/messages_zh_TW.properties index ace5c7bf60..cb4a7a916d 100644 --- a/backend/src/main/resources/i18n/messages_zh_TW.properties +++ b/backend/src/main/resources/i18n/messages_zh_TW.properties @@ -299,4 +299,5 @@ i18n_invalid_ds=無效數據源 任务管理=任務管理 数据同步=數據同步 定时报告=定時報告 -i18n_rp_exist=已有同類型餓行權限存在 \ No newline at end of file +i18n_rp_exist=已有同類型餓行權限存在 +i18n_field_name_repeat=字段名不能重復 diff --git a/frontend/src/components/canvas/custom-component/UserView.vue b/frontend/src/components/canvas/custom-component/UserView.vue index c03ed6cc32..65e4160321 100644 --- a/frontend/src/components/canvas/custom-component/UserView.vue +++ b/frontend/src/components/canvas/custom-component/UserView.vue @@ -315,7 +315,7 @@ export default { this.refId = uuid.v1 if (this.element && this.element.propValue && this.element.propValue.viewId) { const hasFilter = this.componentData.filter(item => item.type === 'custom').some(item => item.options.value && !(item.options.value instanceof Object) || (item.options.attrs && item.options.attrs.default && item.options.attrs.default.isDynamic)) - hasFilter || this.getData(this.element.propValue.viewId, false) + if (!hasFilter || this.filters.length > 0) { this.getData(this.element.propValue.viewId, false) } } }, methods: { diff --git a/frontend/src/components/widget/DeWidget/DeSelectGrid.vue b/frontend/src/components/widget/DeWidget/DeSelectGrid.vue index 5b4e518617..0d927843f5 100644 --- a/frontend/src/components/widget/DeWidget/DeSelectGrid.vue +++ b/frontend/src/components/widget/DeWidget/DeSelectGrid.vue @@ -17,13 +17,13 @@ {{ $t('commons.all') }} - {{ item.id }} + {{ item.id }}
- + {{ item.id }} @@ -36,8 +36,8 @@