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 %')