diff --git a/core/core-backend/src/main/java/io/dataease/chart/charts/impl/DefaultChartHandler.java b/core/core-backend/src/main/java/io/dataease/chart/charts/impl/DefaultChartHandler.java index abfaf1499f..bd89919c5e 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/charts/impl/DefaultChartHandler.java +++ b/core/core-backend/src/main/java/io/dataease/chart/charts/impl/DefaultChartHandler.java @@ -245,21 +245,25 @@ public class DefaultChartHandler extends AbstractChartPlugin { return list; } - protected List getAssistFields(List list, List yAxis) { + protected List getAssistFields(List list, List axis) { + return getAssistFields(list, axis, SQLConstants.FIELD_ALIAS_Y_PREFIX); + } + + protected List getAssistFields(List list, List axis, String prefix) { List res = new ArrayList<>(); for (ChartSeniorAssistDTO dto : list) { DatasetTableFieldDTO curField = dto.getCurField(); - ChartViewFieldDTO yField = null; + ChartViewFieldDTO targetField = null; String alias = ""; - for (int i = 0; i < yAxis.size(); i++) { - ChartViewFieldDTO field = yAxis.get(i); + for (int i = 0; i < axis.size(); i++) { + ChartViewFieldDTO field = axis.get(i); if (Objects.equals(field.getId(), curField.getId())) { - yField = field; - alias = String.format(SQLConstants.FIELD_ALIAS_Y_PREFIX, i); + targetField = field; + alias = String.format(prefix, i); break; } } - if (ObjectUtils.isEmpty(yField)) { + if (ObjectUtils.isEmpty(targetField)) { continue; } diff --git a/core/core-backend/src/main/java/io/dataease/chart/charts/impl/table/TablePivotHandler.java b/core/core-backend/src/main/java/io/dataease/chart/charts/impl/table/TablePivotHandler.java index 88b5e9cd9e..05006ebf63 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/charts/impl/table/TablePivotHandler.java +++ b/core/core-backend/src/main/java/io/dataease/chart/charts/impl/table/TablePivotHandler.java @@ -3,6 +3,7 @@ package io.dataease.chart.charts.impl.table; import io.dataease.api.dataset.union.DatasetGroupInfoDTO; import io.dataease.chart.charts.impl.GroupChartHandler; import io.dataease.constant.DeTypeConstants; +import io.dataease.constant.SQLConstants; import io.dataease.engine.constant.ExtFieldConstant; import io.dataease.engine.sql.SQLProvider; import io.dataease.engine.trans.Dimension2SQLObj; @@ -44,7 +45,16 @@ public class TablePivotHandler extends GroupChartHandler { var originSql = result.getQuerySql(); var dynamicAssistFields = getDynamicThresholdFields(view); var yAxis = formatResult.getAxisMap().get(ChartAxis.yAxis); - var assistFields = getAssistFields(dynamicAssistFields, yAxis); + var xAxis = formatResult.getAxisMap().get(ChartAxis.xAxis); + var dimAxis = new ArrayList<>(xAxis); + var xAxisExt = formatResult.getAxisMap().get(ChartAxis.xAxisExt); + if (xAxisExt != null) { + dimAxis.addAll(xAxisExt); + } + var yAssistFields = getAssistFields(dynamicAssistFields, yAxis); + var assistFields = new ArrayList<>(yAssistFields); + var xAssistFields = getAssistFields(dynamicAssistFields, dimAxis, SQLConstants.FIELD_ALIAS_X_PREFIX); + assistFields.addAll(xAssistFields); if (CollectionUtils.isNotEmpty(assistFields)) { var req = new DatasourceRequest(); req.setIsCross(crossDs); diff --git a/core/core-frontend/src/views/chart/components/editor/editor-style/components/table/TableHeaderSelector.vue b/core/core-frontend/src/views/chart/components/editor/editor-style/components/table/TableHeaderSelector.vue index f4c98171d1..85198b9f2e 100644 --- a/core/core-frontend/src/views/chart/components/editor/editor-style/components/table/TableHeaderSelector.vue +++ b/core/core-frontend/src/views/chart/components/editor/editor-style/components/table/TableHeaderSelector.vue @@ -425,7 +425,7 @@ onMounted(() => { /> - +