summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchenjinsong <[email protected]>2023-02-10 15:23:19 +0800
committerchenjinsong <[email protected]>2023-02-10 15:23:19 +0800
commit2aa7f6edfb2d2df38015fc68032d6264a854696e (patch)
treeace0fdc727f7ddfa7955557e297506aaa4109cc8
parent6ed9c4f5fe9864ba8723b2b5eb2c809081cc14b9 (diff)
fix: 修复ip实体详情右上角饼图请求参数太长导致请求失败的问题22.12-6suo
-rw-r--r--src/views/charts/charts/ChartEchartIpHostedDomain.vue24
1 files 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
}
}