From cd912b52718b586ce552948cc7aa2eb3d0c52e2d Mon Sep 17 00:00:00 2001 From: "hong.yang" Date: Wed, 6 Sep 2023 15:17:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=E6=96=B0=E7=9A=84=E5=B5=8C=E5=A5=97=E7=BB=84?= =?UTF-8?q?=E4=BB=B6Tab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化组件获取数据接口,兼容新的嵌套组件Tab --- .../chart/components/ChartTabChart.java | 41 ++++++++++++++++++- .../chart/controller/ChartDataController.java | 9 ++++ 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/components/ChartTabChart.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/components/ChartTabChart.java index 305f107e..28893d0f 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/components/ChartTabChart.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/components/ChartTabChart.java @@ -27,7 +27,7 @@ public class ChartTabChart extends Chart{ public static class Customize { @ApiModelProperty(notes = "组件tab列表") - private List tabList; + private List tabList; @ApiModelProperty(notes = "字体大小") private Integer fontSize; @@ -38,6 +38,45 @@ public class ChartTabChart extends Chart{ @ApiModelProperty(notes = "字体颜色") private String color; + @ApiModelProperty(notes = "线条颜色") + private String lineColor; + + @ApiModelProperty(notes = "线条位置") + private String position; + + } + + @Data + public static class Tab { + + @ApiModelProperty(notes = "组件编码") + private String chartCode; + + @ApiModelProperty(notes = "组件名称") + private String name; + + @ApiModelProperty(notes = "tab图表") + private Chart chart; + } + + /** + * 获取内部图表 + * @param chartCode + * @return + */ + public Chart getInnerChart(String chartCode) { + if (customize == null) { + return null; + } + if (customize.tabList == null || customize.tabList.isEmpty()) { + return null; + } + for (Tab tab : customize.tabList) { + if (tab.getChartCode().equals(chartCode)) { + return tab.getChart(); + } + } + return null; } } diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/controller/ChartDataController.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/controller/ChartDataController.java index e18735d6..53314840 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/controller/ChartDataController.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/controller/ChartDataController.java @@ -3,6 +3,7 @@ package com.gccloud.dataroom.core.module.chart.controller; import com.gccloud.dataroom.core.module.basic.dto.BasePageDTO; import com.gccloud.dataroom.core.module.basic.entity.PageEntity; import com.gccloud.dataroom.core.module.chart.bean.Chart; +import com.gccloud.dataroom.core.module.chart.components.ChartTabChart; import com.gccloud.dataroom.core.module.chart.components.ScreenFlyMapChart; import com.gccloud.dataroom.core.module.chart.dto.ChartDataSearchDTO; import com.gccloud.dataroom.core.module.chart.service.BaseChartDataService; @@ -111,6 +112,14 @@ public class ChartDataController { if (chart.getCode().equals(code)) { return chart; } + // 如果是Tab图表,尝试从内部图表中获取 + if (chart instanceof ChartTabChart) { + ChartTabChart chartTabChart = (ChartTabChart) chart; + Chart innerChart = chartTabChart.getInnerChart(code); + if (innerChart != null) { + return innerChart; + } + } } return null; }