diff --git a/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue b/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue index 7a8e2b4f1..a2ef021b5 100644 --- a/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue +++ b/nezha-fronted/src/components/chart/chart/chartTimeSeries.vue @@ -142,8 +142,8 @@ export default { return Number(a[0]) - Number(b[0]) }) const valueSorted = datas.sort((a, b) => { - const a1 = isNaN(a[1]) ? 0 : Number(a[1]) - const b1 = isNaN(b[1]) ? 0 : Number(b[1]) + const a1 = isNaN(a[1]) && !a[1] ? 0 : Number(a[1]) + const b1 = isNaN(b[1]) && !b[1] ? 0 : Number(b[1]) return a1 - b1 }) minTime = timeSorted.length ? timeSorted[0][0] : '' diff --git a/nezha-fronted/src/components/chart/chart/legend.vue b/nezha-fronted/src/components/chart/chart/legend.vue index 5bd9f8ac3..8ea6ff7ce 100644 --- a/nezha-fronted/src/components/chart/chart/legend.vue +++ b/nezha-fronted/src/components/chart/chart/legend.vue @@ -205,16 +205,6 @@ export default { if (isNaN(result)) { return '--' } - // result = Math.round(num * 100) / 100 - // let decimal = result.toString() - // let posDecimal = decimal.indexOf('.') - // if (posDecimal < 0) { - // posDecimal = decimal.length - // decimal += '.' - // } - // while (decimal.length <= posDecimal + 2) { - // decimal += '0' - // } result = chartDataFormat.getUnit(this.chartInfo.unit ? this.chartInfo.unit : 2).compute(result, null, -1, 2) return result }, diff --git a/nezha-fronted/src/components/common/js/tools.js b/nezha-fronted/src/components/common/js/tools.js index 80d410249..1db16a97b 100644 --- a/nezha-fronted/src/components/common/js/tools.js +++ b/nezha-fronted/src/components/common/js/tools.js @@ -908,8 +908,8 @@ export function getMetricTypeValue (queryItem, type) { switch (type) { case 'min': { let min = copy.sort((x, y) => { - const x1 = isNaN(x[1]) ? 0 : x[1] - const y1 = isNaN(x[1]) ? 0 : y[1] + const x1 = isNaN(x[1]) && !x[1] ? 0 : x[1] + const y1 = isNaN(y[1]) && !y[1] ? 0 : y[1] return x1 - y1 })[0][1] if (isNaN(min)) { @@ -919,8 +919,8 @@ export function getMetricTypeValue (queryItem, type) { } case 'max': { let max = copy.sort((x, y) => { - const x1 = isNaN(x[1]) ? 0 : x[1] - const y1 = isNaN(x[1]) ? 0 : y[1] + const x1 = isNaN(x[1]) && !x[1] ? 0 : x[1] + const y1 = isNaN(y[1]) && !y[1] ? 0 : y[1] return y1 - x1 })[0][1] if (isNaN(max)) { @@ -930,7 +930,7 @@ export function getMetricTypeValue (queryItem, type) { } case 'avg': { copy = copy.map(t => { - const t1 = isNaN(t[1]) ? 0 : t[1] + const t1 = isNaN(t[1]) && !t[1] ? 0 : t[1] return parseFloat(t1) }) const sum = eval(copy.join('+')) @@ -947,7 +947,7 @@ export function getMetricTypeValue (queryItem, type) { } case 'total': { copy = copy.map(t => { - const t1 = isNaN(t[1]) ? 0 : t[1] + const t1 = isNaN(t[1]) && !t[1] ? 0 : t[1] return parseFloat(t1) }) const total = eval(copy.join('+')) @@ -955,16 +955,16 @@ export function getMetricTypeValue (queryItem, type) { } case 'range': { let min = copy.sort((x, y) => { - const x1 = isNaN(x[1]) ? 0 : x[1] - const y1 = isNaN(x[1]) ? 0 : y[1] + const x1 = isNaN(x[1]) && !x[1] ? 0 : x[1] + const y1 = isNaN(y[1]) && !y[1] ? 0 : y[1] return x1 - y1 })[0][1] if (isNaN(min)) { min = 0 } let max = copy.sort((x, y) => { - const x1 = isNaN(x[1]) ? 0 : x[1] - const y1 = isNaN(x[1]) ? 0 : y[1] + const x1 = isNaN(x[1]) && !x[1] ? 0 : x[1] + const y1 = isNaN(y[1]) && !y[1] ? 0 : y[1] return y1 - x1 })[0][1] if (isNaN(max)) {