From 45a26fa49a33ce1dc63da94619e96e378b58b520 Mon Sep 17 00:00:00 2001 From: zyh Date: Tue, 11 Jun 2024 16:54:59 +0800 Subject: [PATCH] =?UTF-8?q?NEZ-3489=20fix:=20dashboard=20=E5=9B=BE?= =?UTF-8?q?=E8=A1=A8=20=E6=97=B6=E9=97=B4=E5=AD=98=E5=9C=A8=E9=81=AE?= =?UTF-8?q?=E6=8C=A1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/chart/uplot/chartTimeSeries.vue | 24 ++++++++++++++++++- .../chart/chart/uplot/chartTimeSeriesMixin.js | 4 ++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/nezha-fronted/src/components/chart/chart/uplot/chartTimeSeries.vue b/nezha-fronted/src/components/chart/chart/uplot/chartTimeSeries.vue index 0d7ff5154..f15f18fb5 100644 --- a/nezha-fronted/src/components/chart/chart/uplot/chartTimeSeries.vue +++ b/nezha-fronted/src/components/chart/chart/uplot/chartTimeSeries.vue @@ -67,6 +67,7 @@ import chartTimeSeriesMixin from '@/components/chart/chart/uplot/chartTimeSeries import chartDataFormat from '@/components/chart/chartDataFormat' import getStackedOpts, { stack } from './stack' import bus from '@/libs/bus' +import moment from 'moment-timezone' export default { name: 'chartTimeSeries', @@ -291,7 +292,28 @@ export default { stroke: self.color[self.theme].grid, width: 1 }, - size: 20 + size () { + const minTime = seriesData[0][0] + const maxTime = seriesData[0][seriesData[0].length - 1] + + const localOffset = new Date().getTimezoneOffset() * 60 * 1000 * -1 // 默认 一分钟显示时区偏移的结果 + let offset = localStorage.getItem('nz-sys-timezone') + offset = moment.tz(offset).utcOffset() + + const moment1 = moment(((minTime * 1000) - localOffset + (offset * 60 * 1000))) + const moment2 = moment(((maxTime * 1000) - localOffset + (offset * 60 * 1000))) + const isSameDay = moment1.isSame(moment2, 'day') + const isSameMonth = moment1.isSame(moment2, 'month') + if (isSameDay) { // 同一天 + return 20 + } else if (isSameMonth) { // 同一月 + return 32 + } else if (maxTime - minTime <= 16 * 24 * 60 * 60) { // 不同月 相差30天以内 + return 32 + } else { // 大于等于30天 + return 20 + } + } }, { scale: 'left', diff --git a/nezha-fronted/src/components/chart/chart/uplot/chartTimeSeriesMixin.js b/nezha-fronted/src/components/chart/chart/uplot/chartTimeSeriesMixin.js index bc5cd4e6d..2215a5178 100644 --- a/nezha-fronted/src/components/chart/chart/uplot/chartTimeSeriesMixin.js +++ b/nezha-fronted/src/components/chart/chart/uplot/chartTimeSeriesMixin.js @@ -555,8 +555,8 @@ export default { str += [month, day].join('-') } - const moment1 = moment((minTime * 1000 - localOffset + offset * 60 * 1000)) - const moment2 = moment((maxTime * 1000 - localOffset + offset * 60 * 1000)) + const moment1 = moment(((minTime * 1000) - localOffset + (offset * 60 * 1000))) + const moment2 = moment(((maxTime * 1000) - localOffset + (offset * 60 * 1000))) const isSameDay = moment1.isSame(moment2, 'day') const isSameMonth = moment1.isSame(moment2, 'month')