From a8ce990a4dce3e38493b3a11bfc66789a466d49c Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 16 Jun 2021 15:31:27 +0800 Subject: [PATCH 1/8] =?UTF-8?q?feat:=20=E9=BB=98=E8=AE=A4=E4=BB=AA?= =?UTF-8?q?=E8=A1=A8=E7=9B=98=E7=9B=B4=E6=8E=A5=E5=85=B3=E8=81=94=E6=BA=90?= =?UTF-8?q?=E4=BB=AA=E8=A1=A8=E7=9B=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/mapper/ext/ExtPanelGroupMapper.xml | 87 ++++++++++++++----- .../io/dataease/dto/panel/PanelGroupDTO.java | 8 ++ .../service/panel/PanelGroupService.java | 3 +- frontend/src/lang/en.js | 4 +- frontend/src/lang/tw.js | 4 +- frontend/src/lang/zh.js | 4 +- frontend/src/views/panel/list/PanelList.vue | 6 +- .../src/views/panel/list/PanelViewShow.vue | 3 + 8 files changed, 91 insertions(+), 28 deletions(-) diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelGroupMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelGroupMapper.xml index a345bfc4b0..8285cd02a4 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelGroupMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelGroupMapper.xml @@ -6,6 +6,10 @@ extends="io.dataease.base.mapper.PanelGroupMapper.BaseResultMap"> + + + + SELECT - id, - `name`, - pid, - `level`, - node_type, - create_by, - create_time, - panel_type, - `name` AS label - from panel_group - where panel_group.panel_type=#{panelType} + panel_group.id, + panel_group.`name`, + panel_group.pid, + panel_group.`level`, + panel_group.node_type, + panel_group.create_by, + panel_group.create_time, + panel_group.panel_type, + panel_group.`name` AS label, + panel_group.`source`, + panel_group.`panel_type`, + sourcePanelGroup.`name` as source_panel_name, + get_auths(panel_group.id,'panel',#{userId}) as `privileges` + from (select GET_V_AUTH_MODEL_ID_P_USE (#{userId}, 'panel') cids) t,panel_group + LEFT JOIN (select id,`name` from panel_group) sourcePanelGroup + on sourcePanelGroup.id=panel_group.source + + FIND_IN_SET(panel_group.id,cids) + + and panel_group.name like CONCAT('%', #{name},'%') + + + and panel_group.node_type = #{nodeType} + + + and panel_group.panel_type = #{panelType} + + + and panel_group.id = #{id} + + + and panel_group.pid = #{pid} + + + and panel_group.level = #{level} + + + + order by ${sort} + + + order by panel_group.create_time desc + - delete from panel_group where FIND_IN_SET(panel_group.id,GET_PANEL_GROUP_WITH_CHILDREN(#{pid})) + delete from panel_group where FIND_IN_SET(panel_group.id,GET_PANEL_GROUP_WITH_CHILDREN(#{pid})) or FIND_IN_SET(panel_group.source,GET_PANEL_GROUP_WITH_CHILDREN(#{pid})) + diff --git a/backend/src/main/java/io/dataease/dto/panel/PanelGroupDTO.java b/backend/src/main/java/io/dataease/dto/panel/PanelGroupDTO.java index ea0037b069..de6e95210f 100644 --- a/backend/src/main/java/io/dataease/dto/panel/PanelGroupDTO.java +++ b/backend/src/main/java/io/dataease/dto/panel/PanelGroupDTO.java @@ -21,6 +21,14 @@ public class PanelGroupDTO extends PanelGroupWithBLOBs implements ITreeBase children = new ArrayList<>(); 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 f7767b3f5c..845ec708b1 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -69,7 +69,7 @@ public class PanelGroupService { public List defaultTree(PanelGroupRequest panelGroupRequest) { String userId = String.valueOf(AuthUtils.getUser().getUserId()); panelGroupRequest.setUserId(userId); - List panelGroupDTOList = extPanelGroupMapper.panelGroupList(panelGroupRequest); + List panelGroupDTOList = extPanelGroupMapper.panelGroupListDefault(panelGroupRequest); List result = TreeUtils.mergeTree(panelGroupDTOList,"default_panel"); return result; } @@ -132,6 +132,7 @@ public class PanelGroupService { public void deleteCircle(String id) { Assert.notNull(id, "id cannot be null"); + // 同时会删除对应默认仪表盘 extPanelGroupMapper.deleteCircle(id); storeService.removeByPanelId(id); shareService.delete(id, null); diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 62d53745bb..953538d307 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -989,7 +989,9 @@ export default { border_style_dashed: 'Dashed', select_component: 'Check Component', other_module: 'Other', - content: 'Content' + content: 'Content', + default_panel_name: 'Default Dashboard Name', + source_panel_name: 'Source Dashboard Name' }, plugin: { local_install: 'Local installation', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index f037155335..c7cce7822f 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -989,7 +989,9 @@ export default { border_style_dashed: '虚线', select_component: '请选择组件', other_module: '其他', - content: '内容' + content: '内容', + default_panel_name: '默认仪表板名称', + source_panel_name: '原仪表板名称' }, plugin: { local_install: '本地安裝', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index 5e94313781..c9c23722be 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -989,7 +989,9 @@ export default { border_style_dashed: '虚线', select_component: '请选择组件', other_module: '其他', - content: '内容' + content: '内容', + default_panel_name: '默认仪表板名称', + source_panel_name: '原仪表板名称' }, plugin: { local_install: '本地安装', diff --git a/frontend/src/views/panel/list/PanelList.vue b/frontend/src/views/panel/list/PanelList.vue index 4eb8ae887d..cc2a2ac2f4 100644 --- a/frontend/src/views/panel/list/PanelList.vue +++ b/frontend/src/views/panel/list/PanelList.vue @@ -115,7 +115,7 @@ {{ $t('panel.create_public_links') }} - + {{ $t('panel.to_default_panel') }} @@ -575,7 +575,9 @@ export default { this.activeTree = data.panelType if (data.nodeType === 'panel') { // 加载视图数据 - findOne(data.id).then(response => { + // 如果是默认仪表盘 需要查询原仪表板的详细数据 + const queryPanelId = data.panelType === 'system' ? data.source : data.id + findOne(queryPanelId).then(response => { const componentDatas = JSON.parse(response.data.panelData) componentDatas.forEach(item => { item.filters = (item.filters || []) diff --git a/frontend/src/views/panel/list/PanelViewShow.vue b/frontend/src/views/panel/list/PanelViewShow.vue index 86dd1a4d30..88fb4c3d02 100644 --- a/frontend/src/views/panel/list/PanelViewShow.vue +++ b/frontend/src/views/panel/list/PanelViewShow.vue @@ -6,6 +6,9 @@
{{ panelInfo.name || '测试仪表板' }} +   + ({{ $t('panel.default_panel_name') }}:{{ panelInfo.defaultPanelName }}) + ({{ $t('panel.source_panel_name') }}:{{ panelInfo.sourcePanelName }}) From e80092e92b23ea7d051821b370b6b871a9a38918 Mon Sep 17 00:00:00 2001 From: junjie Date: Wed, 16 Jun 2021 15:41:58 +0800 Subject: [PATCH 2/8] =?UTF-8?q?feat(fix):=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E7=B1=BB=E5=9E=8B=E6=98=BE=E7=A4=BA=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/system/datasource/index.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/views/system/datasource/index.vue b/frontend/src/views/system/datasource/index.vue index 6b476a5139..35aad5728d 100644 --- a/frontend/src/views/system/datasource/index.vue +++ b/frontend/src/views/system/datasource/index.vue @@ -21,7 +21,7 @@ @@ -151,7 +151,7 @@ export default { field: 'type', label: this.$t('datasource.type'), component: 'FuComplexSelect', - options: [{ label: 'mysql', value: 'mysql' }, { label: 'sqlServer', value: 'sqlServer' }], + options: [{ label: 'MySQL', value: 'mysql' }, { label: 'SQL Server', value: 'sqlServer' }], multiple: false } // { field: 'deptId', label: '组织', component: conditionTable } From 6bf2a4f8ae5533512a770911934c793357306edc Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 16 Jun 2021 15:50:01 +0800 Subject: [PATCH 3/8] =?UTF-8?q?fix:=20=E5=88=87=E6=8D=A2=E4=B8=80=E7=BA=A7?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=20=E6=B8=85=E7=90=86=E5=8E=9F=E6=9C=89?= =?UTF-8?q?=E4=BB=AA=E8=A1=A8=E6=9D=BF=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/panel/list/PanelMain.vue | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/frontend/src/views/panel/list/PanelMain.vue b/frontend/src/views/panel/list/PanelMain.vue index c3bda969d8..291b5e2e0a 100644 --- a/frontend/src/views/panel/list/PanelMain.vue +++ b/frontend/src/views/panel/list/PanelMain.vue @@ -55,7 +55,7 @@ export default { } }, mounted() { - this.$store.dispatch('panel/setMainActiveName', 'PanelMain') + this.clear() }, methods: { handleClick(tab, event) { @@ -74,7 +74,17 @@ export default { refreshEnshrine() { this.showEnshrine = false this.$nextTick(() => (this.showEnshrine = true)) + }, + clear() { + // 清空 + this.$store.dispatch('panel/setPanelInfo', { + id: null, + name: '', + preStyle: null + }) + this.$store.dispatch('panel/setMainActiveName', 'PanelMain') } + } } From eb986ffdd1e8b608e4a0340e34fb39006b7610a3 Mon Sep 17 00:00:00 2001 From: maninhill <41712985+maninhill@users.noreply.github.com> Date: Wed, 16 Jun 2021 15:51:53 +0800 Subject: [PATCH 4/8] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d712eb8e5c..6e20dc3c78 100644 --- a/README.md +++ b/README.md @@ -7,10 +7,6 @@ DataEase 是开源的数据可视化分析工具,帮助用户分析数据、 - 数据引擎: 支持直连模式、本地模式(基于 Apache Doris / Kettle 实现); - 数据连接: 支持关系型数据库、Excel 等文件、Hadoop 等大数据平台、NoSQL 等各种数据源。 -## 功能架构 - -![de-architecture](https://dataease.oss-cn-hangzhou.aliyuncs.com/img/de-architecture.png) - ## UI 展示 ![de-ui](https://dataease.oss-cn-hangzhou.aliyuncs.com/img/de-ui.png) @@ -39,6 +35,10 @@ curl -sSL https://github.com/dataease/dataease/releases/latest/download/quick_st ![wechat-group](https://dataease.oss-cn-hangzhou.aliyuncs.com/img/wechat-group.png) +## 功能架构 + +![de-architecture](https://dataease.oss-cn-hangzhou.aliyuncs.com/img/de-architecture.png) + ## 产品优势 - 开源开放:零门槛,线上快速获取和安装;快速获取用户反馈、按月发布新版本; From d89efc707d68983273dbe6a845388b1296c4266f Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 16 Jun 2021 16:55:22 +0800 Subject: [PATCH 5/8] =?UTF-8?q?fix:=20=E4=BB=AA=E8=A1=A8=E7=9B=98=20?= =?UTF-8?q?=E8=83=8C=E6=99=AF=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=85=A8=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/canvas/components/Editor/Preview.vue | 9 ++++++--- .../canvas/components/Editor/PreviewFullScreen.vue | 2 +- frontend/src/views/panel/edit/index.vue | 2 +- frontend/src/views/panel/list/PanelViewShow.vue | 2 +- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/frontend/src/components/canvas/components/Editor/Preview.vue b/frontend/src/components/canvas/components/Editor/Preview.vue index 2428dca442..7234cf5eab 100644 --- a/frontend/src/components/canvas/components/Editor/Preview.vue +++ b/frontend/src/components/canvas/components/Editor/Preview.vue @@ -55,15 +55,17 @@ export default { scaleWidth: '100', scaleHeight: '100', timer: null, - componentDataShow: [] + componentDataShow: [], + mainWidth: '100%', + mainHeight: '100%' } }, computed: { customStyle() { let style = { margin: 'auto', - width: '100%', - height: '100%' + width: this.mainWidth, + height: this.mainHeight } if (this.canvasStyleData.openCommonStyle) { if (this.canvasStyleData.panel.backgroundType === 'image' && this.canvasStyleData.panel.imageUrl) { @@ -122,6 +124,7 @@ export default { this.scaleHeight = canvasHeight * 100 / parseInt(this.canvasStyleData.height)// 获取高度比 if (this.showType === 'width') { this.scaleHeight = this.scaleWidth + this.mainHeight = this.canvasStyleData.height * this.scaleHeight / 100 + 'px' } this.handleScaleChange() }, diff --git a/frontend/src/components/canvas/components/Editor/PreviewFullScreen.vue b/frontend/src/components/canvas/components/Editor/PreviewFullScreen.vue index de99c92323..7cd783afda 100644 --- a/frontend/src/components/canvas/components/Editor/PreviewFullScreen.vue +++ b/frontend/src/components/canvas/components/Editor/PreviewFullScreen.vue @@ -1,6 +1,6 @@