From 680d94d929dddc9510634addeeaaf34d02d57f94 Mon Sep 17 00:00:00 2001
From: chenjinsong <523037378@qq.com>
Date: Fri, 4 Aug 2023 16:00:29 +0800
Subject: [PATCH] =?UTF-8?q?CN-1145=20fix:=20=E4=BF=AE=E6=94=B9=E6=B5=8B?=
=?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/unit-convert.js | 5 ++++-
.../charts/entityDetail/EntityDetailLine.vue | 16 +++++-----------
.../charts/linkMonitor/LinkTrafficLine.vue | 10 +++++-----
.../charts/entityDetail/EntityDetailLine.test.js | 4 ++--
.../charts/linkMonitor/LinkTrafficLine.test.js | 6 +++---
.../networkOverview/NetworkOverviewApps.test.js | 2 +-
.../networkOverview/NetworkOverviewLine.test.js | 2 +-
.../charts/npm/NpmAppCategoryScore.test.js | 12 ++++++------
.../charts/npm/NpmNetworkQuantity.test.js | 12 ++++++------
9 files changed, 33 insertions(+), 36 deletions(-)
diff --git a/src/utils/unit-convert.js b/src/utils/unit-convert.js
index 2fd3e349..0009cdb1 100644
--- a/src/utils/unit-convert.js
+++ b/src/utils/unit-convert.js
@@ -141,7 +141,10 @@ export function getUnitType (column) {
/* 单位转换,返回转换后的[value, unit],type=time时若value<1ms,返回<1ms,type=percent时若value<0.01%,返回<0.01% */
export function valueToRangeValue (value, unitType) {
- const values = unitConvert(_.isString(value) ? Number(value) : value, unitType)
+ const values = unitConvert(value, unitType)
+ if (values[0] === '-') {
+ return values
+ }
if (values[0] || values[0] === 0) {
switch (unitType) {
case unitTypes.time: {
diff --git a/src/views/charts2/charts/entityDetail/EntityDetailLine.vue b/src/views/charts2/charts/entityDetail/EntityDetailLine.vue
index 06192793..3849f5ce 100644
--- a/src/views/charts2/charts/entityDetail/EntityDetailLine.vue
+++ b/src/views/charts2/charts/entityDetail/EntityDetailLine.vue
@@ -22,10 +22,10 @@
- {{ getTabUnit(item.analysis.avg) }}
+ {{ valueToRangeValue(item.analysis.avg, unitTypes.number)[0] }}
- {{ unitConvert(item.analysis.avg, unitTypes.number)[1] }}
+ {{ valueToRangeValue(item.analysis.avg, unitTypes.number)[1] }}
{{ item.unitType }}
@@ -88,7 +88,7 @@
import chartMixin from '@/views/charts2/chart-mixin'
import * as echarts from 'echarts'
import { stackedLineChartOption } from '@/views/charts2/charts/options/echartOption'
-import unitConvert from '@/utils/unit-convert'
+import unitConvert, { valueToRangeValue } from '@/utils/unit-convert'
import { unitTypes, chartColor3, chartColor4 } from '@/utils/constants.js'
import { ref, shallowRef } from 'vue'
import { stackedLineTooltipFormatter } from '@/views/charts/charts/tools'
@@ -153,6 +153,7 @@ export default {
tabsTemplate: dataForNetworkOverviewLine.tabsTemplate,
tabs: [],
unitConvert,
+ valueToRangeValue,
unitTypes,
chartDateObject: [],
timer: null,
@@ -627,14 +628,6 @@ export default {
} else {
this.timeFilter = JSON.parse(JSON.stringify(this.timeFilter))
}
- },
- // 对lineTab进行转换
- getTabUnit (avg) {
- let number = unitConvert(avg, unitTypes.number)[0]
- if (number !== '-' && JSON.parse(number) > 0 && JSON.parse(number) < 1) {
- number = '<1'
- }
- return number
}
},
mounted () {
@@ -664,6 +657,7 @@ export default {
}
// 检测时发现该方法占用较大内存,且未被释放
this.unitConvert = null
+ this.valueToRangeValue = null
myChart = null
}
}
diff --git a/src/views/charts2/charts/linkMonitor/LinkTrafficLine.vue b/src/views/charts2/charts/linkMonitor/LinkTrafficLine.vue
index 691c5e77..f79b4937 100644
--- a/src/views/charts2/charts/linkMonitor/LinkTrafficLine.vue
+++ b/src/views/charts2/charts/linkMonitor/LinkTrafficLine.vue
@@ -26,9 +26,9 @@
{{$t(item.name)}}
- {{unitConvert(item.analysis.avg, unitTypes.number)[0]}}
+ {{valueToRangeValue(item.analysis.avg, unitTypes.number)[0]}}
- {{unitConvert(item.analysis.avg, unitTypes.number)[1]}}
+ {{valueToRangeValue(item.analysis.avg, unitTypes.number)[1]}}
{{item.unitType}}
@@ -67,7 +67,7 @@ import ChartNoData from '@/views/charts/charts/ChartNoData'
import Loading from '@/components/common/Loading'
import { useRoute } from 'vue-router'
import { ref, shallowRef } from 'vue'
-import unitConvert from '@/utils/unit-convert'
+import { valueToRangeValue } from '@/utils/unit-convert'
import { chartColor3, chartColor4, unitTypes } from '@/utils/constants'
import { getLineType, overwriteUrl, urlParamsHandler } from '@/utils/tools'
import { getSecond } from '@/utils/date-util'
@@ -107,7 +107,7 @@ export default {
return {
options: dataForLinkTrafficLine.options,
tabs: dataForLinkTrafficLine.tabs,
- unitConvert,
+ valueToRangeValue,
unitTypes,
chartDateObject: [],
timer: null,
@@ -457,7 +457,7 @@ export default {
echarts.dispose(this.myChart)
}
this.chartOption = null
- this.unitConvert = null
+ this.valueToRangeValue = null
}
}
diff --git a/test/views/charts2/charts/entityDetail/EntityDetailLine.test.js b/test/views/charts2/charts/entityDetail/EntityDetailLine.test.js
index 422f3721..f8b52032 100644
--- a/test/views/charts2/charts/entityDetail/EntityDetailLine.test.js
+++ b/test/views/charts2/charts/entityDetail/EntityDetailLine.test.js
@@ -88,9 +88,9 @@ describe('views/charts2/charts/entityDetail/EntityDetailLine.vue测试', () => {
expect(titleNode0.text()).toEqual('network.total')
expect(titleNode1.text()).toEqual('network.outbound')
expect(titleNode2.text()).toEqual('network.other')
- expect(textNode0.text()).toEqual('0bps')
+ expect(textNode0.text()).toEqual('<0.01bps')
expect(textNode1.text()).toEqual('95.23Ebps')
- expect(textNode2.text()).toEqual('<1bps')
+ expect(textNode2.text()).toEqual('0.01bps')
resolve()
}, 200))
})
diff --git a/test/views/charts2/charts/linkMonitor/LinkTrafficLine.test.js b/test/views/charts2/charts/linkMonitor/LinkTrafficLine.test.js
index d4f5d109..c789ddfa 100644
--- a/test/views/charts2/charts/linkMonitor/LinkTrafficLine.test.js
+++ b/test/views/charts2/charts/linkMonitor/LinkTrafficLine.test.js
@@ -165,9 +165,9 @@ describe('views/charts2/charts/linkMonitor/LinkTrafficLine.vue测试', () => {
const textNode2 = await wrapper.get('[test-id="tabContent2"]')
await new Promise(resolve => setTimeout(() => {
- expect(textNode0.text()).toEqual('0bps')
- expect(textNode1.text()).toEqual('0bps')
- expect(textNode2.text()).toEqual('0bps')
+ expect(textNode0.text()).toEqual('<0.01bps')
+ expect(textNode1.text()).toEqual('<0.01bps')
+ expect(textNode2.text()).toEqual('<0.01bps')
resolve()
}, 200))
})
diff --git a/test/views/charts2/charts/networkOverview/NetworkOverviewApps.test.js b/test/views/charts2/charts/networkOverview/NetworkOverviewApps.test.js
index b4ea8d8b..edb06e68 100644
--- a/test/views/charts2/charts/networkOverview/NetworkOverviewApps.test.js
+++ b/test/views/charts2/charts/networkOverview/NetworkOverviewApps.test.js
@@ -420,7 +420,7 @@ describe('views/charts2/charts/networkOverview/NetworkOverviewApps.vue测试', (
expect(testrate0.text()).toEqual('31.33 G')
expect(testrate1.text()).toEqual('84.59 T')
expect(testrate2.text()).toEqual('500.75 K')
- expect(testrate3.text()).toEqual('0')
+ expect(testrate3.text()).toEqual('<0.01')
expect(testrate4.text()).toEqual('-')
const testPercent0 = wrapper.get('[test-id="percent0"]')
diff --git a/test/views/charts2/charts/networkOverview/NetworkOverviewLine.test.js b/test/views/charts2/charts/networkOverview/NetworkOverviewLine.test.js
index 4d8090e4..82b3347c 100644
--- a/test/views/charts2/charts/networkOverview/NetworkOverviewLine.test.js
+++ b/test/views/charts2/charts/networkOverview/NetworkOverviewLine.test.js
@@ -62,7 +62,7 @@ describe('views/charts2/charts/networkOverview/NetworkOverviewLine.vue测试', (
expect(titleNode0.text()).toEqual('network.total')
expect(titleNode1.text()).toEqual('network.outbound')
expect(titleNode2.text()).toEqual('network.other')
- expect(textNode0.text()).toEqual('0bps')
+ expect(textNode0.text()).toEqual('<0.01bps')
expect(textNode1.text()).toEqual('95.23Ebps')
expect(textNode2.text()).toEqual('0.01bps')
resolve()
diff --git a/test/views/charts2/charts/npm/NpmAppCategoryScore.test.js b/test/views/charts2/charts/npm/NpmAppCategoryScore.test.js
index 0b31f94b..fc58c086 100644
--- a/test/views/charts2/charts/npm/NpmAppCategoryScore.test.js
+++ b/test/views/charts2/charts/npm/NpmAppCategoryScore.test.js
@@ -169,12 +169,12 @@ describe('views/charts2/charts/npm/NpmAppCategoryScore.vue测试', () => {
const textNode4 = wrapper.find('[test-id="inbound-packet-multimedia-streaming"]')
const textNode5 = wrapper.find('[test-id="inbound-packet-social-networking"]')
- expect(textNode0.text()).toBe('0 bps')
- expect(textNode1.text()).toBe('0 bps')
- expect(textNode2.text()).toBe('0 bps')
- expect(textNode3.text()).toBe('0 bps')
- expect(textNode4.text()).toBe('0 bps')
- expect(textNode5.text()).toBe('0 bps')
+ expect(textNode0.text()).toBe('<0.01 bps')
+ expect(textNode1.text()).toBe('<0.01 bps')
+ expect(textNode2.text()).toBe('<0.01 bps')
+ expect(textNode3.text()).toBe('<0.01 bps')
+ expect(textNode4.text()).toBe('<0.01 bps')
+ expect(textNode5.text()).toBe('<0.01 bps')
resolve()
}, 200))
})
diff --git a/test/views/charts2/charts/npm/NpmNetworkQuantity.test.js b/test/views/charts2/charts/npm/NpmNetworkQuantity.test.js
index 156938f4..d078532e 100644
--- a/test/views/charts2/charts/npm/NpmNetworkQuantity.test.js
+++ b/test/views/charts2/charts/npm/NpmNetworkQuantity.test.js
@@ -119,7 +119,7 @@ describe('views/charts2/charts/npm/NpmNetworkQuantity.vue测试', () => {
expect(p95Node0.text()).toEqual('P95:445 ms')
expect(p95Node1.text()).toEqual('P95:2.95 s')
- expect(p95Node2.text()).toEqual('P95:0 ms')
+ expect(p95Node2.text()).toEqual('P95:<1 ms')
expect(p95Node3.text()).toEqual('P95:3.46 %')
expect(p95Node4.text()).toEqual('P95:10.47 %')
@@ -131,7 +131,7 @@ describe('views/charts2/charts/npm/NpmNetworkQuantity.vue测试', () => {
expect(p99Node0.text()).toEqual('P99:601 ms')
expect(p99Node1.text()).toEqual('P99:4.62 s')
- expect(p99Node2.text()).toEqual('P99:0 ms')
+ expect(p99Node2.text()).toEqual('P99:<1 ms')
expect(p99Node3.text()).toEqual('P99:13.72 %')
expect(p99Node4.text()).toEqual('P99:18.30 %')
resolve()
@@ -195,7 +195,7 @@ describe('views/charts2/charts/npm/NpmNetworkQuantity.vue测试', () => {
expect(p95Node0.text()).toEqual('P95:160 ms')
expect(p95Node1.text()).toEqual('P95:266 ms')
- expect(p95Node2.text()).toEqual('P95:0 ms')
+ expect(p95Node2.text()).toEqual('P95:<1 ms')
expect(p95Node3.text()).toEqual('P95:2.23 %')
expect(p95Node4.text()).toEqual('P95:6.60 %')
@@ -207,7 +207,7 @@ describe('views/charts2/charts/npm/NpmNetworkQuantity.vue测试', () => {
expect(p99Node0.text()).toEqual('P99:789 ms')
expect(p99Node1.text()).toEqual('P99:2.09 s')
- expect(p99Node2.text()).toEqual('P99:0 ms')
+ expect(p99Node2.text()).toEqual('P99:<1 ms')
expect(p99Node3.text()).toEqual('P99:21.87 %')
expect(p99Node4.text()).toEqual('P99:9.26 %')
resolve()
@@ -341,7 +341,7 @@ describe('views/charts2/charts/npm/NpmNetworkQuantity.vue测试', () => {
const p95Node3 = wrapper.get('[test-id="singleValueP953"]')
const p95Node4 = wrapper.get('[test-id="singleValueP954"]')
- expect(p95Node0.text()).toEqual('P95:0 ms')
+ expect(p95Node0.text()).toEqual('P95:<1 ms')
expect(p95Node1.text()).toEqual('P95:4.92 m')
expect(p95Node2.text()).toEqual('P95:10.00 s')
expect(p95Node3.text()).toEqual('P95:3.46 %')
@@ -353,7 +353,7 @@ describe('views/charts2/charts/npm/NpmNetworkQuantity.vue测试', () => {
const p99Node3 = wrapper.get('[test-id="singleValueP993"]')
const p99Node4 = wrapper.get('[test-id="singleValueP994"]')
- expect(p99Node0.text()).toEqual('P99:0 ms')
+ expect(p99Node0.text()).toEqual('P99:<1 ms')
expect(p99Node1.text()).toEqual('P99:7.70 m')
expect(p99Node2.text()).toEqual('P99:10.00 s')
expect(p99Node3.text()).toEqual('P99:13.72 %')