From 2ac9fde37a97e1ceb6b05aa9e5b0476a396339a9 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 22 十一月 2023 21:59:21 +0800 Subject: [PATCH] 2023-11-22 --- src/menu/components/chart/antv-bar/chartcompile/index.jsx | 170 ++++++++++++++++++++++++++++++-------------------------- 1 files changed, 92 insertions(+), 78 deletions(-) diff --git a/src/menu/components/chart/antv-bar/chartcompile/index.jsx b/src/menu/components/chart/antv-bar/chartcompile/index.jsx index 1bcb634..ff38788 100644 --- a/src/menu/components/chart/antv-bar/chartcompile/index.jsx +++ b/src/menu/components/chart/antv-bar/chartcompile/index.jsx @@ -574,46 +574,53 @@ _plot.customs = [] delete _plot.Yaxis } else if (_plot.Yaxis) { - let labels = {} - config.columns.forEach(col => { - labels[col.field] = col.label - }) + let yaxis = JSON.parse(JSON.stringify(_plot.Yaxis)) + let caxis = _plot.customs ? _plot.customs.map(m => m.type) : [] + yaxis.sort() + caxis.sort() + + if (JSON.stringify(yaxis) !== JSON.stringify(caxis)) { + let labels = {} + config.columns.forEach(col => { + labels[col.field] = col.label + }) + + let cus = {} + _plot.customs && _plot.customs.forEach(m => { + cus[m.type] = m + }) + _plot.customs = _plot.Yaxis.map((item, i) => { + if (cus[item]) return cus[item] + + return { + uuid: Utils.getuuid(), + type: item, + name: labels[item] || item, + axis: i === 0 ? 'true' : 'false', + label: 'false', + title: 'true', + shape: _plot.chartType === 'bar' && i === 0 ? ['bar', 'rect'] : ['line', 'smooth'] + } + }) - let cus = {} - _plot.customs && _plot.customs.forEach(m => { - cus[m.type] = m - }) - _plot.customs = _plot.Yaxis.map((item, i) => { - if (cus[item]) return cus[item] - - return { - uuid: Utils.getuuid(), - type: item, - name: labels[item] || item, - axis: i === 0 ? 'true' : 'false', - label: 'false', - title: 'true', - shape: _plot.chartType === 'bar' && i === 0 ? ['bar', 'rect'] : ['line', 'smooth'] - } - }) - - let cusColor = {} - let limit = chartColors.length - - _plot.colors && _plot.colors.forEach(m => { - cusColor[m.type] = m - }) - _plot.colors = _plot.Yaxis.map((item, i) => { - if (cusColor[item]) return cusColor[item] - - return { - uuid: Utils.getuuid(), - type: item, - label: labels[item] || item, - color: chartColors[i % limit], - color1: chartColors[i % limit] - } - }) + let cusColor = {} + let limit = chartColors.length + + _plot.colors && _plot.colors.forEach(m => { + cusColor[m.type] = m + }) + _plot.colors = _plot.Yaxis.map((item, i) => { + if (cusColor[item]) return cusColor[item] + + return { + uuid: Utils.getuuid(), + type: item, + label: labels[item] || item, + color: chartColors[i % limit], + color1: chartColors[i % limit] + } + }) + } } this.setState({ @@ -695,46 +702,53 @@ _plot.colors = _plot.colors || [] delete _plot.Yaxis } else if (_plot.Yaxis) { - let labels = {} - config.columns.forEach(col => { - labels[col.field] = col.label - }) + let yaxis = JSON.parse(JSON.stringify(_plot.Yaxis)) + let caxis = _plot.customs ? _plot.customs.map(m => m.type) : [] + yaxis.sort() + caxis.sort() - let cus = {} - _plot.customs && _plot.customs.forEach(m => { - cus[m.type] = m - }) - _plot.customs = _plot.Yaxis.map((item, i) => { - if (cus[item]) return cus[item] - - return { - uuid: Utils.getuuid(), - type: item, - name: labels[item] || item, - axis: i === 0 ? 'true' : 'false', - label: _plot.label === 'false' ? 'false' : true, - title: 'true', - shape: _plot.chartType === 'bar' && i === 0 ? ['bar', 'rect'] : ['line', 'smooth'] - } - }) - - let cusColor = {} - let limit = chartColors.length - - _plot.colors && _plot.colors.forEach(m => { - cusColor[m.type] = m - }) - _plot.colors = _plot.Yaxis.map((item, i) => { - if (cusColor[item]) return cusColor[item] - - return { - uuid: Utils.getuuid(), - type: item, - label: labels[item] || item, - color: chartColors[i % limit], - color1: chartColors[i % limit] - } - }) + if (JSON.stringify(yaxis) !== JSON.stringify(caxis)) { + let labels = {} + config.columns.forEach(col => { + labels[col.field] = col.label + }) + + let cus = {} + _plot.customs && _plot.customs.forEach(m => { + cus[m.type] = m + }) + _plot.customs = _plot.Yaxis.map((item, i) => { + if (cus[item]) return cus[item] + + return { + uuid: Utils.getuuid(), + type: item, + name: labels[item] || item, + axis: i === 0 ? 'true' : 'false', + label: _plot.label === 'false' ? 'false' : true, + title: 'true', + shape: _plot.chartType === 'bar' && i === 0 ? ['bar', 'rect'] : ['line', 'smooth'] + } + }) + + let cusColor = {} + let limit = chartColors.length + + _plot.colors && _plot.colors.forEach(m => { + cusColor[m.type] = m + }) + _plot.colors = _plot.Yaxis.map((item, i) => { + if (cusColor[item]) return cusColor[item] + + return { + uuid: Utils.getuuid(), + type: item, + label: labels[item] || item, + color: chartColors[i % limit], + color1: chartColors[i % limit] + } + }) + } } this.setState({ -- Gitblit v1.8.0