From 2aa7f6edfb2d2df38015fc68032d6264a854696e Mon Sep 17 00:00:00 2001 From: chenjinsong <523037378@qq.com> Date: Fri, 10 Feb 2023 15:23:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dip=E5=AE=9E=E4=BD=93?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E5=8F=B3=E4=B8=8A=E8=A7=92=E9=A5=BC=E5=9B=BE?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E5=8F=82=E6=95=B0=E5=A4=AA=E9=95=BF=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E8=AF=B7=E6=B1=82=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../charts/ChartEchartIpHostedDomain.vue | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/views/charts/charts/ChartEchartIpHostedDomain.vue b/src/views/charts/charts/ChartEchartIpHostedDomain.vue index 1d782f47..45193bac 100644 --- a/src/views/charts/charts/ChartEchartIpHostedDomain.vue +++ b/src/views/charts/charts/ChartEchartIpHostedDomain.vue @@ -35,10 +35,12 @@ export default { initEcharts (id) { this.initDom(id, 2) const chartParams = this.chartInfo.params - const domains = this.chartData.map(function (item, i) { + let domains = this.chartData.map(function (item, i) { return item.domain }).join(',') - + // 参数字符串限制长度在4300以内。经测试,超过4600左右会报错 + domains = domains.substring(0, 4300) + domains = domains.substring(0, domains.lastIndexOf(',')) const byType = new Promise(resolve => { get(replaceUrlPlaceholder(chartParams.byCategoryUrl, { domains: domains })).then(response => { if (response.code === 200) { @@ -47,7 +49,7 @@ export default { } else { // this.noData0 = false // chartOption = this.$_.cloneDeep(this.chartOption) - const data = response.data.result.sort(reverseSortBy('uniqDomains')).map(d => { + const originalData = response.data.result.sort(reverseSortBy('uniqDomains')).map(d => { return { data: d, name: d.categoryName, @@ -55,6 +57,22 @@ export default { unitType: chartParams.unitType } }) + const data = originalData.filter((d, i) => i < 5) + let otherValue = 0 + originalData.forEach((d, i) => { + if (i > 4) { + otherValue += parseInt(d.uniqDomains) + } + }) + data.push({ + data: { + uniqDomains: otherValue, + categoryName: 'other' + }, + name: 'other', + value: otherValue, + unitType: chartParams.unitType + }) this.chartOption.series[0].data = data } }