diff --git a/src/assets/css/common.scss b/src/assets/css/common.scss index 938fe763..281fc413 100644 --- a/src/assets/css/common.scss +++ b/src/assets/css/common.scss @@ -12,4 +12,13 @@ body { margin: 0 !important; padding: 0 !important; cursor: default !important; -} \ No newline at end of file +} + +.myDatePicker .el-picker-panel__footer{ + .el-button{ + display: none; + } + .is-plain{ + display: inline-block; + } +} diff --git a/src/components/common/MyDatePicker/index.js b/src/components/common/MyDatePicker/index.js index c4c9506f..30c36779 100644 --- a/src/components/common/MyDatePicker/index.js +++ b/src/components/common/MyDatePicker/index.js @@ -25,6 +25,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau const dayjs__default = /* #__PURE__ */_interopDefaultLegacy(window.$dayJs) console.log(window.$dayJs.tz().format('YYYY-MM-DD HH:mm:ss')) +console.log(window.$dayJs.tz.guess()) const ElInput__default = /* #__PURE__ */_interopDefaultLegacy(ElInput) const ElButton__default = /* #__PURE__ */_interopDefaultLegacy(ElButton) const customParseFormat__default = /* #__PURE__ */_interopDefaultLegacy(customParseFormat) diff --git a/src/components/common/TimeRange/DateTimeRange.vue b/src/components/common/TimeRange/DateTimeRange.vue index b01cec2f..da1d00df 100644 --- a/src/components/common/TimeRange/DateTimeRange.vue +++ b/src/components/common/TimeRange/DateTimeRange.vue @@ -1,25 +1,68 @@ - diff --git a/src/components/table/CnDataList.vue b/src/components/table/CnDataList.vue index 2434fff6..16a0b8f3 100644 --- a/src/components/table/CnDataList.vue +++ b/src/components/table/CnDataList.vue @@ -74,8 +74,7 @@ export default { tools: { showCustomTableTitle: false // 自定义列弹框是否显示 }, - showLayout: [], - value1: 1623997984000 + showLayout: [] } }, methods: { diff --git a/src/main.js b/src/main.js index bc95483b..6037c1d2 100644 --- a/src/main.js +++ b/src/main.js @@ -6,6 +6,7 @@ import App from '@/App.vue' import { hasPermission } from '@/permission' import commonMixin from '@/mixins/common' import { cancelWithChange, clickOutside } from '@/utils/tools' +import { ClickOutside } from 'element-plus/lib/directives' import i18n from '@/i18n' import '@/assets/css/main.scss' // 样式入口 // import VueGridLayout from 'vue-grid-layout' @@ -32,6 +33,7 @@ app.use(_) app.directive('has', hasPermission) // 注册指令 app.directive('click-outside', clickOutside) +app.directive('ele-click-outside', ClickOutside) app.directive('cancel', cancelWithChange) app.mixin(commonMixin) diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 24d759ff..1d145424 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -43,7 +43,7 @@ const user = { }, actions: { loginSuccess (store, res) { - // res.data.timezone = 'America/New_York' + res.data.timezone = 'America/New_York' window.$dayJs.tz.setDefault(res.data.timezone) sessionStorage.setItem('cn-token', res.data.token) localStorage.setItem('cn-sys-name', res.data.systemName) diff --git a/src/utils/date-util.js b/src/utils/date-util.js index 28177f80..023d3783 100644 --- a/src/utils/date-util.js +++ b/src/utils/date-util.js @@ -48,8 +48,6 @@ export function formatDate (date, type) { } export function timeFormate (date, fmt = 'yyyy-MM-dd hh:mm:ss') { const time = new Date(date) - let fm = fmt - // fmt 自定义格式,如:yy-MM-dd let week = '' switch (time.getDay()) { case 0: @@ -74,62 +72,10 @@ export function timeFormate (date, fmt = 'yyyy-MM-dd hh:mm:ss') { week = '周六' break default: + // eslint-disable-next-line no-unused-vars week = '' break } - const o = { - 'M+': time.getMonth() + 1, // 月份 - 'd+': time.getDate(), // 日 - hh: time.getHours(), // 小时 - 'm+': time.getMinutes(), // 分 - 's+': time.getSeconds(), // 秒 - 'q+': Math.floor((time.getMonth() + 3) / 3), // 季度 - S: time.getMilliseconds(), // 毫秒 - w: week - } - if (/(y+)/.test(fm)) { - fm = fm.replace(RegExp.$1, (time.getFullYear().toString()).substr(4 - RegExp.$1.length)) - } - Object.keys(o).forEach((k) => { - if (new RegExp(`(${k})`).test(fm)) { - fm = fm.replace(RegExp.$1, (RegExp.$1.length === 1) - ? (o[k]) - : ((`00${o[k]}`).substr((`${o[k]}`).length))) - } - }) - return fm -} -// 格式化tag为字符串表达式 -export function tagsToString (metric, arr) { - let str = metric - let sepStr = '' - arr.forEach((item, index) => { - if (index === 0) { - str += '{' - if (item.value.length === 1) { - str += `${item.name}='${item.value.join('|')}'` - sepStr = ',' - } else if (item.value.length > 1) { - str += `${item.name}=~'${item.value.join('|')}'` - sepStr = ',' - } - } else { - if (item.value.length === 1) { - str += sepStr + `${item.name}='${item.value.join('|')}'` - sepStr = ',' - } else if (item.value.length > 1) { - str += sepStr + `${item.name}=~'${item.value.join('|')}'` - sepStr = ',' - } - } - }) - if (str.indexOf('{') > -1) { - str += '}' - } - if (str.endsWith('{}')) { - str = str.substring(0, str.indexOf('{')) - } - return str } export function getStep (startTime, endTime) { const start = new Date(startTime) @@ -150,24 +96,6 @@ export function getStep (startTime, endTime) { } return step } -export function isEmptyObject (obj) { - if (obj) { - let name = '' - // eslint-disable-next-line - for (name in obj) { return false; } - return true - } - return true -} -export function validateEmail (rule, value, callback) { - if (value === '') { - callback(new Error('请输入邮箱')) - } else if (!this.emailReg.test(value)) { - callback(new Error('邮箱格式不正确')) - } else { - callback() - } -} export function getNumStr (num) { if (num >= 1000) { const kbNum = num / 1000 @@ -191,43 +119,6 @@ export function getNumStr (num) { } return num.toFixed(2) } -// 将本地时区转为系统配置的时区 -export function computeTimezone (sourceTime) { - let offset = localStorage.getItem('cn-sys-timezone') - offset = moment.tz(offset).format('Z') - if (offset && offset !== 'undefined') { - offset = Number.parseInt(offset) - const date = new Date(sourceTime) - const localOffset = date.getTimezoneOffset() * 60 * 1000 // 默认 一分钟显示时区偏移的结果 - const utcTime = sourceTime + localOffset - return utcTime + (offset * 60 * 60 * 1000) - } else { - return sourceTime - } -} -// 将本地时区转为系统配置的时区 -export function computeTimezoneTime (sourceTime) { - let offset = localStorage.getItem('cn-sys-timezone') - offset = moment.tz(offset).format('Z') - if (offset && offset !== 'undefined') { - offset = Number.parseInt(offset) - const date = new Date(sourceTime) - const localOffset = date.getTimezoneOffset() * 60 * 1000 // 默认 一分钟显示时区偏移的结果 - const utcTime = date.getTime() + localOffset - return utcTime + (offset * 60 * 60 * 1000) - } else { - return sourceTime - } -} -export function getTimezontDateRange (offset = -1) { - return [ - new Date(new Date(this.computeTimezone(new Date().getTime())).setHours(new Date(this.computeTimezone(new Date().getTime())).getHours() + offset)), - new Date(this.computeTimezone(new Date().getTime())) - ] -} -export function getOffsetTimezoneData (offset = 0) { - return new Date(this.computeTimezone(new Date().getTime())).setHours(new Date(this.computeTimezone(new Date().getTime())).getHours() + offset) -} export function debounce (fn, delay) { // 记录上一次的延时器 let timer = null @@ -242,33 +133,11 @@ export function debounce (fn, delay) { }, delay) } } -export function UTCTimeToConfigTimezone (utcTime) { - let offset = localStorage.getItem('cn-sys-timezone') - offset = moment.tz(offset).format('Z') - if (offset && offset !== 'undefined') { - let time = utcTime - if (typeof time === 'string' && /(\d+?-){2}\d+?\s(\d+?:)*\d+/.test(time)) { - time = new Date(time).getTime() - } - offset = Number.parseInt(offset) - time += offset * 60 * 60 * 1000 - return time - } else { - return utcTime - } -} -export function configTimezoneToUTCTime (configTime) { - let offset = localStorage.getItem('cn-sys-timezone') - offset = moment.tz(offset).format('Z') - if (offset && offset !== 'undefined') { - let time = configTime - if (typeof time === 'string' && /(\d+?-){2}\d+?\s(\d+?:)*\d+/.test(time)) { - time = new Date(time).getTime() - } - offset = Number.parseInt(offset) - time -= offset * 60 * 60 * 1000 - return time - } else { - return configTime +export function getNowTime (interval) { + const endTime = window.$dayJs.tz().valueOf(); + const startTime = endTime - interval * 60 * 1000 + return { + startTime, + endTime } } diff --git a/src/views/charts/Panel.vue b/src/views/charts/Panel.vue index 470ff1ca..de742790 100644 --- a/src/views/charts/Panel.vue +++ b/src/views/charts/Panel.vue @@ -1,6 +1,8 @@