CN-1356 fix: 恢复link蜂窝图接口返回的数个数值均相等时无法正确显示的问题
This commit is contained in:
@@ -1080,9 +1080,16 @@ export function colorGradientCalculation (startColor, endColor, values) {
|
||||
const gDiff = endRgbArr[1] - startRgbArr[1]
|
||||
const bDiff = endRgbArr[2] - startRgbArr[2]
|
||||
const valueDiff = values[0] - values[values.length - 1]
|
||||
if (valueDiff > 0) {
|
||||
values.forEach((v, i) => {
|
||||
colors.push(`rgb(${startRgbArr[0] + Math.floor(rDiff * (valueDiff - diff(v)) / valueDiff)},${startRgbArr[1] + Math.floor(gDiff * (valueDiff - diff(v)) / valueDiff)},${startRgbArr[2] + Math.floor(bDiff * (valueDiff - diff(v)) / valueDiff)})`)
|
||||
})
|
||||
} else {
|
||||
values.forEach((v, i) => {
|
||||
colors.push('rgb(64,83,126)')
|
||||
})
|
||||
}
|
||||
|
||||
function diff (v) {
|
||||
return v - values[values.length - 1]
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<template #reference>
|
||||
<div class="block-list__block" :key="index" @click="drillLinkId(item)">
|
||||
<span class="block-hex">
|
||||
<span class="block-hex-in" :style="`background-color: ${item.color}`"></span>
|
||||
<span class="block-hex-in" :test-id="`linkBlock${index}`" :style="`background-color: ${item.color}`"></span>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
@@ -72,7 +72,7 @@
|
||||
<template #reference>
|
||||
<div class="block-list__block" :key="index" @click="drillNextHop(item)">
|
||||
<span class="block-hex">
|
||||
<span class="block-hex-in" :style="`background-color: ${item.color}`"></span>
|
||||
<span class="block-hex-in" :test-id="`nextHopBlock${index}`" :style="`background-color: ${item.color}`"></span>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -4,6 +4,7 @@ import axios from 'axios'
|
||||
import chartMixin from '@/views/charts2/chart-mixin'
|
||||
import { mockData, linkInfoData } from './MockData/LinkBlock'
|
||||
import common from '@/mixins/common'
|
||||
import ElementPlus from 'element-plus'
|
||||
|
||||
const mockGet1 = mockData.common.data1
|
||||
const mockGet2 = mockData.common.data2
|
||||
@@ -21,7 +22,7 @@ var wrapper = null
|
||||
* 进行axios请求,并挂载vue实例
|
||||
*
|
||||
*/
|
||||
function axiosPostAndMounted (list1, list2) {
|
||||
function axiosPostAndMounted (list1, list2, loadEle) {
|
||||
require('vue-router').useRoute.mockReturnValue({ query: {} })
|
||||
|
||||
const data1 = list1 || mockGet1
|
||||
@@ -45,6 +46,9 @@ function axiosPostAndMounted (list1, list2) {
|
||||
propsData: {
|
||||
timeFilter
|
||||
},
|
||||
global: {
|
||||
plugins: loadEle ? [ElementPlus] : []
|
||||
},
|
||||
mixins: [common, chartMixin]
|
||||
})
|
||||
}
|
||||
@@ -163,4 +167,21 @@ describe('views/charts2/charts/linkMonitor/LinkBlock.vue测试', () => {
|
||||
resolve()
|
||||
}, 200))
|
||||
})
|
||||
test('链路几个数据的值相等,下一跳只有一个数据时,色块颜色是否是蓝色rgb(64,83,126)', async () => {
|
||||
const list1 = mockData.equalValue.data1
|
||||
const list2 = mockData.equalValue.data2
|
||||
|
||||
axiosPostAndMounted(list1, list2, true)
|
||||
|
||||
await new Promise(resolve => setTimeout(() => {
|
||||
const linkBlock0 = wrapper.get('[test-id="linkBlock0"]')
|
||||
const linkBlock1 = wrapper.get('[test-id="linkBlock1"]')
|
||||
const nextHopBlock0 = wrapper.get('[test-id="nextHopBlock0"]')
|
||||
|
||||
expect(linkBlock0.attributes('style')).toBe('background-color: rgb(64, 83, 126);')
|
||||
expect(linkBlock1.attributes('style')).toBe('background-color: rgb(64, 83, 126);')
|
||||
expect(nextHopBlock0.attributes('style')).toBe('background-color: rgb(64, 83, 126);')
|
||||
resolve()
|
||||
}, 200))
|
||||
})
|
||||
})
|
||||
|
||||
@@ -238,6 +238,50 @@ export const mockData = {
|
||||
msg: 'OK'
|
||||
}
|
||||
}
|
||||
},
|
||||
equalValue: {
|
||||
data1: {
|
||||
"status": 200,
|
||||
data: {
|
||||
"data": {
|
||||
"resultType": "table",
|
||||
"result": [
|
||||
{
|
||||
"linkId": "1025",
|
||||
"outBytes": "0",
|
||||
"outBitsRate": 0.0,
|
||||
"inBytes": "104870932",
|
||||
"inBitsRate": 38841.12
|
||||
},
|
||||
{
|
||||
"linkId": "512",
|
||||
"outBytes": "104870932",
|
||||
"outBitsRate": 38841.12,
|
||||
"inBytes": "0",
|
||||
"inBitsRate": 0.0
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
data2: {
|
||||
"status": 200,
|
||||
"data": {
|
||||
"data": {
|
||||
"resultType": "table",
|
||||
"result": [
|
||||
{
|
||||
"outLinkDirection": "太原",
|
||||
"inLinkDirection": "西宁",
|
||||
"outBytes": "104870932",
|
||||
"outBitsRate": 38841.12,
|
||||
"inBytes": "104870932",
|
||||
"inBitsRate": 38841.12
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user