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 gDiff = endRgbArr[1] - startRgbArr[1]
|
||||||
const bDiff = endRgbArr[2] - startRgbArr[2]
|
const bDiff = endRgbArr[2] - startRgbArr[2]
|
||||||
const valueDiff = values[0] - values[values.length - 1]
|
const valueDiff = values[0] - values[values.length - 1]
|
||||||
|
if (valueDiff > 0) {
|
||||||
values.forEach((v, i) => {
|
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)})`)
|
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) {
|
function diff (v) {
|
||||||
return v - values[values.length - 1]
|
return v - values[values.length - 1]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
<template #reference>
|
<template #reference>
|
||||||
<div class="block-list__block" :key="index" @click="drillLinkId(item)">
|
<div class="block-list__block" :key="index" @click="drillLinkId(item)">
|
||||||
<span class="block-hex">
|
<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>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
<template #reference>
|
<template #reference>
|
||||||
<div class="block-list__block" :key="index" @click="drillNextHop(item)">
|
<div class="block-list__block" :key="index" @click="drillNextHop(item)">
|
||||||
<span class="block-hex">
|
<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>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import axios from 'axios'
|
|||||||
import chartMixin from '@/views/charts2/chart-mixin'
|
import chartMixin from '@/views/charts2/chart-mixin'
|
||||||
import { mockData, linkInfoData } from './MockData/LinkBlock'
|
import { mockData, linkInfoData } from './MockData/LinkBlock'
|
||||||
import common from '@/mixins/common'
|
import common from '@/mixins/common'
|
||||||
|
import ElementPlus from 'element-plus'
|
||||||
|
|
||||||
const mockGet1 = mockData.common.data1
|
const mockGet1 = mockData.common.data1
|
||||||
const mockGet2 = mockData.common.data2
|
const mockGet2 = mockData.common.data2
|
||||||
@@ -21,7 +22,7 @@ var wrapper = null
|
|||||||
* 进行axios请求,并挂载vue实例
|
* 进行axios请求,并挂载vue实例
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
function axiosPostAndMounted (list1, list2) {
|
function axiosPostAndMounted (list1, list2, loadEle) {
|
||||||
require('vue-router').useRoute.mockReturnValue({ query: {} })
|
require('vue-router').useRoute.mockReturnValue({ query: {} })
|
||||||
|
|
||||||
const data1 = list1 || mockGet1
|
const data1 = list1 || mockGet1
|
||||||
@@ -45,6 +46,9 @@ function axiosPostAndMounted (list1, list2) {
|
|||||||
propsData: {
|
propsData: {
|
||||||
timeFilter
|
timeFilter
|
||||||
},
|
},
|
||||||
|
global: {
|
||||||
|
plugins: loadEle ? [ElementPlus] : []
|
||||||
|
},
|
||||||
mixins: [common, chartMixin]
|
mixins: [common, chartMixin]
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -163,4 +167,21 @@ describe('views/charts2/charts/linkMonitor/LinkBlock.vue测试', () => {
|
|||||||
resolve()
|
resolve()
|
||||||
}, 200))
|
}, 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'
|
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