From 1f2005712bd088e4ec22a4fd4007f02d832f458e Mon Sep 17 00:00:00 2001 From: wisonic-s Date: Wed, 21 Dec 2022 17:56:43 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(=E8=A7=86=E5=9B=BE(=E6=8A=98=E7=BA=BF?= =?UTF-8?q?=E5=9B=BE)):=20=E4=BF=AE=E5=A4=8D=E6=8A=98=E7=BA=BF=E5=9B=BE?= =?UTF-8?q?=E6=9C=89=E5=AD=90=E7=BB=B4=E5=BA=A6=E6=97=B6=E6=8C=87=E6=A0=87?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E5=A4=B1=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes https://github.com/dataease/dataease/issues/4137 --- frontend/src/views/chart/chart/common/common_antv.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend/src/views/chart/chart/common/common_antv.js b/frontend/src/views/chart/chart/common/common_antv.js index 32a1e2f091..c869d8132c 100644 --- a/frontend/src/views/chart/chart/common/common_antv.js +++ b/frontend/src/views/chart/chart/common/common_antv.js @@ -153,7 +153,7 @@ export function getLabel(chart) { // label value formatter if (chart.type && chart.type !== 'waterfall') { label.formatter = function(param) { - let yAxis, extStack + let yAxis, extStack, xaxisExt let res = param.value try { yAxis = JSON.parse(chart.yaxis) @@ -165,11 +165,16 @@ export function getLabel(chart) { } catch (e) { extStack = JSON.parse(JSON.stringify(chart.extStack)) } + try { + xaxisExt = JSON.parse(chart.xaxisExt) + } catch (e) { + xaxisExt = JSON.parse(JSON.stringify(chart.xaxisExt)) + } - if (equalsAny(chart.type, 'bar-stack', 'line-stack', + if (equalsAny(chart.type, 'line', 'bar-stack', 'line-stack', 'bar-stack-horizontal', 'percentage-bar-stack', 'percentage-bar-stack-horizontal')) { let f - if (extStack && extStack.length > 0) { + if (extStack?.length > 0 || xaxisExt?.length > 0) { f = yAxis[0] } else { for (let i = 0; i < yAxis.length; i++) { From 54d9f5d5f1d2d70787d269953bc37f8b054e4398 Mon Sep 17 00:00:00 2001 From: wisonic-s Date: Wed, 21 Dec 2022 17:58:03 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=8E=B7=E5=8F=96=E4=BB=AA=E8=A1=A8=E6=9D=BF?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../panel/PanelGroupController.java | 7 ++++ .../io/dataease/ext/ExtPanelGroupMapper.java | 3 ++ .../io/dataease/ext/ExtPanelGroupMapper.xml | 34 +++++++++++++++++++ .../service/panel/PanelGroupService.java | 12 +++++++ 4 files changed, 56 insertions(+) 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 28bb812286..dbe2e68035 100644 --- a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java +++ b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java @@ -14,6 +14,7 @@ import io.dataease.dto.PermissionProxy; import io.dataease.dto.authModel.VAuthModelDTO; import io.dataease.dto.panel.PanelExport2App; import io.dataease.dto.panel.PanelGroupDTO; +import io.dataease.plugins.common.base.domain.PanelGroup; import io.dataease.service.panel.PanelGroupService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -50,6 +51,12 @@ public class PanelGroupController { return panelGroupService.tree(request); } + @ApiOperation("查询当前用户仪表板") + @GetMapping("/list") + public List list() { + return panelGroupService.list(); + } + @ApiOperation("默认树") @PostMapping("/defaultTree") public List defaultTree(@RequestBody PanelGroupRequest request) { diff --git a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java index 68d10de928..30dbcd2c75 100644 --- a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java +++ b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java @@ -3,6 +3,7 @@ package io.dataease.ext; import io.dataease.controller.request.panel.PanelGroupRequest; import io.dataease.dto.RelationDTO; import io.dataease.dto.panel.PanelGroupDTO; +import io.dataease.plugins.common.base.domain.PanelGroup; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -30,4 +31,6 @@ public interface ExtPanelGroupMapper { List panelGroupInit(); List queryPanelRelation(@Param("panelId") String panelId, @Param("userId") Long userId); + + List listPanelByUser(@Param("userId") long userId); } diff --git a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml index d172a7e8f4..4c6343e5e3 100644 --- a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml +++ b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml @@ -320,4 +320,38 @@ where pg.id=#{panelId,jdbcType=VARCHAR} group by dt.id + + 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 947073c9dd..64f48249e3 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import io.dataease.auth.annotation.DeCleaner; +import io.dataease.auth.api.dto.CurrentUserDto; import io.dataease.commons.constants.*; import io.dataease.commons.utils.*; import io.dataease.controller.request.authModel.VAuthModelRequest; @@ -151,6 +152,17 @@ public class PanelGroupService { return TreeUtils.mergeTree(panelGroupDTOList, "default_panel"); } + public List list() { + CurrentUserDto user = AuthUtils.getUser(); + if (user.getIsAdmin()) { + PanelGroupExample example = new PanelGroupExample(); + example.setOrderByClause("name"); + example.createCriteria().andNodeTypeEqualTo("panel"); + return panelGroupMapper.selectByExample(example); + } + return extPanelGroupMapper.listPanelByUser(user.getUserId()); + } + @DeCleaner(value = DePermissionType.PANEL, key = "pid") public String save(PanelGroupRequest request) { checkPanelName(request.getName(), request.getPid(), PanelConstants.OPT_TYPE_INSERT, null, request.getNodeType());