diff --git a/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java index ed6218f281..24950e1580 100644 --- a/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -357,6 +357,10 @@ public class ChartViewService { } List extStack = gson.fromJson(view.getExtStack(), new TypeToken>() { }.getType()); + if (StringUtils.equalsIgnoreCase(view.getType(), "scatter") && StringUtils.equalsIgnoreCase(view.getRender(), "antv")) { + xAxis.addAll(extStack); + } + if (CollectionUtils.isNotEmpty(xAxis) && StringUtils.equals(xAxis.get(0).getGroupType(), "q") && StringUtils.equalsIgnoreCase(view.getRender(), "antv")) { List xAxisExt = gson.fromJson(view.getXAxisExt(), new TypeToken>() { }.getType()); @@ -1882,7 +1886,15 @@ public class ChartViewService { getIndex = i; } } - if (StringUtils.equalsIgnoreCase(fieldType, "extStack")) { + boolean skipAddIndex = false; + if (StringUtils.equalsIgnoreCase(fieldType, "extStack") && StringUtils.equalsIgnoreCase("antv", view.getRender()) && StringUtils.equalsIgnoreCase("scatter", view.getType())) { + List xAxis = gson.fromJson(view.getXAxis(), new TypeToken>() { + }.getType()); + if (CollectionUtils.isNotEmpty(xAxis) && StringUtils.equalsIgnoreCase(xAxis.get(0).getGroupType(), "q")) { + skipAddIndex = true; + } + } + if (StringUtils.equalsIgnoreCase(fieldType, "extStack") && !skipAddIndex) { List stack = gson.fromJson(view.getXAxis(), new TypeToken>() { }.getType()); index += stack.size(); diff --git a/core/frontend/src/views/chart/view/ChartEdit.vue b/core/frontend/src/views/chart/view/ChartEdit.vue index 384b63c3db..a6d33e7051 100644 --- a/core/frontend/src/views/chart/view/ChartEdit.vue +++ b/core/frontend/src/views/chart/view/ChartEdit.vue @@ -2435,7 +2435,7 @@ export default { } }) if (equalsAny(view.type, 'table-pivot', 'bar-group', 'bar-group-stack', 'flow-map', 'race-bar') || - (view.render === 'antv' && view.type === 'line')) { + (view.render === 'antv' && (view.type === 'line' || view.type === 'scatter'))) { view.xaxisExt.forEach(function(ele) { if (!ele.dateStyle || ele.dateStyle === '') { ele.dateStyle = 'y_M_d' @@ -3305,6 +3305,7 @@ export default { this.calcData(true) }, stackItemCustomSort(item) { + console.log(item, this.view.extStack[item.index]) this.customSortField = this.view.extStack[item.index] this.stackCustomSort() },