From 0e4da56e1d91a3c9df9d523cf3f6b137010f3a09 Mon Sep 17 00:00:00 2001 From: junjun Date: Mon, 30 May 2022 17:53:55 +0800 Subject: [PATCH 01/16] =?UTF-8?q?refactor:=20=E8=A7=86=E5=9B=BE=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=BF=AB=E9=80=9F=E5=88=A0=E9=99=A4=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/components/drag-item/ChartDragItem.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/chart/components/drag-item/ChartDragItem.vue b/frontend/src/views/chart/components/drag-item/ChartDragItem.vue index 134968c658..1f0343777d 100644 --- a/frontend/src/views/chart/components/drag-item/ChartDragItem.vue +++ b/frontend/src/views/chart/components/drag-item/ChartDragItem.vue @@ -257,7 +257,7 @@ export default { .item-span-style{ display: inline-block; - width: 100px; + width: 80px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; From 7cd4950233a794e04e4951915eaa4c48786a35bf Mon Sep 17 00:00:00 2001 From: junjun Date: Mon, 30 May 2022 17:54:21 +0800 Subject: [PATCH 02/16] =?UTF-8?q?revert:=20=E6=81=A2=E5=A4=8D=E8=AF=AF?= =?UTF-8?q?=E5=88=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/components/component-style/XAxisSelectorAntV.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/chart/components/component-style/XAxisSelectorAntV.vue b/frontend/src/views/chart/components/component-style/XAxisSelectorAntV.vue index fc352ee843..ae1c84dee0 100644 --- a/frontend/src/views/chart/components/component-style/XAxisSelectorAntV.vue +++ b/frontend/src/views/chart/components/component-style/XAxisSelectorAntV.vue @@ -71,7 +71,7 @@ - + From 38300c4ab6366881b1150d4ff25434a21c20559c Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 30 May 2022 18:10:57 +0800 Subject: [PATCH 03/16] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E7=AC=A6?= =?UTF-8?q?=E5=8F=B7=E5=9C=B0=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/DeDrag/index.vue | 3 +++ .../canvas/components/Editor/index.vue | 16 ++++++++++++++++ .../canvas/custom-component/UserView.vue | 4 ++++ 3 files changed, 23 insertions(+) diff --git a/frontend/src/components/DeDrag/index.vue b/frontend/src/components/DeDrag/index.vue index bf683a80d9..98add1ebf9 100644 --- a/frontend/src/components/DeDrag/index.vue +++ b/frontend/src/components/DeDrag/index.vue @@ -751,6 +751,9 @@ export default { } return [null, null] }, + triggerPluginEdit(e) { + this.elementMouseDown(e) + }, // 元素触摸按下 elementTouchDown(e) { eventsFor = events.touch diff --git a/frontend/src/components/canvas/components/Editor/index.vue b/frontend/src/components/canvas/components/Editor/index.vue index e48d8a95fc..c5c50d1b3e 100644 --- a/frontend/src/components/canvas/components/Editor/index.vue +++ b/frontend/src/components/canvas/components/Editor/index.vue @@ -100,6 +100,7 @@ :h="getShapeStyleIntDeDrag(item.style,'height')" :canvas-style-data="canvasStyleData" @input="handleInput" + @trigger-plugin-edit="pluginEditHandler" /> @@ -1067,6 +1068,21 @@ export default { created() { }, methods: { + pluginEditHandler({ e, id }) { + let index = -1 + for (let i = 0; i < this.componentData.length; i++) { + const item = this.componentData[i] + const itemId = item.id + if (id === itemId) { + index = i + break + } + } + if (index >= 0) { + const _this = this + _this.$refs.deDragRef && _this.$refs.deDragRef[index] && _this.$refs.deDragRef[index].triggerPluginEdit && _this.$refs.deDragRef[index].triggerPluginEdit(e) + } + }, linkageActiveCheck(item) { return this.linkageSettingStatus && item === this.curLinkageView }, diff --git a/frontend/src/components/canvas/custom-component/UserView.vue b/frontend/src/components/canvas/custom-component/UserView.vue index bb6b9fd515..c387523dfc 100644 --- a/frontend/src/components/canvas/custom-component/UserView.vue +++ b/frontend/src/components/canvas/custom-component/UserView.vue @@ -36,6 +36,7 @@ class="chart-class" @onChartClick="chartClick" @onJumpClick="jumpClick" + @trigger-edit-click="pluginEditHandler" /> Date: Tue, 31 May 2022 14:31:57 +0800 Subject: [PATCH 04/16] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E6=A0=91?= =?UTF-8?q?=E5=BD=A2=E8=BF=87=E6=BB=A4=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package.json | 3 +- .../src/components/ElTreeSelect/index.vue | 31 +++++++++++++++++-- .../widget/DeWidget/DeSelectTree.vue | 3 +- frontend/src/main.js | 3 +- .../panel/filter/filterMain/FilterHead.vue | 24 +++++++++++--- 5 files changed, 54 insertions(+), 10 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index d249dea758..5d4f072e69 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -94,7 +94,8 @@ "script-ext-html-webpack-plugin": "2.1.3", "script-loader": "^0.7.2", "serve-static": "^1.13.2", - "vue-template-compiler": "2.6.10" + "vue-template-compiler": "2.6.10", + "vuetify": "^2.6.6" }, "engines": { "node": ">=8.9", diff --git a/frontend/src/components/ElTreeSelect/index.vue b/frontend/src/components/ElTreeSelect/index.vue index ac3ad6d816..df60a28571 100644 --- a/frontend/src/components/ElTreeSelect/index.vue +++ b/frontend/src/components/ElTreeSelect/index.vue @@ -408,6 +408,7 @@ export default { // 树点击 _treeNodeClickFun(data, node, vm) { const { multiple } = this.selectParams + if (multiple) return // 多选 不允许点击节点 const { clickParent } = this.treeParams const checkStrictly = this.treeParams['check-strictly'] const { propsValue, propsChildren, propsDisabled } = this @@ -481,16 +482,42 @@ export default { this.$emit('check', data, node, vm) this._emitFun() }, + allKidIds(node, ids) { + ids = ids || [] + if (!node) { + return + } + const stack = [] + stack.push(node) + let tmpNode + while (stack.length > 0) { + tmpNode = stack.pop() + ids.push(tmpNode.id) + if (tmpNode.children && tmpNode.children.length > 0) { + var i = tmpNode.children.length - 1 + for (i = tmpNode.children.length - 1; i >= 0; i--) { + stack.push(tmpNode.children[i]) + } + } + } + return ids + }, // 下拉框移除tag时触发 _selectRemoveTag(tag) { const { data, propsValue, propsLabel, propsChildren } = this + const { multiple } = this.selectParams each( data, item => { const labels = this.showParent ? this.cascadeLabels(item) : item[propsLabel] if (labels === tag) { - const value = item[propsValue] - this.ids = this.ids.filter(id => id !== value) + if (multiple && item.children && item.children.length) { + const needCancelIds = this.allKidIds(item) || [] + this.ids = this.ids.filter(id => !needCancelIds.includes(id)) + } else { + const value = item[propsValue] + this.ids = this.ids.filter(id => id !== value) + } } }, propsChildren diff --git a/frontend/src/components/widget/DeWidget/DeSelectTree.vue b/frontend/src/components/widget/DeWidget/DeSelectTree.vue index 794dbe37b8..f1559bba25 100644 --- a/frontend/src/components/widget/DeWidget/DeSelectTree.vue +++ b/frontend/src/components/widget/DeWidget/DeSelectTree.vue @@ -129,7 +129,8 @@ export default { this.$nextTick(() => { this.$refs.deSelectTree && this.$refs.deSelectTree.treeDataUpdateFun(this.datas) }) - }) || (this.element.options.value = '') + }) + this.element.options.value = '' }, 'element.options.attrs.multiple': function(value, old) { if (typeof old === 'undefined' || value === old) return diff --git a/frontend/src/main.js b/frontend/src/main.js index c3fb239100..0bd473aca9 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -2,6 +2,7 @@ import Vue from 'vue' import Cookies from 'js-cookie' import '@/styles/index.scss' // global css import ElementUI from 'element-ui' +import Vuetify from 'vuetify' import Fit2CloudUI from 'fit2cloud-ui' import i18n from './lang' // internationalization @@ -51,7 +52,7 @@ Vue.use(fullscreen) import VueFriendlyIframe from 'vue-friendly-iframe' Vue.use(VueFriendlyIframe) - +Vue.use(Vuetify) // import TEditor from '@/components/Tinymce/index.vue' // Vue.component('TEditor', TEditor) diff --git a/frontend/src/views/panel/filter/filterMain/FilterHead.vue b/frontend/src/views/panel/filter/filterMain/FilterHead.vue index d18ddf8dfa..c981702641 100644 --- a/frontend/src/views/panel/filter/filterMain/FilterHead.vue +++ b/frontend/src/views/panel/filter/filterMain/FilterHead.vue @@ -5,17 +5,18 @@
- + -
+ + + + + + + {{ $t('panel.drag_here') }}
From 0d1863741ec8235615b57aa1453ecfd4804ca3d3 Mon Sep 17 00:00:00 2001 From: junjun Date: Tue, 31 May 2022 16:52:42 +0800 Subject: [PATCH 05/16] =?UTF-8?q?refactor:=20=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/dataset/group/Group.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frontend/src/views/dataset/group/Group.vue b/frontend/src/views/dataset/group/Group.vue index 91b952da3d..10d34fc7eb 100644 --- a/frontend/src/views/dataset/group/Group.vue +++ b/frontend/src/views/dataset/group/Group.vue @@ -531,6 +531,9 @@ export default { if (!userCache) { this.tData = res.data } + this.$nextTick(() => { + this.$refs.datasetTreeRef.filter(this.filterText) + }) }) }, From dee05a5d94fd6600f6e32d6d3ffd4081326d1931 Mon Sep 17 00:00:00 2001 From: junjun Date: Tue, 31 May 2022 16:53:40 +0800 Subject: [PATCH 06/16] =?UTF-8?q?fix:=20=E6=81=A2=E5=A4=8D=E8=A7=86?= =?UTF-8?q?=E5=9B=BE=E8=BD=B4=E5=80=BC=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/chart/util.js | 75 ++++++++++++++++++++------ 1 file changed, 58 insertions(+), 17 deletions(-) diff --git a/frontend/src/views/chart/chart/util.js b/frontend/src/views/chart/chart/util.js index 81371bf86a..17375a8f6f 100644 --- a/frontend/src/views/chart/chart/util.js +++ b/frontend/src/views/chart/chart/util.js @@ -342,6 +342,7 @@ export const TYPE_CONFIGS = [ 'position', 'name', 'nameTextStyle', + 'axisValue', 'splitLine', 'axisForm', 'axisLabel' @@ -415,6 +416,7 @@ export const TYPE_CONFIGS = [ 'position', 'name', 'nameTextStyle', + 'axisValue', 'splitLine', 'axisForm', 'axisLabel' @@ -488,6 +490,7 @@ export const TYPE_CONFIGS = [ 'position', 'name', 'nameTextStyle', + 'axisValue', 'splitLine', 'axisForm', 'axisLabel' @@ -560,6 +563,7 @@ export const TYPE_CONFIGS = [ 'position', 'name', 'nameTextStyle', + 'axisValue', 'splitLine', 'axisForm', 'axisLabel' @@ -625,6 +629,7 @@ export const TYPE_CONFIGS = [ 'position', 'name', 'nameTextStyle', + 'axisValue', 'splitLine', 'axisForm', 'axisLabel' @@ -764,7 +769,6 @@ export const TYPE_CONFIGS = [ 'position', 'name', 'nameTextStyle', - 'axisValue', 'splitLine', 'axisForm', 'axisLabel' @@ -1069,6 +1073,7 @@ export const TYPE_CONFIGS = [ 'position', 'name', 'nameTextStyle', + 'axisValue', 'splitLine', 'axisForm', 'axisLabel' @@ -1367,18 +1372,23 @@ export const TYPE_CONFIGS = [ 'formatter' ], 'x-axis-selector': [ + 'axisForm', 'show', 'position', 'name', 'nameTextStyle', - 'splitLine' + 'splitLine', + 'axisLabel' ], 'y-axis-selector': [ + 'axisForm', 'show', 'position', 'name', 'nameTextStyle', - 'splitLine' + 'axisValue', + 'splitLine', + 'axisLabel' ], 'title-selector': [ 'show', @@ -1441,18 +1451,23 @@ export const TYPE_CONFIGS = [ 'formatter' ], 'x-axis-selector': [ + 'axisForm', 'show', 'position', 'name', 'nameTextStyle', - 'splitLine' + 'splitLine', + 'axisLabel' ], 'y-axis-selector': [ + 'axisForm', 'show', 'position', 'name', 'nameTextStyle', - 'splitLine' + 'axisValue', + 'splitLine', + 'axisLabel' ], 'title-selector': [ 'show', @@ -1527,14 +1542,17 @@ export const TYPE_CONFIGS = [ 'position', 'name', 'nameTextStyle', - 'splitLine' + 'splitLine', + 'axisLabel' ], 'y-axis-selector': [ 'show', 'position', 'name', 'nameTextStyle', - 'splitLine' + 'axisValue', + 'splitLine', + 'axisLabel' ], 'y-axis-ext-selector': [ 'show', @@ -1605,18 +1623,23 @@ export const TYPE_CONFIGS = [ 'formatter' ], 'x-axis-selector': [ + 'axisForm', 'show', 'position', 'name', 'nameTextStyle', - 'splitLine' + 'splitLine', + 'axisLabel' ], 'y-axis-selector': [ + 'axisForm', 'show', 'position', 'name', 'nameTextStyle', - 'splitLine' + 'axisValue', + 'splitLine', + 'axisLabel' ], 'title-selector': [ 'show', @@ -1679,18 +1702,23 @@ export const TYPE_CONFIGS = [ 'formatter' ], 'x-axis-selector': [ + 'axisForm', 'show', 'position', 'name', 'nameTextStyle', - 'splitLine' + 'splitLine', + 'axisLabel' ], 'y-axis-selector': [ + 'axisForm', 'show', 'position', 'name', 'nameTextStyle', - 'splitLine' + 'axisValue', + 'splitLine', + 'axisLabel' ], 'title-selector': [ 'show', @@ -1753,19 +1781,23 @@ export const TYPE_CONFIGS = [ 'formatter' ], 'x-axis-selector': [ + 'axisForm', 'show', 'position', 'name', 'nameTextStyle', 'axisValue', - 'splitLine' + 'splitLine', + 'axisLabel' ], 'y-axis-selector': [ + 'axisForm', 'show', 'position', 'name', 'nameTextStyle', - 'splitLine' + 'splitLine', + 'axisLabel' ], 'title-selector': [ 'show', @@ -1828,20 +1860,24 @@ export const TYPE_CONFIGS = [ 'formatter' ], 'x-axis-selector': [ + 'axisForm', 'show', 'position', 'name', 'nameTextStyle', 'axisValue', - 'splitLine' + 'splitLine', + 'axisLabel' ], 'y-axis-selector': [ + 'axisForm', 'show', 'position', 'name', 'nameTextStyle', 'axisValue', - 'splitLine' + 'splitLine', + 'axisLabel' ], 'title-selector': [ 'show', @@ -2134,18 +2170,23 @@ export const TYPE_CONFIGS = [ 'formatter' ], 'x-axis-selector': [ + 'axisForm', 'show', 'position', 'name', 'nameTextStyle', - 'splitLine' + 'splitLine', + 'axisLabel' ], 'y-axis-selector': [ + 'axisForm', 'show', 'position', 'name', 'nameTextStyle', - 'splitLine' + 'axisValue', + 'splitLine', + 'axisLabel' ], 'title-selector': [ 'show', From ad5f8f688497b5cd1a81035cedc01a151ef2dd9e Mon Sep 17 00:00:00 2001 From: junjun Date: Tue, 31 May 2022 17:07:55 +0800 Subject: [PATCH 07/16] =?UTF-8?q?fix:=20=E6=81=A2=E5=A4=8D=E8=A7=86?= =?UTF-8?q?=E5=9B=BE=E8=BD=B4=E5=80=BC=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/chart/util.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/src/views/chart/chart/util.js b/frontend/src/views/chart/chart/util.js index dec42e6b29..886dbfbe98 100644 --- a/frontend/src/views/chart/chart/util.js +++ b/frontend/src/views/chart/chart/util.js @@ -944,6 +944,11 @@ export const TYPE_CONFIGS = [ 'orient', 'textStyle', 'hPosition' + ], + 'split-selector-ant-v': [ + 'splitForm', + 'name', + 'lineStyle' ] } }, From 8aa0bf2153f46318a4a60c918fe429cd21b5ec2b Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 31 May 2022 19:03:27 +0800 Subject: [PATCH 08/16] =?UTF-8?q?fix:=20=E8=A1=8C=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataset/DataSetTableFieldController.java | 8 +++---- .../service/dataset/DataSetFieldService.java | 4 ++-- .../impl/direct/DirectFieldService.java | 24 +++++++++---------- 3 files changed, 18 insertions(+), 18 deletions(-) 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 dcf6bc6c74..3f75355a5d 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java @@ -159,7 +159,7 @@ public class DataSetTableFieldController { public List multFieldValues(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception { List results = new ArrayList<>(); for (String fieldId : multFieldValuesRequest.getFieldIds()) { - List fieldValues = dataSetFieldService.fieldValues(fieldId, multFieldValuesRequest.getUserId(), true); + List fieldValues = dataSetFieldService.fieldValues(fieldId, multFieldValuesRequest.getUserId(), true, false); if (CollectionUtil.isNotEmpty(fieldValues)) { results.addAll(fieldValues); } @@ -185,13 +185,13 @@ public class DataSetTableFieldController { DecodedJWT jwt = JWT.decode(linkToken); Long userId = jwt.getClaim("userId").asLong(); multFieldValuesRequest.setUserId(userId); - return dataSetFieldService.fieldValues(multFieldValuesRequest.getFieldIds(), multFieldValuesRequest.getUserId(), true, true); + return dataSetFieldService.fieldValues(multFieldValuesRequest.getFieldIds(), multFieldValuesRequest.getUserId(), true, true,false); } @ApiIgnore @PostMapping("mappingFieldValues") public List mappingFieldValues(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception { - return dataSetFieldService.fieldValues(multFieldValuesRequest.getFieldIds(), multFieldValuesRequest.getUserId(), true, true); + return dataSetFieldService.fieldValues(multFieldValuesRequest.getFieldIds(), multFieldValuesRequest.getUserId(), true, true, false); } @ApiIgnore @@ -199,7 +199,7 @@ public class DataSetTableFieldController { public List multFieldValuesForPermissions(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception { List results = new ArrayList<>(); for (String fieldId : multFieldValuesRequest.getFieldIds()) { - List fieldValues = dataSetFieldService.fieldValues(fieldId, multFieldValuesRequest.getUserId(), false); + List fieldValues = dataSetFieldService.fieldValues(fieldId, multFieldValuesRequest.getUserId(), false, true); if (CollectionUtil.isNotEmpty(fieldValues)) { results.addAll(fieldValues); } diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetFieldService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetFieldService.java index 4e5e59449b..e2b580dbe3 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetFieldService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetFieldService.java @@ -5,7 +5,7 @@ import java.util.List; public interface DataSetFieldService { - List fieldValues(String fieldId, Long userId, Boolean userPermissions) throws Exception; + List fieldValues(String fieldId, Long userId, Boolean userPermissions, Boolean rowAndColumnMgm) throws Exception; - List fieldValues(List fieldIds, Long userId, Boolean userPermissions, Boolean needMapping) throws Exception; + List fieldValues(List fieldIds, Long userId, Boolean userPermissions, Boolean needMapping, Boolean rowAndColumnMgm) throws Exception; } diff --git a/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java b/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java index 73ecc9f28f..e719621141 100644 --- a/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java +++ b/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java @@ -45,14 +45,14 @@ public class DirectFieldService implements DataSetFieldService { private EngineService engineService; @Override - public List fieldValues(String fieldId, Long userId, Boolean userPermissions) throws Exception { + public List fieldValues(String fieldId, Long userId, Boolean userPermissions, Boolean rowAndColumnMgm) throws Exception { List filedIds = new ArrayList<>(); filedIds.add(fieldId); - return fieldValues(filedIds, userId, userPermissions, false); + return fieldValues(filedIds, userId, userPermissions, false, rowAndColumnMgm); } @Override - public List fieldValues(List fieldIds, Long userId, Boolean userPermissions, Boolean needMapping) throws Exception { + public List fieldValues(List fieldIds, Long userId, Boolean userPermissions, Boolean needMapping, Boolean rowAndColumnMgm) throws Exception { String fieldId = fieldIds.get(0); DatasetTableField field = dataSetTableFieldsService.selectByPrimaryKey(fieldId); if (field == null || StringUtils.isEmpty(field.getTableId())) return null; @@ -70,22 +70,15 @@ public class DirectFieldService implements DataSetFieldService { List permissionFields = fields; List customFilter = new ArrayList<>(); - if(userPermissions){ + if (userPermissions) { //列权限 List desensitizationList = new ArrayList<>(); fields = permissionService.filterColumnPermissons(fields, desensitizationList, datasetTable.getId(), userId); - Map fieldMap = fields.stream().collect(Collectors.toMap(DatasetTableField::getId, node -> node)); permissionFields = fieldIds.stream().map(fieldMap::get).collect(Collectors.toList()); - //permissionFields = fields.stream().filter(node -> fieldIds.stream().anyMatch(item -> StringUtils.equals(node.getId(), item))).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(permissionFields)) { return new ArrayList<>(); } - //禁用的 - /*if(!fields.stream().map(DatasetTableField::getId).collect(Collectors.toList()).contains(fieldId)){ - return new ArrayList<>(); - }*/ if (CollectionUtils.isNotEmpty(desensitizationList) && desensitizationList.contains(field.getDataeaseName())) { List results = new ArrayList<>(); results.add(ColumnPermissionConstants.Desensitization_desc); @@ -94,6 +87,13 @@ public class DirectFieldService implements DataSetFieldService { //行权限 customFilter = permissionService.getCustomFilters(fields, datasetTable, userId); } + if (rowAndColumnMgm) { + Map fieldMap = fields.stream().collect(Collectors.toMap(DatasetTableField::getId, node -> node)); + permissionFields = fieldIds.stream().map(fieldMap::get).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(permissionFields)) { + return new ArrayList<>(); + } + } DatasourceRequest datasourceRequest = new DatasourceRequest(); Provider datasourceProvider = null; @@ -148,7 +148,7 @@ public class DirectFieldService implements DataSetFieldService { } - private List buildTreeNode(String [] row, Set pkSet) { + private List buildTreeNode(String[] row, Set pkSet) { List nodes = new ArrayList<>(); List parentPkList = new ArrayList<>(); for (int i = 0; i < row.length; i++) { From 5608e576cdbd2d9f1d05c28f9e801a14600bd2e0 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 31 May 2022 19:03:54 +0800 Subject: [PATCH 09/16] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/lang/en.js | 2 +- frontend/src/lang/tw.js | 2 +- frontend/src/lang/zh.js | 2 +- frontend/src/views/system/datasource/DsTree.vue | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 5348297bd4..8e627521c0 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -1349,7 +1349,7 @@ export default { client_principal: 'Client Principal', keytab_Key_path: 'Keytab Key Path', datasource: 'Data Source', - please_select_left: 'Please select the data source from the left', + please_select_left: 'Please select data from the left', show_info: 'Data Source Info', create: 'Create Data Source', type: 'Type', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index 21d143a8aa..fd8c401e24 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -1349,7 +1349,7 @@ export default { client_principal: 'Client Principal', keytab_Key_path: 'Keytab Key Path', datasource: '數據源', - please_select_left: '請從左側選擇數據源', + please_select_left: '請從左側選擇', show_info: '數據源信息', create: '新建數據源', type: '類型', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index 954491ad27..cef09bc9d5 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -1351,7 +1351,7 @@ export default { client_principal: 'Client Principal', keytab_Key_path: 'Keytab Key Path', datasource: '数据源', - please_select_left: '请从左侧选择数据源', + please_select_left: '请从左侧选择', show_info: '数据源信息', create: '新建数据源', type: '类型', diff --git a/frontend/src/views/system/datasource/DsTree.vue b/frontend/src/views/system/datasource/DsTree.vue index f3e91a7156..48adad7d43 100644 --- a/frontend/src/views/system/datasource/DsTree.vue +++ b/frontend/src/views/system/datasource/DsTree.vue @@ -9,7 +9,6 @@ {{ $t('datasource.create') }} {{ $t('driver.mgm') }} - @@ -324,12 +323,14 @@ export default { }, driverMgm() { + this.$emit('switch-main', {}) this.showView = 'Driver' this.expandedArray = [] this.tData = [] this.queryTreeDatas() }, dsMgm() { + this.$emit('switch-main', {}) this.showView = 'Datasource' this.expandedArray = [] this.tData = [] From 126e1ba55afd6d1aaf2ea1a0bd04140900113bd8 Mon Sep 17 00:00:00 2001 From: junjun Date: Tue, 31 May 2022 19:36:04 +0800 Subject: [PATCH 10/16] =?UTF-8?q?fix:=20=E6=81=A2=E5=A4=8D=E9=A5=BC?= =?UTF-8?q?=E5=9B=BE=E6=A0=87=E7=AD=BE=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/chart/util.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/chart/chart/util.js b/frontend/src/views/chart/chart/util.js index 886dbfbe98..820119b829 100644 --- a/frontend/src/views/chart/chart/util.js +++ b/frontend/src/views/chart/chart/util.js @@ -1934,7 +1934,7 @@ export const TYPE_CONFIGS = [ 'labelLine', 'fontSize', 'color', - 'position-v', + 'position-pie', 'formatter' ], 'tooltip-selector': [ From 01c1a50029563f95d8d91f201ed19c45debd8c10 Mon Sep 17 00:00:00 2001 From: junjun Date: Tue, 31 May 2022 19:36:04 +0800 Subject: [PATCH 11/16] =?UTF-8?q?fix:=20=E6=81=A2=E5=A4=8D=E9=A5=BC?= =?UTF-8?q?=E5=9B=BE=E6=A0=87=E7=AD=BE=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/chart/util.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/chart/chart/util.js b/frontend/src/views/chart/chart/util.js index 886dbfbe98..820119b829 100644 --- a/frontend/src/views/chart/chart/util.js +++ b/frontend/src/views/chart/chart/util.js @@ -1934,7 +1934,7 @@ export const TYPE_CONFIGS = [ 'labelLine', 'fontSize', 'color', - 'position-v', + 'position-pie', 'formatter' ], 'tooltip-selector': [ From 2f8beea85b0cc9e83491739bbf319835c0bbe697 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 31 May 2022 22:17:29 +0800 Subject: [PATCH 12/16] =?UTF-8?q?fix:=20=E5=88=87=E6=8D=A2=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E7=B1=BB=E5=9E=8B=E6=95=B0=E6=8D=AE=E6=BA=90=E4=B8=8D?= =?UTF-8?q?=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/service/chart/ChartViewService.java | 6 ------ frontend/src/views/system/plugin/PluginCom.vue | 11 +++++++++++ 2 files changed, 11 insertions(+), 6 deletions(-) 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 a7b80de8b2..25190fb6c8 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -419,24 +419,18 @@ public class ChartViewService { } datasourceRequest.setQuery(sql); data = datasourceProvider.getData(datasourceRequest); - - Map mapChart = pluginViewResult(pluginViewParam, view, data, isDrill); - Map mapTableNormal = ChartDataBuild.transTableNormal(xAxis, yAxis, view, data, extStack, desensitizationList); - return data; // 如果是插件到此结束 } //如果不是插件视图 走原生逻辑 if (table.getMode() == 0) {// 直连 - // Datasource ds = datasourceService.get(table.getDataSourceId()); if (ObjectUtils.isEmpty(ds)) { throw new RuntimeException(Translator.get("i18n_datasource_delete")); } if (StringUtils.isNotEmpty(ds.getStatus()) && ds.getStatus().equalsIgnoreCase("Error")) { throw new Exception(Translator.get("i18n_invalid_ds")); } - // DatasourceProvider datasourceProvider = ProviderFactory.getProvider(ds.getType()); datasourceRequest.setDatasource(ds); DataTableInfoDTO dataTableInfoDTO = gson.fromJson(table.getInfo(), DataTableInfoDTO.class); QueryProvider qp = ProviderFactory.getQueryProvider(ds.getType()); diff --git a/frontend/src/views/system/plugin/PluginCom.vue b/frontend/src/views/system/plugin/PluginCom.vue index 3ffcdf3d9f..fddd1c2463 100644 --- a/frontend/src/views/system/plugin/PluginCom.vue +++ b/frontend/src/views/system/plugin/PluginCom.vue @@ -56,6 +56,17 @@ export default { this.showAsync = false } }, + watch: { + 'componentName': function () { + this.refId = uuid.v1 + if (this.componentName) { + this.showAsync = true + this.url = this.baseUrl + this.componentName + } else { + this.showAsync = false + } + } + }, methods: { // hasLicense executeAxios(options) { From 8b9b0e45646405e4484ed3dec33cc71ffbb35bc9 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 1 Jun 2022 00:17:59 +0800 Subject: [PATCH 13/16] =?UTF-8?q?fix:=20db2=20time=20=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provider/query/db2/Db2QueryProvider.java | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java b/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java index 3d4f9d5a31..9a03447184 100644 --- a/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java @@ -108,7 +108,11 @@ public class Db2QueryProvider extends QueryProvider { if (f.getDeType() == DeTypeConstants.DE_INT || f.getDeType() == DeTypeConstants.DE_FLOAT) { fieldName = String.format(Db2Constants.UNIX_TIMESTAMP, originField); } else { - fieldName = originField; + if(f.getType().equalsIgnoreCase("TIME")){ + fieldName = String.format(Db2Constants.FORMAT_TIME, originField, Db2Constants.DEFAULT_DATE_FORMAT); + }else { + fieldName = originField; + } } } else if (f.getDeExtractType() == DeTypeConstants.DE_STRING) { if (f.getDeType() == DeTypeConstants.DE_INT) { @@ -779,7 +783,11 @@ public class Db2QueryProvider extends QueryProvider { whereName = String.format(Db2Constants.FROM_UNIXTIME, cast, Db2Constants.DEFAULT_DATE_FORMAT); } if (field.getDeExtractType() == DeTypeConstants.DE_TIME) { - whereName = originName; + if(field.getType().equalsIgnoreCase("TIME")){ + whereName = String.format(Db2Constants.FORMAT_TIME, originName, Db2Constants.DEFAULT_DATE_FORMAT); + }else { + whereName = originName; + } } } else if (field.getDeType() == 2 || field.getDeType() == 3) { if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) { @@ -883,7 +891,11 @@ public class Db2QueryProvider extends QueryProvider { whereName = String.format(Db2Constants.FROM_UNIXTIME, cast, Db2Constants.DEFAULT_DATE_FORMAT); } if (field.getDeExtractType() == DeTypeConstants.DE_TIME) { - whereName = originName; + if(field.getType().equalsIgnoreCase("TIME")){ + whereName = String.format(Db2Constants.FORMAT_TIME, originName, Db2Constants.DEFAULT_DATE_FORMAT); + }else { + whereName = originName; + } } } else if (field.getDeType() == 2 || field.getDeType() == 3) { if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) { @@ -982,7 +994,11 @@ public class Db2QueryProvider extends QueryProvider { fieldName = String.format(Db2Constants.UNIX_TIMESTAMP, originField) + "*1000"; } else if (x.getDeType() == DeTypeConstants.DE_TIME) { String format = transDateFormat(x.getDateStyle(), x.getDatePattern()); - fieldName = String.format(Db2Constants.DATE_FORMAT, originField, format); + if(x.getType().equalsIgnoreCase("TIME")){ + fieldName = String.format(Db2Constants.FORMAT_TIME, originField, format); + }else { + fieldName = String.format(Db2Constants.DATE_FORMAT, originField, format); + } } else { fieldName = originField; } From f3218fc87de6e19955b4874401daafddcda69f92 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 1 Jun 2022 00:20:07 +0800 Subject: [PATCH 14/16] =?UTF-8?q?fix:=20=E8=8E=B7=E5=8F=96=20StarRocks=20?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/dataease/provider/datasource/JdbcProvider.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java index ea85812798..f460504f02 100644 --- a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java @@ -111,7 +111,7 @@ public class JdbcProvider extends DefaultJdbcProvider { } catch (SQLException e) { DataEaseException.throwException(e); } catch (Exception e) { - if (datasourceRequest.getDatasource().getType().equalsIgnoreCase("ds_doris")) { + if (datasourceRequest.getDatasource().getType().equalsIgnoreCase("ds_doris") || datasourceRequest.getDatasource().getType().equalsIgnoreCase("StarRocks")) { datasourceRequest.setQuery("select * from " + datasourceRequest.getTable()); return fetchResultField(datasourceRequest); } else { From 0c4735666bcbaf4dde3c3ef6d45d1e4c62fe95e3 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 1 Jun 2022 00:49:38 +0800 Subject: [PATCH 15/16] =?UTF-8?q?fix:=20=E8=B6=85=E6=97=B6=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/system/SysParam/ClusterModeSetting.vue | 2 -- frontend/src/views/system/SysParam/SimpleModeSetting.vue | 2 -- 2 files changed, 4 deletions(-) diff --git a/frontend/src/views/system/SysParam/ClusterModeSetting.vue b/frontend/src/views/system/SysParam/ClusterModeSetting.vue index 9e3b62bff1..9e0d067251 100644 --- a/frontend/src/views/system/SysParam/ClusterModeSetting.vue +++ b/frontend/src/views/system/SysParam/ClusterModeSetting.vue @@ -281,8 +281,6 @@ export default { this.$error(res.message.substring(0, 2500) + '......') } } - }).catch(res => { - this.$error(res.message) }) } else { return false diff --git a/frontend/src/views/system/SysParam/SimpleModeSetting.vue b/frontend/src/views/system/SysParam/SimpleModeSetting.vue index 871e4155f7..2b77350737 100644 --- a/frontend/src/views/system/SysParam/SimpleModeSetting.vue +++ b/frontend/src/views/system/SysParam/SimpleModeSetting.vue @@ -246,8 +246,6 @@ export default { this.$error(res.message.substring(0, 2500) + '......') } } - }).catch(res => { - this.$error(res.message) }) } else { return false From e5ad92ae9119adbc2f4e152bd82abb529ee750bc Mon Sep 17 00:00:00 2001 From: junjun Date: Wed, 1 Jun 2022 11:04:50 +0800 Subject: [PATCH 16/16] =?UTF-8?q?fix:=20=E6=81=A2=E5=A4=8D=E7=BB=84?= =?UTF-8?q?=E5=90=88=E5=9B=BE=E5=89=AF=E8=BD=B4=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/chart/util.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/src/views/chart/chart/util.js b/frontend/src/views/chart/chart/util.js index 820119b829..c100ca2f23 100644 --- a/frontend/src/views/chart/chart/util.js +++ b/frontend/src/views/chart/chart/util.js @@ -1564,7 +1564,9 @@ export const TYPE_CONFIGS = [ 'position', 'name', 'nameTextStyle', - 'splitLine' + 'axisValue', + 'splitLine', + 'axisLabel' ], 'title-selector': [ 'show',