From 2894eaf7e4ee75ac260fbc594507124c3cb10f56 Mon Sep 17 00:00:00 2001
From: chenjinsong <523037378@qq.com>
Date: Tue, 26 Sep 2023 21:02:55 +0800
Subject: [PATCH] =?UTF-8?q?CN-1356=20fix:=20=E6=81=A2=E5=A4=8Dlink?=
=?UTF-8?q?=E8=9C=82=E7=AA=9D=E5=9B=BE=E6=8E=A5=E5=8F=A3=E8=BF=94=E5=9B=9E?=
=?UTF-8?q?=E7=9A=84=E6=95=B0=E4=B8=AA=E6=95=B0=E5=80=BC=E5=9D=87=E7=9B=B8?=
=?UTF-8?q?=E7=AD=89=E6=97=B6=E6=97=A0=E6=B3=95=E6=AD=A3=E7=A1=AE=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/tools.js | 13 ++++--
.../charts2/charts/linkMonitor/LinkBlock.vue | 4 +-
.../charts/linkMonitor/LinkBlock.test.js | 23 +++++++++-
.../charts/linkMonitor/MockData/LinkBlock.js | 44 +++++++++++++++++++
4 files changed, 78 insertions(+), 6 deletions(-)
diff --git a/src/utils/tools.js b/src/utils/tools.js
index 94f01787..36b225de 100644
--- a/src/utils/tools.js
+++ b/src/utils/tools.js
@@ -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]
- 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)})`)
- })
+ 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]
}
diff --git a/src/views/charts2/charts/linkMonitor/LinkBlock.vue b/src/views/charts2/charts/linkMonitor/LinkBlock.vue
index c5508e65..ed0b5372 100644
--- a/src/views/charts2/charts/linkMonitor/LinkBlock.vue
+++ b/src/views/charts2/charts/linkMonitor/LinkBlock.vue
@@ -19,7 +19,7 @@
-
+
@@ -72,7 +72,7 @@
-
+
diff --git a/test/views/charts2/charts/linkMonitor/LinkBlock.test.js b/test/views/charts2/charts/linkMonitor/LinkBlock.test.js
index 1d577216..71de72a4 100644
--- a/test/views/charts2/charts/linkMonitor/LinkBlock.test.js
+++ b/test/views/charts2/charts/linkMonitor/LinkBlock.test.js
@@ -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))
+ })
})
diff --git a/test/views/charts2/charts/linkMonitor/MockData/LinkBlock.js b/test/views/charts2/charts/linkMonitor/MockData/LinkBlock.js
index cf0aeada..41fed3fc 100644
--- a/test/views/charts2/charts/linkMonitor/MockData/LinkBlock.js
+++ b/test/views/charts2/charts/linkMonitor/MockData/LinkBlock.js
@@ -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
+ }
+ ]
+ }
+ }
+ }
}
}