From 07b28c628de8c2c6a01ef7302bcfe40258b3bc8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BE=9D=E7=91=AA=E8=B2=93?= Date: Mon, 9 Mar 2026 16:31:22 +0800 Subject: [PATCH] Add bounds checks and fix 12-hour format in CompareDashboard chart functions Co-Authored-By: Claude Opus 4.6 --- src/views/Compare/Dashboard/CompareDashboard.vue | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/views/Compare/Dashboard/CompareDashboard.vue b/src/views/Compare/Dashboard/CompareDashboard.vue index 0d87a9a..36e96ee 100644 --- a/src/views/Compare/Dashboard/CompareDashboard.vue +++ b/src/views/Compare/Dashboard/CompareDashboard.vue @@ -467,6 +467,7 @@ function getHorizontalBarHeight(chartData) { * @returns {Array} [chartData, chartOptions] tuple. */ function getLineChart(chartData, content, yUnit) { + if (!chartData?.data || chartData.data.length < 2) return []; let datasetsPrimary; let datasetsSecondary; const minX = chartData.x_axis.min; @@ -477,7 +478,7 @@ function getLineChart(chartData, content, yUnit) { let primeVueSetData = {}; let primeVueSetOption = {}; const getMoment = (time) => { - return moment(time).format("YYYY/M/D hh:mm:ss"); + return moment(time).format("YYYY/M/D HH:mm:ss"); }; const getSimpleTimeLabel = simpleTimeLabel; @@ -619,6 +620,7 @@ function getLineChart(chartData, content, yUnit) { * @returns {Array} [chartData, chartOptions] tuple. */ function getBarChart(chartData, content, caller) { + if (!chartData?.data || chartData.data.length < 2) return []; const getMoment = (time) => moment(time).format("YYYY/MM/DD"); const labelPrimary = chartData.data[0].label; const labelSecondary = chartData.data[1].label; @@ -938,6 +940,7 @@ function customizeScaleChartOptionTicks(scaleObjectToAlter, ticksOfXAxis) { * @returns {Array} [chartData, chartOptions] tuple. */ function getLineChart0(chartData, content, yUnit) { + if (!chartData?.data || chartData.data.length < 2) return []; let datasetsPrimary; let datasetsSecondary; const minX = chartData.x_axis.min; @@ -948,7 +951,7 @@ function getLineChart0(chartData, content, yUnit) { let primeVueSetData = {}; let primeVueSetOption = {}; const getMoment = (time) => { - return moment(time).format("YYYY/M/D hh:mm:ss"); + return moment(time).format("YYYY/M/D HH:mm:ss"); }; const getSimpleTimeLabel = simpleTimeLabel;