diff --git a/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue b/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue index 219e17222..b9eb13b68 100644 --- a/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue +++ b/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue @@ -172,7 +172,7 @@ - + diff --git a/nezha-fronted/src/components/page/dashboard/explore/logTab.vue b/nezha-fronted/src/components/page/dashboard/explore/logTab.vue index 5c43e7015..202536f4f 100644 --- a/nezha-fronted/src/components/page/dashboard/explore/logTab.vue +++ b/nezha-fronted/src/components/page/dashboard/explore/logTab.vue @@ -60,7 +60,7 @@ prop="date" width="160" > - + 9 ? tData.getMonth() + 1 : '0' + (tData.getMonth() + 1) + const day = tData.getDate() > 9 ? tData.getDate() : '0' + tData.getDate() + const hour = tData.getHours() > 9 ? tData.getHours() : '0' + tData.getHours() + const minute = tData.getMinutes() > 9 ? tData.getMinutes() : '0' + tData.getMinutes() + const dateFormatStr = this.timeFormatMain.split(' ')[0] + const diffSec = (this.momentStrToTimestamp(this.timeRange[1]) - this.momentStrToTimestamp(this.timeRange[0])) + const secOneDay = 24 * 60 * 60 * 1000// 1天的毫秒数 + let str = '' + if (dateFormatStr === 'DD/MM/YYYY') { + str += [day, month].join('/') + } else if (dateFormatStr === 'MM/DD/YYYY') { + str += [month, day].join('/') + } else { + str += [month, day].join('-') + } + if (diffSec <= secOneDay) { // 同一天 + return [hour, minute].join(':') + } else { // 大于1天,小于30天 + return str + '\n' + [hour, minute].join(':') + } + }, tooltipFormatter (params, a, b) { const vm = this let str = `
-
${vm.utcTimeToTimezoneStr(vm.$unixTimeParseToString(vm.toMillisecondTime(parseInt(params[0].axisValue)) / 1000, 'yyyy-MM-dd hh:mm:ss'), 'hh:mm')}
+
${vm.utcTimeToTimezoneStr(vm.toMillisecondTime(parseInt(params[0].axisValue), 'yyyy-MM-dd hh:mm:ss'))}
` params.forEach(item => { diff --git a/nezha-fronted/src/main.js b/nezha-fronted/src/main.js index 3d5f35677..eb213b441 100644 --- a/nezha-fronted/src/main.js +++ b/nezha-fronted/src/main.js @@ -18,6 +18,8 @@ import { hasPermission, hasButton } from './permission' import plTable from 'pl-table' import 'pl-table/themes/index.css' +import moment from 'moment-timezone' + import { post, get, put, del } from './http.js' import { clickoutside, bottomBoxWindow, stringTimeParseToUnix, unixTimeParseToString, chartResizeTool, tableSet, cancelWithChange, myLoading } from './components/common/js/tools.js' import * as tools from './components/common/js/tools.js' @@ -104,13 +106,17 @@ Vue.mixin({ return bus.UTCTimeToConfigTimezone(time) } }, - utcTimeToTimezoneStr: function (time) { + utcTimeToTimezoneStr: function (time, fmt) { + if (!fmt) { + fmt = localStorage.getItem('nz-default-dateFormat') || 'YYYY-MM-DD HH:mm:ss' + } if (time) { - return bus.timeFormate(bus.UTCTimeToConfigTimezone(time), localStorage.getItem('nz-default-dateFormat') || 'YYYY-MM-DD HH:mm:ss') + return bus.timeFormate(bus.UTCTimeToConfigTimezone(time), fmt) } else { return '-' } }, + timezoneToUtcTime: function (time) { if (time) { return bus.configTimezoneToUTCTime(time) @@ -189,6 +195,17 @@ Vue.mixin({ return str } }, + momentTz (timestamp, fmt) { // moment 转化时间戳为str + const offset = localStorage.getItem('nz-sys-timezone') + const format = fmt || localStorage.getItem('nz-default-dateFormat') + return moment.tz(timestamp, offset).format(format) + }, + momentStrToTimestamp (str, fmt) { + const offset = localStorage.getItem('nz-sys-timezone') + const format = fmt || localStorage.getItem('nz-default-dateFormat') + const date = moment.tz(str, format, offset).valueOf() + return date + }, copyRow (row, rightBoxValKey, idKey = 'id', show = false, format, callback) { /* row 表格当前行