diff --git a/backend/pom.xml b/backend/pom.xml index d3c3b8c156..2049f49faf 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -5,7 +5,7 @@ dataease-server io.dataease - 1.11.0 + 1.11.1 4.0.0 @@ -241,17 +241,17 @@ io.dataease dataease-plugin-interface - 1.11.0 + 1.11.1 io.dataease dataease-plugin-view - 1.11.0 + 1.11.1 io.dataease dataease-plugin-datasource - 1.11.0 + 1.11.1 diff --git a/backend/src/main/java/io/dataease/commons/model/PluginViewSetImpl.java b/backend/src/main/java/io/dataease/commons/model/PluginViewSetImpl.java new file mode 100644 index 0000000000..125c772261 --- /dev/null +++ b/backend/src/main/java/io/dataease/commons/model/PluginViewSetImpl.java @@ -0,0 +1,11 @@ +package io.dataease.commons.model; + +import io.dataease.plugins.common.base.domain.Datasource; +import io.dataease.plugins.view.entity.PluginViewSet; +import lombok.Data; + +@Data +public class PluginViewSetImpl extends PluginViewSet { + + private Datasource ds; +} diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java index d5d2bb2e6b..16f2bcfb12 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -5,6 +5,7 @@ import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import io.dataease.auth.entity.SysUserEntity; import io.dataease.auth.service.AuthUserService; +import io.dataease.commons.model.PluginViewSetImpl; import io.dataease.ext.*; import io.dataease.commons.constants.CommonConstants; import io.dataease.commons.constants.JdbcConstants; @@ -1094,9 +1095,10 @@ public class ChartViewService { private PluginViewParam buildPluginParam(Map> fieldMap, List customFilters, List extFilters, Datasource ds, DatasetTable table, ChartViewDTO view) { PluginViewParam pluginViewParam = new PluginViewParam(); - PluginViewSet pluginViewSet = BeanUtils.copyBean(new PluginViewSet(), table); + PluginViewSetImpl pluginViewSet = BeanUtils.copyBean(new PluginViewSetImpl(), table); pluginViewSet.setDsType(ds.getType()); pluginViewSet.setTabelId(table.getId()); + pluginViewSet.setDs(ds); PluginViewLimit pluginViewLimit = BeanUtils.copyBean(new PluginViewLimit(), view); diff --git a/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java b/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java index eac7c169c0..7b331b7ca6 100644 --- a/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java +++ b/backend/src/main/java/io/dataease/service/chart/ViewPluginBaseServiceImpl.java @@ -2,6 +2,7 @@ package io.dataease.service.chart; import cn.hutool.core.util.ReflectUtil; import com.google.gson.Gson; +import io.dataease.commons.model.PluginViewSetImpl; import io.dataease.dto.dataset.DataSetTableUnionDTO; import io.dataease.dto.dataset.DataTableInfoDTO; import io.dataease.plugins.common.base.domain.ChartViewWithBLOBs; @@ -128,6 +129,19 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService { String tabelName = (tableName.startsWith("(") && tableName.endsWith(")")) ? tableName : String.format(keyword, tableName); String tabelAlias = String.format(TABLE_ALIAS_PREFIX, 0); PluginViewSQL tableObj = PluginViewSQL.builder().tableName(tabelName).tableAlias(tabelAlias).build(); + + + QueryProvider queryProvider = ProviderFactory.getQueryProvider(pluginViewSet.getDsType()); + + SQLObj sqlObj = SQLObj.builder().tableName(tabelName).tableAlias(tabelAlias).build(); + PluginViewSetImpl child = (PluginViewSetImpl)pluginViewSet; + queryProvider.setSchema(sqlObj, child.getDs()); + // String methodName = "setSchema"; + // execProviderMethod(queryProvider, methodName, sqlObj, child.getDs()); + tableObj.setTableName(sqlObj.getTableName()); + tableObj.setTableAlias(sqlObj.getTableAlias()); + + return tableObj; } diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 52972307a8..a36fa85640 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -1,6 +1,7 @@ package io.dataease.service.dataset; import com.google.gson.Gson; +import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import io.dataease.auth.annotation.DeCleaner; @@ -585,9 +586,9 @@ public class DataSetTableService { } else { // check doris table if (!checkEngineTableIsExists(dataSetTableRequest.getId())) { - if(dataSetTableRequest.isPreviewForTask()){ + if (dataSetTableRequest.isPreviewForTask()) { return map; - }else { + } else { throw new RuntimeException(Translator.get("i18n_data_not_sync")); } } @@ -1346,7 +1347,11 @@ public class DataSetTableService { String configuration = ds.getConfiguration(); JsonObject jsonObject = JsonParser.parseString(configuration).getAsJsonObject(); - String schema = jsonObject.get("schema").getAsString(); + JsonElement schemaJson = jsonObject.get("schema"); + String schema = null; + if (schemaJson != null) { + schema = schemaJson.getAsString(); + } String joinPrefix = ""; if (StringUtils.isNotEmpty(schema) && (StringUtils.equalsIgnoreCase(ds.getType(), DatasourceTypes.db2.getType()) || StringUtils.equalsIgnoreCase(ds.getType(), DatasourceTypes.sqlServer.getType()) || @@ -1907,7 +1912,7 @@ public class DataSetTableService { List oldFields = datasetTableFields.stream().map(DatasetTableField::getOriginName).collect(Collectors.toList()); - if(editType == 1){ + if (editType == 1) { for (ExcelSheetData excelSheetData : excelSheetDataList) { List tableFields = excelSheetData.getFields(); List newFields = tableFields.stream().map(TableField::getRemarks).collect(Collectors.toList()); @@ -1918,7 +1923,7 @@ public class DataSetTableService { if (retrunSheetDataList.size() == 0) { DataEaseException.throwException(Translator.get("i18n_excel_column_change")); } - }else { + } else { List extFields = fields.stream().filter(datasetTableField -> datasetTableField.getExtField() > 0).collect(Collectors.toList()); List extFieldsRefIds = new ArrayList<>(); for (DatasetTableField extField : extFields) { @@ -1928,7 +1933,7 @@ public class DataSetTableService { Matcher matcher = pattern.matcher(originField); while (matcher.find()) { String id = matcher.group(1); - if(!extFieldsRefIds.contains(id)){ + if (!extFieldsRefIds.contains(id)) { extFieldsRefIds.add(id); } } @@ -1939,12 +1944,12 @@ public class DataSetTableService { List newFields = tableFields.stream().map(TableField::getRemarks).collect(Collectors.toList()); if (oldFields.equals(newFields)) { excelSheetData.setChangeFiled(false); - }else { + } else { excelSheetData.setChangeFiled(true); } boolean effectExtField = false; for (String extFieldsRefName : extFieldsRefNames) { - if(!newFields.contains(extFieldsRefName)){ + if (!newFields.contains(extFieldsRefName)) { effectExtField = true; } } @@ -1956,7 +1961,7 @@ public class DataSetTableService { DataEaseException.throwException(Translator.get("i18n_excel_column_change")); } } - }else { + } else { retrunSheetDataList = excelSheetDataList; } retrunSheetDataList = retrunSheetDataList.stream() @@ -2374,7 +2379,7 @@ public class DataSetTableService { return datasetTable; } - public int updateByExampleSelective(DatasetTable record, DatasetTableExample example ){ + public int updateByExampleSelective(DatasetTable record, DatasetTableExample example) { return datasetTableMapper.updateByExampleSelective(record, example); } } diff --git a/frontend/package.json b/frontend/package.json index 5d4f072e69..3d86709b2b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "dataease", - "version": "1.11.0", + "version": "1.11.1", "description": "dataease front", "private": true, "scripts": { diff --git a/frontend/pom.xml b/frontend/pom.xml index 137b5b4943..2f0f4294a0 100644 --- a/frontend/pom.xml +++ b/frontend/pom.xml @@ -6,7 +6,7 @@ dataease-server io.dataease - 1.11.0 + 1.11.1 4.0.0 diff --git a/frontend/src/components/canvas/components/Editor/LinkageField.vue b/frontend/src/components/canvas/components/Editor/LinkageField.vue index 7217837f80..843475f2f3 100644 --- a/frontend/src/components/canvas/components/Editor/LinkageField.vue +++ b/frontend/src/components/canvas/components/Editor/LinkageField.vue @@ -28,7 +28,7 @@ - + {{ item.name }} @@ -48,7 +48,7 @@ - + {{ item.name }} diff --git a/frontend/src/components/widget/DeWidget/DeTabs.vue b/frontend/src/components/widget/DeWidget/DeTabs.vue index 3aef14dd72..4fff2799ea 100644 --- a/frontend/src/components/widget/DeWidget/DeTabs.vue +++ b/frontend/src/components/widget/DeWidget/DeTabs.vue @@ -333,13 +333,17 @@ export default { this.styleChange() } }) + this.otherComponentDialogVisible = false + return } - this.otherComponentDialogVisible = false + this.$warning(this.$t('detabs.please') + this.$t('detabs.selectOthers')) + }, sureViewSelector() { const nodes = this.$refs.viewSelect.getCurrentSelected() if (!nodes || nodes.length === 0) { - this.viewDialogVisible = false + this.$warning(this.$t('detabs.please') + this.$t('detabs.selectview')) + return } const node = nodes[0] diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 8e627521c0..9398ba7623 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -416,7 +416,8 @@ export default { eidttitle: 'Edit Title', selectview: 'Select View', selectOthers: 'Select Others', - availableComponents: 'Available Components' + availableComponents: 'Available Components', + please: 'Please' }, example: { warning: 'Creating and editing pages cannot be cached by keep-alive because keep-alive include does not currently support caching based on routes, so it is currently cached based on component name. If you want to achieve a similar caching effect, you can use a browser caching scheme such as localStorage. Or do not use keep-alive include to cache all pages directly. See details' diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index fd8c401e24..98289a8e2e 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -416,7 +416,8 @@ export default { eidttitle: '編輯標題', selectview: '選擇視圖', selectOthers: '選擇組件', - availableComponents: '可選組件' + availableComponents: '可選組件', + please: '未' }, example: { warning: '創建和編輯頁面是不能被 keep-alive 緩存的,因爲keep-alive 的 include 目前不支持根據路由來緩存,所以目前都是基於 component name 來進行緩存的。如果妳想類似的實現緩存效果,可以使用 localStorage 等瀏覽器緩存方案。或者不要使用 keep-alive 的 include,直接緩存所有頁面。詳情見' diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index cef09bc9d5..2d9678c76b 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -417,7 +417,8 @@ export default { eidttitle: '编辑标题', selectview: '选择视图', selectOthers: '选择组件', - availableComponents: '可选组件' + availableComponents: '可选组件', + please: '未' }, example: { warning: '创建和编辑页面是不能被 keep-alive 缓存的,因为keep-alive 的 include 目前不支持根据路由来缓存,所以目前都是基于 component name 来进行缓存的。如果你想类似的实现缓存效果,可以使用 localStorage 等浏览器缓存方案。或者不要使用 keep-alive 的 include,直接缓存所有页面。详情见' diff --git a/frontend/src/views/chart/chart/util.js b/frontend/src/views/chart/chart/util.js index c100ca2f23..a18542587e 100644 --- a/frontend/src/views/chart/chart/util.js +++ b/frontend/src/views/chart/chart/util.js @@ -61,6 +61,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -101,6 +102,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -144,6 +146,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -176,6 +179,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -208,6 +212,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -246,6 +251,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -352,6 +358,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -426,6 +433,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -500,6 +508,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -573,6 +582,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -639,6 +649,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -705,6 +716,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -778,6 +790,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -830,6 +843,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -882,6 +896,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -935,6 +950,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -985,6 +1001,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -1022,6 +1039,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ] @@ -1088,6 +1106,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], @@ -1135,6 +1154,7 @@ export const TYPE_CONFIGS = [ 'title', 'fontSize', 'color', + 'hPosition', 'isItalic', 'isBolder' ], diff --git a/frontend/src/views/panel/LinkJumpSet/index.vue b/frontend/src/views/panel/LinkJumpSet/index.vue index 22a1966c7c..66aaad1b9d 100644 --- a/frontend/src/views/panel/LinkJumpSet/index.vue +++ b/frontend/src/views/panel/LinkJumpSet/index.vue @@ -118,7 +118,7 @@ - + {{ viewField.name }} diff --git a/frontend/src/views/panel/OuterParamsSet/index.vue b/frontend/src/views/panel/OuterParamsSet/index.vue index a72b716d8d..a283df03f1 100644 --- a/frontend/src/views/panel/OuterParamsSet/index.vue +++ b/frontend/src/views/panel/OuterParamsSet/index.vue @@ -110,7 +110,7 @@ diff --git a/frontend/src/views/panel/list/EditPanel/index.vue b/frontend/src/views/panel/list/EditPanel/index.vue index a78ef75ff1..0645aaafd1 100644 --- a/frontend/src/views/panel/list/EditPanel/index.vue +++ b/frontend/src/views/panel/list/EditPanel/index.vue @@ -147,7 +147,7 @@ export default { } this.editPanel.panelInfo['newFrom'] = this.inputType this.loading = true - if (this.editPanel.optType === 'new') { + if (this.editPanel.optType === 'new' || this.editPanel.optType === 'newFirstFolder') { panelSave(this.editPanel.panelInfo).then(response => { this.$message({ message: this.$t('commons.save_success'), diff --git a/mobile/package.json b/mobile/package.json index d22d55817a..339ec78af2 100644 --- a/mobile/package.json +++ b/mobile/package.json @@ -1,6 +1,6 @@ { "name": "dataease-mobile", - "version": "0.1.0", + "version": "1.11.1", "private": true, "scripts": { "serve": "npm run dev:h5", diff --git a/mobile/pom.xml b/mobile/pom.xml index 08d09d4aa7..a1753f6557 100644 --- a/mobile/pom.xml +++ b/mobile/pom.xml @@ -6,7 +6,7 @@ dataease-server io.dataease - 1.11.0 + 1.11.1 4.0.0 diff --git a/pom.xml b/pom.xml index f95a0d87c0..495dd8cf5d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 io.dataease dataease-server - 1.11.0 + 1.11.1 pom