From 75c21bf04dde50b0a46bf3ac931a5b3f9115c367 Mon Sep 17 00:00:00 2001 From: fit2cloudrd Date: Thu, 25 Aug 2022 11:55:22 +0800 Subject: [PATCH 1/2] =?UTF-8?q?refactor(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BF=AE=E5=A4=8D=E5=AF=8C=E6=96=87=E6=9C=AC?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E6=96=87=E6=A1=88=EF=BC=8Ctab=E9=A1=B5?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E6=98=BE=E7=A4=BA=E4=BC=98=E5=8C=96=20(#2936?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(仪表板): 修复富文本在tab页无效的问题 * refactor(富文本): 富文本编辑区结果展示文案修改,去掉下钻 * refactor(富文本): 富文本字段选择按钮再进入编辑状态再显示 * fix(仪表板): 富文本初始化进入仪表板编辑状态保存按钮会显示可以用问题 Co-authored-by: wangjiahao <1522128093@qq.com> --- .../panel/PanelGroupController.java | 6 ++++++ .../service/panel/PanelGroupService.java | 19 +++++++++++++++++++ frontend/src/api/panel/panel.js | 8 ++++++++ .../canvas/components/Editor/EditBar.vue | 4 ++-- .../custom-component/DeRichTextView.vue | 4 ++-- .../src/components/widget/DeWidget/DeTabs.vue | 19 ++++++++++++++++--- frontend/src/lang/en.js | 1 + frontend/src/lang/tw.js | 1 + frontend/src/lang/zh.js | 1 + frontend/src/views/chart/view/ChartEdit.vue | 9 ++++++--- 10 files changed, 62 insertions(+), 10 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java index fd2c029ae3..cb7d2e7ed7 100644 --- a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java +++ b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java @@ -185,4 +185,10 @@ public class PanelGroupController { public void viewLog(@RequestBody PanelViewLogRequest request) { panelGroupService.viewLog(request); } + @ApiOperation("获取仪表板中视图Element信息") + @GetMapping("/findPanelElementInfo/{viewId}") + @I18n + public Object findPanelElementInfo(@PathVariable String viewId){ + return panelGroupService.findPanelElementInfo(viewId); + } } diff --git a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java index 721354df67..652ffbcc85 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -1,5 +1,7 @@ package io.dataease.service.panel; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import io.dataease.auth.annotation.DeCleaner; import io.dataease.commons.constants.*; @@ -698,4 +700,21 @@ public class PanelGroupService { } DeLogUtils.save(operateType, sourceType, panelId, panel.getPid(), null, null); } + + public Object findPanelElementInfo(String viewId){ + PanelView panelView = panelViewService.findByViewId(viewId); + if(panelView!=null){ + PanelGroupWithBLOBs panelGroupWithBLOBs = panelGroupMapper.selectByPrimaryKey(panelView.getPanelId()); + if(panelGroupWithBLOBs != null){ + JSONArray panelData = JSONObject.parseArray(panelGroupWithBLOBs.getPanelData()); + for(int i = 0;i - + @@ -131,7 +131,7 @@ export default { return this.curComponent.type === 'view' && this.curComponent.propValue.innerType !== 'richTextView' }, selectFieldShow() { - return this.activeModel === 'edit' && this.curComponent.type === 'view' && this.curComponent.propValue.innerType === 'richTextView' + return this.activeModel === 'edit' && this.curComponent.type === 'view' && this.curComponent.propValue.innerType === 'richTextView' && this.curComponent.editing }, curComponentTypes() { const types = [] diff --git a/frontend/src/components/canvas/custom-component/DeRichTextView.vue b/frontend/src/components/canvas/custom-component/DeRichTextView.vue index 17ad238e19..0a9d9d35b2 100644 --- a/frontend/src/components/canvas/custom-component/DeRichTextView.vue +++ b/frontend/src/components/canvas/custom-component/DeRichTextView.vue @@ -131,9 +131,9 @@ export default { viewInit(){ bus.$on('fieldSelect-' + this.element.propValue.viewId, this.fieldSelect) tinymce.init({}) + this.myValue = this.assignment(this.element.propValue.textValue) + bus.$on('initCurFields-' + this.element.id, this.initCurFieldsChange) this.$nextTick(()=>{ - this.myValue = this.assignment(this.element.propValue.textValue) - bus.$on('initCurFields-' + this.element.id, this.initCurFieldsChange) this.initReady=true }) }, diff --git a/frontend/src/components/widget/DeWidget/DeTabs.vue b/frontend/src/components/widget/DeWidget/DeTabs.vue index d732b64d82..7faa4f591b 100644 --- a/frontend/src/components/widget/DeWidget/DeTabs.vue +++ b/frontend/src/components/widget/DeWidget/DeTabs.vue @@ -159,6 +159,7 @@ import { mapState } from 'vuex' import { chartCopy } from '@/api/chart/chart' import { buildFilterMap } from '@/utils/conditionUtil' import TabUseList from '@/views/panel/AssistComponent/tabUseList' +import {findPanelElementInfo} from "@/api/panel/panel"; export default { name: 'DeTabls', @@ -366,7 +367,8 @@ export default { component = JSON.parse(JSON.stringify(componentTemp)) const propValue = { id: newComponentId, - viewId: componentInfo.id + viewId: componentInfo.id, + textValue: '' } component.propValue = propValue component.filters = [] @@ -382,9 +384,20 @@ export default { this.curItem.name = newComponentId this.viewDialogVisible = false this.activeTabName = newComponentId - this.$store.dispatch('chart/setViewId', component.propValue.viewId) - this.styleChange() + if(node.modelInnerType==='richTextView'){ + findPanelElementInfo(node.innerId).then(viewElement =>{ + if(viewElement.data){ + this.curItem.content.propValue.textValue = viewElement.data.propValue.textValue + } + this.$store.dispatch('chart/setViewId', component.propValue.viewId) + this.styleChange() + }) + }else{ + this.$store.dispatch('chart/setViewId', component.propValue.viewId) + this.styleChange() + } }) + }, setComponentInfo() { diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index c1377d1baa..0694b84a10 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -794,6 +794,7 @@ export default { classification_name: 'Classification Name:' }, chart: { + rich_text_view_result_tips: 'The rich text view selects only the first result', rich_text_view: 'Rich Text View', view_reset: 'View Reset', view_reset_tips: 'Discard Changes To View?', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index 76c62061f2..25802472e5 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -795,6 +795,7 @@ export default { classification_name: '分類名稱' }, chart: { + rich_text_view_result_tips: '富文本只选取第一条结果', rich_text_view: '富文本视图', view_reset: '視圖重置', view_reset_tips: '放棄對視圖的修改?', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index 38636373f2..20b1e84037 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -796,6 +796,7 @@ export default { classification_name: '分类名称' }, chart: { + rich_text_view_result_tips: '富文本只选取第一条结果', rich_text_view: '富文本视图', view_reset: '视图重置', view_reset_tips: '放弃对视图的修改?', diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue index 0bf31fa173..a76739c6bf 100644 --- a/frontend/src/views/chart/view/ChartEdit.vue +++ b/frontend/src/views/chart/view/ChartEdit.vue @@ -254,10 +254,13 @@
- + + Tips:{{ $t('chart.rich_text_view_result_tips') }} + + {{ $t('chart.result_count') }} - + From 183b06019a4beb6ae1893bb75d553dc472b24c7f Mon Sep 17 00:00:00 2001 From: fit2cloudrd Date: Thu, 25 Aug 2022 13:39:25 +0800 Subject: [PATCH 2/2] =?UTF-8?q?refactor(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E5=AF=8C=E6=96=87=E6=9C=AC=E5=A4=87=E9=80=89=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AE=B0=E5=BD=95=E6=95=B0=20(#2940)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(仪表板): 修复富文本在tab页无效的问题 * refactor(富文本): 富文本编辑区结果展示文案修改,去掉下钻 * refactor(富文本): 富文本字段选择按钮再进入编辑状态再显示 * fix(仪表板): 富文本初始化进入仪表板编辑状态保存按钮会显示可以用问题 * refactor(仪表板): 富文本备选字段增加记录数 Co-authored-by: wangjiahao <1522128093@qq.com> --- .../src/components/canvas/components/Editor/EditBar.vue | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/frontend/src/components/canvas/components/Editor/EditBar.vue b/frontend/src/components/canvas/components/Editor/EditBar.vue index 532378f95f..c1314fe9c3 100644 --- a/frontend/src/components/canvas/components/Editor/EditBar.vue +++ b/frontend/src/components/canvas/components/Editor/EditBar.vue @@ -225,13 +225,8 @@ export default { if (chartInfo) { this.curFields = [] const chartDetails = JSON.parse(chartInfo) - if (chartDetails.type === 'richTextView' && chartDetails.data && chartDetails.data.sourceFields) { - const checkAllAxisStr = chartDetails.xaxis + chartDetails.xaxisExt + chartDetails.yaxis + chartDetails.yaxisExt - chartDetails.data.sourceFields.forEach(field => { - if (checkAllAxisStr.indexOf(field.id) > -1) { - this.curFields.push(field) - } - }) + if (chartDetails.type === 'richTextView' && chartDetails.data) { + this.curFields = chartDetails.data.fields } } }