From 8f59840747df70bae8f927fc115720b739bac7f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B4=AA=E6=B4=AA?= <2498601771@qq.com> Date: Fri, 14 Oct 2022 18:04:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20Link=20monitor=E7=BD=91=E6=A0=BC?= =?UTF-8?q?=E3=80=81=E8=9C=82=E7=AA=9D=E6=A8=A1=E5=9D=97=EF=BC=8Cbandwidth?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E7=8E=87=E5=B0=8F=E4=BA=8E0.01=E7=9A=84?= =?UTF-8?q?=E4=BD=BF=E7=94=A8<0.01%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../charts2/charts/linkMonitor/LinkBlock.vue | 39 ++++++++++++++++--- .../charts/linkMonitor/LinkDirectionGrid.vue | 20 ++++++++-- .../LinkDirectionGrid/PopoverContent.vue | 21 +++++++++- 3 files changed, 68 insertions(+), 12 deletions(-) diff --git a/src/views/charts2/charts/linkMonitor/LinkBlock.vue b/src/views/charts2/charts/linkMonitor/LinkBlock.vue index c22546d0..4828e6ec 100644 --- a/src/views/charts2/charts/linkMonitor/LinkBlock.vue +++ b/src/views/charts2/charts/linkMonitor/LinkBlock.vue @@ -38,13 +38,13 @@ - {{ unitConvert(item.egressUsage, unitTypes.percent).join('') }} + {{ convertValue(item.egressUsage) }}
- {{ unitConvert(item.ingressUsage, unitTypes.percent).join('') }} + {{ convertValue(item.ingressUsage) }}
@@ -91,13 +91,13 @@ - {{ unitConvert(item.egressUsage, unitTypes.percent).join('') }} + {{ convertValue(item.egressUsage) }}
- {{ unitConvert(item.ingressUsage, unitTypes.percent).join('') }} + {{ convertValue(item.ingressUsage) }}
@@ -281,8 +281,20 @@ export default { // 将上下行乘100保留2位转换,即10.00为5位,100.00为6位,popover弹窗宽度就增加7px // 最小宽度为252px,最少位数为上下行相加为8位 - const egressUsage = (egress * 100).toFixed(2) - const ingressUsage = (ingress * 100).toFixed(2) + let egressUsage = '' + let ingressUsage = '' + + if (egress < 0.0001 && egress !== 0) { + egressUsage = '<0.01%' + } else { + egressUsage = JSON.stringify(parseFloat((egress * 100).toFixed(2))) + } + if (ingress < 0.0001 && ingress !== 0) { + ingressUsage = '<0.01%' + } else { + ingressUsage = JSON.stringify(parseFloat((ingress * 100).toFixed(2))) + } + length = egressUsage.length + ingressUsage.length if (length > 8) { @@ -315,6 +327,21 @@ export default { t: +new Date() } }) + }, + /** + * 对单位进行转换,值小于0.0001的显示为<0.01%,除此之外正常转换显示 + * @param value + * @returns {string} + */ + convertValue (value) { + let newValue = null + if (value < 0.0001 && value !== 0) { + newValue = '<0.01%' + } else { + newValue = unitConvert(value, unitTypes.percent).join('') + } + + return newValue } } } diff --git a/src/views/charts2/charts/linkMonitor/LinkDirectionGrid.vue b/src/views/charts2/charts/linkMonitor/LinkDirectionGrid.vue index 373281f1..f35500cd 100644 --- a/src/views/charts2/charts/linkMonitor/LinkDirectionGrid.vue +++ b/src/views/charts2/charts/linkMonitor/LinkDirectionGrid.vue @@ -63,7 +63,7 @@ export default { // 接口数据乱序,根据入链路id(ingressLinkId)大小排序之后, // 再根据同ingressLinkId下的egressLinkId进行排序 linkData.sort((a, b) => { - if (a.ingressLinkId != b.ingressLinkId) { + if (a.ingressLinkId !== b.ingressLinkId) { return a.ingressLinkId - b.ingressLinkId } return a.egressLinkId - b.egressLinkId @@ -73,7 +73,7 @@ export default { const nextLinkData = res[1].data.result // 接口数据乱序,根据出方向排序,再根据同个出方向下的入进行排序 nextLinkData.sort((a, b) => { - if (a.ingressLinkDirection != b.ingressLinkDirection) { + if (a.ingressLinkDirection !== b.ingressLinkDirection) { return a.ingressLinkDirection.localeCompare(b.ingressLinkDirection) } return a.egressLinkDirection.localeCompare(b.egressLinkDirection) @@ -256,8 +256,20 @@ export default { let width = 0 let length = 0 - const egressUsage = JSON.stringify(parseFloat((egress * 100).toFixed(2))) - const ingressUsage = JSON.stringify(parseFloat((ingress * 100).toFixed(2))) + let egressUsage = '' + let ingressUsage = '' + + if (egress < 0.0001 && egress !== 0) { + egressUsage = '<0.01%' + } else { + egressUsage = JSON.stringify(parseFloat((egress * 100).toFixed(2))) + } + if (ingress < 0.0001 && ingress !== 0) { + ingressUsage = '<0.01%' + } else { + ingressUsage = JSON.stringify(parseFloat((ingress * 100).toFixed(2))) + } + length = egressUsage.length + ingressUsage.length - 1 if (flag === 'popover') { diff --git a/src/views/charts2/charts/linkMonitor/LinkDirectionGrid/PopoverContent.vue b/src/views/charts2/charts/linkMonitor/LinkDirectionGrid/PopoverContent.vue index 22c821e9..267ec136 100644 --- a/src/views/charts2/charts/linkMonitor/LinkDirectionGrid/PopoverContent.vue +++ b/src/views/charts2/charts/linkMonitor/LinkDirectionGrid/PopoverContent.vue @@ -58,13 +58,13 @@ - {{ unitConvert(row.egress[index2].egressUsage, unitTypes.percent).join('') }} + {{ convertValue(row.egress[index2].egressUsage) }}
- {{ unitConvert(row.egress[index2].ingressUsage, unitTypes.percent).join('') }} + {{ convertValue(row.egress[index2].ingressUsage) }}
@@ -167,6 +167,23 @@ export default { { name: 'overall.packetRetrans' } ] } + }, + methods: { + /** + * 对单位进行转换,值小于0.0001的显示为<0.01%,除此之外正常转换显示 + * @param value + * @returns {string} + */ + convertValue (value) { + let newValue = null + if (value < 0.0001 && value !== 0) { + newValue = '<0.01%' + } else { + newValue = unitConvert(value, unitTypes.percent).join('') + } + + return newValue + } } }