fix: 优化部分折线图表代码和逻辑

This commit is contained in:
@changcode
2023-01-12 18:00:19 +08:00
parent bd1eeec770
commit a8643b8543
3 changed files with 57 additions and 76 deletions

View File

@@ -473,18 +473,16 @@ export default {
return this.sizes[sortIndex]
},
initData (data, val, active, show) {
let bytes = []
let queries = []
let lineData = []
if (data !== undefined && data.length > 0) {
data.forEach((item) => {
if (item.type.indexOf('bytes') > -1) {
bytes = Object.keys(item).map(t => {
return {
...item[t]
if (item.type === 'bytes') {
item.type = 'Bits/s'
} else if (item.type === 'queries') {
item.type = 'Queries/s'
}
})
} else if (item.type.indexOf('queries') > -1) {
queries = Object.keys(item).map(t => {
if (item.type === val) {
lineData = Object.keys(item).map(t => {
return {
...item[t]
}
@@ -492,13 +490,10 @@ export default {
}
})
}
bytes.splice(0, 1)
queries.splice(0, 1)
if (val === 'Bits/s') {
this.legendInit(bytes, active, show, 'bps')
} else if (val === 'Queries/s') {
lineData.splice(0, 1)
const mpackets = _.cloneDeep(this.mpackets)
queries.forEach((d, i) => {
if (val === 'Queries/s') {
lineData.forEach((d, i) => {
mpackets[i].data = d.values
mpackets[i].analysis = d.analysis
})
@@ -513,16 +508,18 @@ export default {
})
this.mpackets = mpackets
this.echartsInit(this.mpackets, true)
} else {
const unit = 'bps'
this.legendInit(lineData, active, show, unit, mpackets)
}
},
legendInit (data, active, show, type) {
const mpackets = _.cloneDeep(this.mpackets)
legendInit (data, active, show, type, dnsData) {
data.forEach((d, i) => {
mpackets[i].data = d.values
mpackets[i].analysis = d.analysis
dnsData[i].data = d.values
dnsData[i].analysis = d.analysis
})
let num = 0
mpackets.forEach(e => {
dnsData.forEach(e => {
e.unitType = type
if (e.name !== 'network.total' && parseFloat(e.analysis.avg) === 0) {
e.show = false
@@ -541,11 +538,11 @@ export default {
}
}
})
this.mpackets = mpackets
this.mpackets = dnsData
if (num === 3) {
mpackets[0].invertTab = false
dnsData[0].invertTab = false
this.lineTab = 'total'
this.legendSelectChange(mpackets[0], 0)
this.legendSelectChange(dnsData[0], 0)
this.echartsInit(this.mpackets)
} else {
this.echartsInit(this.mpackets, show)

View File

@@ -373,18 +373,16 @@ export default {
return this.sizes[sortIndex]
},
initData (data, val, active, show) {
let bytes = []
let packets = []
let lineData = []
if (data !== undefined && data.length > 0) {
data.forEach((item) => {
if (item.type.indexOf('bytes') > -1) {
bytes = Object.keys(item).map(t => {
return {
...item[t]
if (item.type === 'bytes') {
item.type = 'Bits/s'
} else if (item.type === 'packets') {
item.type = 'Packets/s'
}
})
} else if (item.type.indexOf('packets') > -1) {
packets = Object.keys(item).map(t => {
if (item.type === val) {
lineData = Object.keys(item).map(t => {
return {
...item[t]
}
@@ -392,22 +390,18 @@ export default {
}
})
}
bytes.splice(0, 1)
packets.splice(0, 1)
if (val === 'Bits/s') {
this.legendInit(bytes, active, show, 'bps')
} else if (val === 'Packets/s') {
this.legendInit(packets, active, show, 'packets/s')
}
},
legendInit (data, active, show, type) {
lineData.splice(0, 1)
const mpackets = _.cloneDeep(this.mpackets)
const unit = val === 'Bits/s' ? 'bps' : 'packets/s'
this.legendInit(lineData, active, show, unit, mpackets)
},
legendInit (data, active, show, type, linkData) {
data.forEach((d, i) => {
mpackets[i].data = d.values
mpackets[i].analysis = d.analysis
linkData[i].data = d.values
linkData[i].analysis = d.analysis
})
let num = 0
mpackets.forEach(e => {
linkData.forEach(e => {
e.unitType = type
if (e.name !== 'network.total' && parseFloat(e.analysis.avg) === 0) {
e.show = false
@@ -426,11 +420,11 @@ export default {
}
}
})
this.mpackets = mpackets
this.mpackets = linkData
if (num === 3) {
mpackets[0].invertTab = false
linkData[0].invertTab = false
this.lineTab = 'total'
this.legendSelectChange(mpackets[0], 0)
this.legendSelectChange(linkData[0], 0)
this.$nextTick(() => {
this.echartsInit(this.mpackets)
})

View File

@@ -569,25 +569,18 @@ export default {
return this.sizes[sortIndex]
},
initData (data, val, active, show, n) {
let bytes = []
let packets = []
let sessions = []
let lineData = []
if (data !== undefined && data.length > 0) {
data.forEach((item) => {
if (item.type.indexOf('bytes') > -1) {
bytes = Object.keys(item).map(t => {
return {
...item[t]
if (item.type === 'bytes') {
item.type = 'Bits/s'
} else if (item.type === 'packets') {
item.type = 'Packets/s'
} else if (item.type === 'sessions') {
item.type = 'Sessions/s'
}
})
} else if (item.type.indexOf('packets') > -1) {
packets = Object.keys(item).map(t => {
return {
...item[t]
}
})
} else if (item.type.indexOf('sessions') > -1) {
sessions = Object.keys(item).map(t => {
if (item.type === val) {
lineData = Object.keys(item).map(t => {
return {
...item[t]
}
@@ -595,16 +588,10 @@ export default {
}
})
}
bytes.splice(0, 1)
packets.splice(0, 1)
sessions.splice(0, 1)
if (val === 'Bits/s') {
this.legendInit(bytes, active, show, 'bps', n)
} else if (val === 'Packets/s') {
this.legendInit(packets, active, show, 'packets/s', n)
} else if (val === 'Sessions/s') {
lineData.splice(0, 1)
if (val === 'Sessions/s') {
const mpackets = _.cloneDeep(this.mpackets)
sessions.forEach((d, i) => {
lineData.forEach((d, i) => {
mpackets[i].data = d.values
mpackets[i].analysis = d.analysis
})
@@ -621,6 +608,9 @@ export default {
this.$nextTick(() => {
this.echartsInit(this.mpackets, true)
})
} else {
const unit = val === 'Bits/s' ? 'bps' : 'packets/s'
this.legendInit(lineData, active, show, unit, n)
}
},
legendInit (data, active, show, type, n) {