NEZ-3157 feat:时间选择器支持选择更多相对时间(60%)

This commit is contained in:
zhangyu
2023-09-01 15:01:31 +08:00
parent 4dd72ae03f
commit aca9e2ad87
7 changed files with 225 additions and 34 deletions

View File

@@ -167,7 +167,7 @@
} }
.date-range-panel { .date-range-panel {
// height: 460px; // height: 460px;
width: 500px; width: 570px;
background: $--background-color-empty; background: $--background-color-empty;
box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
position: absolute; position: absolute;
@@ -176,6 +176,7 @@
z-index: 1; z-index: 1;
cursor: default; cursor: default;
.date-range-panel-content-left { .date-range-panel-content-left {
width: 335px;
padding-left: 10px; padding-left: 10px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -264,13 +265,10 @@
} }
.date-range-panel-content-right { .date-range-panel-content-right {
width: 235px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;
.date-range-item {
height: 353px;
overflow-y: auto;
}
ul { ul {
flex: 1; flex: 1;
padding: 0; padding: 0;
@@ -279,6 +277,7 @@
margin: 0; margin: 0;
li { li {
box-sizing: border-box;
width: 100%; width: 100%;
flex: 1; flex: 1;
display: flex; display: flex;
@@ -311,6 +310,11 @@
} }
} }
.date-range-item {
height: 353px;
overflow-y: auto;
flex: unset;
}
} }
} }
@media (max-height: 900px) { @media (max-height: 900px) {

View File

@@ -341,7 +341,7 @@ export default {
minute = minute > 9 ? minute : '0' + minute // 如果分钟小于10,则在前面加0补充为两位数字 minute = minute > 9 ? minute : '0' + minute // 如果分钟小于10,则在前面加0补充为两位数字
if (minTime !== null && maxTime !== null) { if (minTime !== null && maxTime !== null) {
const diffSec = (maxTime - minTime) const diffSec = (maxTime - minTime)
const secOneDay = 24 * 60 * 60// 1天的秒数 const secOneDay = 12 * 60 * 60// 0.5天的秒数
const secOneMonth = secOneDay * 30// 30天的秒数 const secOneMonth = secOneDay * 30// 30天的秒数
const dateFormatStr = self.timeFormatMain.split(' ')[0] const dateFormatStr = self.timeFormatMain.split(' ')[0]
let str = '' let str = ''

View File

@@ -312,7 +312,15 @@ export default {
{ id: 8, text: this.$t('dashboard.dashboard.lastTwentyFourHour'), type: 'hour', value: 24 }, { id: 8, text: this.$t('dashboard.dashboard.lastTwentyFourHour'), type: 'hour', value: 24 },
{ id: 9, text: this.$t('dashboard.dashboard.lastTwoDay'), type: 'date', value: 2 }, { id: 9, text: this.$t('dashboard.dashboard.lastTwoDay'), type: 'date', value: 2 },
{ id: 10, text: this.$t('dashboard.dashboard.lastSevenDay'), type: 'date', value: 7 }, { id: 10, text: this.$t('dashboard.dashboard.lastSevenDay'), type: 'date', value: 7 },
{ id: 11, text: this.$t('dashboard.dashboard.lastThirtyDay'), type: 'date', value: 30 } { id: 11, text: this.$t('dashboard.dashboard.lastThirtyDay'), type: 'date', value: 30 },
{ id: 13, text: 'today', type: 'relative', value: 0 },
{ id: 14, text: 'Yesterday ', type: 'relative', value: 1 },
{ id: 15, text: 'The day before yesterday', type: 'relative', value: 2 },
{ id: 16, text: 'This day last week', type: 'relative', value: 7 },
{ id: 17, text: 'This week', type: 'relative', value: 0 },
{ id: 18, text: 'Previous week', type: 'relative', value: 1 },
{ id: 19, text: 'This month', type: 'relative', value: 0 },
{ id: 20, text: 'Previous month', type: 'relative', value: 1 }
], ],
intervalList: [ intervalList: [
{ value: 0, label: this.$t('dashboard.dashboard.chartForm.lockList.off') }, { value: 0, label: this.$t('dashboard.dashboard.chartForm.lockList.off') },
@@ -621,7 +629,7 @@ export default {
if (this.$refs.pickTime) { if (this.$refs.pickTime) {
const nowTimeType = this.$refs.pickTime.$refs.timePicker.nowTimeType const nowTimeType = this.$refs.pickTime.$refs.timePicker.nowTimeType
this.nowTimeType = this.$refs.pickTime.$refs.timePicker.nowTimeType this.nowTimeType = this.$refs.pickTime.$refs.timePicker.nowTimeType
this.setSearchTime('searchTime', this.storeDispatchPanelTime) this.setSearchTime('searchTime',nowTimeType, this.storeDispatchPanelTime)
this.filter.dashboardId = this.showPanel.id this.filter.dashboardId = this.showPanel.id
this.getData(this.filter) this.getData(this.filter)
this.$store.dispatch('dispatchPanelTime', { this.$store.dispatch('dispatchPanelTime', {
@@ -888,7 +896,7 @@ export default {
this.nowTimeType = this.$lodash.cloneDeep(nowTimeType) this.nowTimeType = this.$lodash.cloneDeep(nowTimeType)
// 刷新时间范围 // 刷新时间范围
this.$refs.pickTime.$refs.timePicker.setTimeRange(this.nowTimeType) this.$refs.pickTime.$refs.timePicker.setTimeRange(this.nowTimeType)
this.setSearchTime('searchTime', this.storeDispatchPanelTime) this.setSearchTime('searchTime',this.nowTimeType, this.storeDispatchPanelTime)
this.$store.dispatch('dispatchPanelTime', { this.$store.dispatch('dispatchPanelTime', {
time: this.searchTime, time: this.searchTime,
nowTimeType: this.nowTimeType nowTimeType: this.nowTimeType
@@ -907,7 +915,7 @@ export default {
const nowTimeType = this.nowTimeType = this.timePickerRange.nowTimeType const nowTimeType = this.nowTimeType = this.timePickerRange.nowTimeType
this.searchTime = this.timePickerRange.time this.searchTime = this.timePickerRange.time
this.$refs.pickTime && this.$refs.pickTime.$refs.timePicker.setTimeRange(this.nowTimeType, this.searchTime) this.$refs.pickTime && this.$refs.pickTime.$refs.timePicker.setTimeRange(this.nowTimeType, this.searchTime)
this.setSearchTime('searchTime', this.storeDispatchPanelTime) this.setSearchTime('searchTime',nowTimeType, this.storeDispatchPanelTime)
}) })
}, },
// 设置默认刷新 // 设置默认刷新

View File

@@ -91,6 +91,20 @@ export default {
const date = moment.tz(str, format, offset).valueOf() const date = moment.tz(str, format, offset).valueOf()
return date return date
}, },
momentDays (timestamp) { // 只接受时间戳
const offset = localStorage.getItem('nz-sys-timezone')
return moment.tz(timestamp, offset).day()
},
momentSetDay (timestamp, day, fmt) { // 只接受时间戳
const offset = localStorage.getItem('nz-sys-timezone')
const format = fmt || localStorage.getItem('nz-default-dateFormat')
return moment.tz(timestamp, offset).day(day).format(format)
},
momentSetMonthDate (timestamp, date = 1, fmt) { // 只接受时间戳
const offset = localStorage.getItem('nz-sys-timezone')
const format = fmt || localStorage.getItem('nz-default-dateFormat')
return moment.tz(timestamp, offset).date(date).format(format)
},
onCopy (txt) { onCopy (txt) {
this.$copyText(txt).then(() => { this.$copyText(txt).then(() => {
this.$message.success({ message: this.$t('overall.copySuccess') }) this.$message.success({ message: this.$t('overall.copySuccess') })
@@ -154,24 +168,94 @@ export default {
} }
}, },
/* 时间条件查询--end */ /* 时间条件查询--end */
setSearchTime (key, cb) { // 设置searchTime setSearchTime (key, nowType, cb) { // 设置searchTime
if (this.$refs.pickTime) { if (this.$refs.pickTime) {
const nowTimeType = this.$refs.pickTime.$refs.timePicker.nowTimeType const nowTimeType = nowType || this.$refs.pickTime.$refs.timePicker.nowTimeType
this.nowTimeType = this.$refs.pickTime.$refs.timePicker.nowTimeType this.nowTimeType = nowType || this.$refs.pickTime.$refs.timePicker.nowTimeType
const type = nowTimeType.type const type = nowTimeType.type
const val = nowTimeType.value const val = nowTimeType.value
const oneDTimestamp = 24 * 60 * 60 * 1000
if (type === 'relative') { if (type === 'relative') {
const now = new Date(bus.computeTimezone(new Date().getTime())) const now = new Date(bus.computeTimezone(new Date().getTime()))
let start = bus.timeFormate(now, 'YYYY-MM-DD') let start = bus.timeFormate(now, 'YYYY-MM-DD') // 使用固定时间格式 方便添加 00:00:00 23:59:59
let end = bus.timeFormate(now, 'YYYY-MM-DD HH:mm:ss') let end = bus.timeFormate(now, 'YYYY-MM-DD HH:mm:ss')
let unit = '' let unit = ''
if (nowTimeType.id === 13) { // today if (nowTimeType.id === 13) { // today
unit = 't' unit = 't'
start += '00:00:00' end = start + ' 23:59:59'
end += '' start += ' 00:00:00'
start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss')) start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss'))
end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss')) end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss'))
} }
if (nowTimeType.id === 14) { // Yesterday
unit = 't'
end = start + ' 23:59:59'
start += ' 00:00:00'
start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss') - oneDTimestamp)
end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss') - oneDTimestamp)
}
if (nowTimeType.id === 15) { // The day before yesterday
unit = 't'
end = start + ' 23:59:59'
start += ' 00:00:00'
start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss') - 2 * oneDTimestamp)
end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss') - 2 * oneDTimestamp)
}
if (nowTimeType.id === 16) { // This day last week
unit = 't'
end = start + ' 23:59:59'
start += ' 00:00:00'
start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss') - 7 * oneDTimestamp)
end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss') - 7 * oneDTimestamp)
}
if (nowTimeType.id === 17) { // This week
unit = 'w'
const noTime = this.momentStrToTimestamp(start + ' 00:00:00', 'YYYY-MM-DD HH:mm:ss')
const nowDay = this.momentDays(noTime)
end = start + ' 23:59:59'
if (nowDay == 0) {
start = this.momentSetDay(noTime, -6, 'YYYY-MM-DD')
} else {
start = this.momentSetDay(noTime, 1, 'YYYY-MM-DD')
}
start += ' 00:00:00'
start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss'))
end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss'))
}
if (nowTimeType.id === 18) { // Previous week
unit = 'w'
let noTime = this.momentStrToTimestamp(start + ' 00:00:00', 'YYYY-MM-DD HH:mm:ss')
noTime = noTime - 7 * oneDTimestamp
const nowDay = this.momentDays(noTime)
if (nowDay == 0) { // 判断当前是否是周天 周天则为 -6 - 0 非周天 则是 1 - 7
start = this.momentSetDay(noTime, -6, 'YYYY-MM-DD')
end = this.momentSetDay(noTime, 0, 'YYYY-MM-DD')
} else {
start = this.momentSetDay(noTime, 1, 'YYYY-MM-DD')
end = this.momentSetDay(noTime, 7, 'YYYY-MM-DD')
}
start += ' 00:00:00'
end += ' 23:59:59'
start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss'))
end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss'))
}
if (nowTimeType.id === 19) { // this month
unit = 'm'
const noTime = this.momentStrToTimestamp(start + ' 00:00:00', 'YYYY-MM-DD HH:mm:ss')
end = start + ' 23:59:59'
start = this.momentSetMonthDate(noTime, 1)
end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss'))
}
if (nowTimeType.id === 20) { // Previous month 需要判断当前是否是 1号
unit = 'm'
const noTime = this.momentStrToTimestamp(start + ' 00:00:00', 'YYYY-MM-DD HH:mm:ss')
end = this.momentStrToTimestamp(this.momentSetMonthDate(noTime, 1)) - 1000 // 当月1号 00:00:00 减1s 则是上月最后一天 23:59:59
console.log(end, '1')
start = this.momentSetMonthDate(end, 1, 'YYYY-MM-DD') + ' 00:00:00'
console.log(start, '1')
start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss'))
end = this.momentTz(end)
}
this.$set(this[key], 0, start) this.$set(this[key], 0, start)
this.$set(this[key], 1, end) this.$set(this[key], 1, end)
this.$set(this[key], 2, val + unit) this.$set(this[key], 2, val + unit)

View File

@@ -40,7 +40,6 @@
<div v-if="dropdownFlag" class="date-range-panel popper-z-index" :class="timeBoxClass"> <div v-if="dropdownFlag" class="date-range-panel popper-z-index" :class="timeBoxClass">
<el-row class="date-range-panel-top" style="position: relative"> <el-row class="date-range-panel-top" style="position: relative">
<el-col <el-col
:span="16"
class="date-range-panel-content date-range-panel-content-left" class="date-range-panel-content date-range-panel-content-left"
> >
<div class="date-range-title" style="padding-left: 0"> <div class="date-range-title" style="padding-left: 0">
@@ -105,7 +104,6 @@
</div> </div>
</el-col> </el-col>
<el-col <el-col
:span="8"
class="date-range-panel-content date-range-panel-content-right" class="date-range-panel-content date-range-panel-content-right"
style="border-left: 1px solid rgba(0, 0, 0, 0.09)" style="border-left: 1px solid rgba(0, 0, 0, 0.09)"
> >
@@ -202,13 +200,17 @@ export default {
{ id: 8, text: this.$t('dashboard.dashboard.lastTwentyFourHour'), type: 'hour', value: 24 }, { id: 8, text: this.$t('dashboard.dashboard.lastTwentyFourHour'), type: 'hour', value: 24 },
{ id: 9, text: this.$t('dashboard.dashboard.lastTwoDay'), type: 'date', value: 2 }, { id: 9, text: this.$t('dashboard.dashboard.lastTwoDay'), type: 'date', value: 2 },
{ id: 10, text: this.$t('dashboard.dashboard.lastSevenDay'), type: 'date', value: 7 }, { id: 10, text: this.$t('dashboard.dashboard.lastSevenDay'), type: 'date', value: 7 },
{ id: 11, text: this.$t('dashboard.dashboard.lastThirtyDay'), type: 'date', value: 30 } { id: 11, text: this.$t('dashboard.dashboard.lastThirtyDay'), type: 'date', value: 30 },
],
relativeData: [
{ id: 13, text: 'today', type: 'relative', value: 0 }, { id: 13, text: 'today', type: 'relative', value: 0 },
{ id: 14, text: 'Yesterday ', type: 'relative', value: 1 }, { id: 14, text: 'Yesterday ', type: 'relative', value: 1 },
{ id: 15, text: 'The day before yesterday', type: 'relative', value: 2 }, { id: 15, text: 'The day before yesterday', type: 'relative', value: 2 },
{ id: 16, text: 'This day last week', type: 'relative', value: 7 } { id: 16, text: 'This day last week', type: 'relative', value: 7 },
{ id: 17, text: 'This week', type: 'relative', value: 0 },
{ id: 18, text: 'Previous week', type: 'relative', value: 1 },
{ id: 19, text: 'This month', type: 'relative', value: 0 },
{ id: 20, text: 'Previous month', type: 'relative', value: 1 }
],
relativeData: [
], ],
timeShowData: [], timeShowData: [],
nowTimeType: { nowTimeType: {
@@ -537,19 +539,90 @@ export default {
setSearchTime (type, val, time) { setSearchTime (type, val, time) {
if (type === 'relative') { if (type === 'relative') {
const now = new Date(bus.computeTimezone(new Date().getTime())) const now = new Date(bus.computeTimezone(new Date().getTime()))
let start = bus.timeFormate(now, 'YYYY-MM-DD') const nowTimeType = this.nowTimeType
const oneDTimestamp = 24 * 60 * 60 * 1000
let start = bus.timeFormate(now, 'YYYY-MM-DD') // 使用固定时间格式 方便添加 00:00:00 23:59:59
let end = bus.timeFormate(now, 'YYYY-MM-DD HH:mm:ss') let end = bus.timeFormate(now, 'YYYY-MM-DD HH:mm:ss')
console.log(start, end, val) let unit = ''
if (this.nowTimeType.id === 13) { // today if (nowTimeType.id === 13) { // today
start += '00:00:00' unit = 't'
end += '' end = start + ' 23:59:59'
start += ' 00:00:00'
start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss')) start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss'))
end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss')) end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss'))
} }
console.log(start, end) if (nowTimeType.id === 14) { // Yesterday
unit = 't'
end = start + ' 23:59:59'
start += ' 00:00:00'
start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss') - oneDTimestamp)
end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss') - oneDTimestamp)
}
if (nowTimeType.id === 15) { // The day before yesterday
unit = 't'
end = start + ' 23:59:59'
start += ' 00:00:00'
start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss') - 2 * oneDTimestamp)
end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss') - 2 * oneDTimestamp)
}
if (nowTimeType.id === 16) { // This day last week
unit = 't'
end = start + ' 23:59:59'
start += ' 00:00:00'
start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss') - 7 * oneDTimestamp)
end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss') - 7 * oneDTimestamp)
}
if (nowTimeType.id === 17) { // This week
unit = 'w'
const noTime = this.momentStrToTimestamp(start + ' 00:00:00', 'YYYY-MM-DD HH:mm:ss')
const nowDay = this.momentDays(noTime)
end = start + ' 23:59:59'
if (nowDay == 0) {
start = this.momentSetDay(noTime, -6, 'YYYY-MM-DD')
} else {
start = this.momentSetDay(noTime, 1, 'YYYY-MM-DD')
}
start += ' 00:00:00'
start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss'))
end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss'))
}
if (nowTimeType.id === 18) { // Previous week
unit = 'w'
let noTime = this.momentStrToTimestamp(start + ' 00:00:00', 'YYYY-MM-DD HH:mm:ss')
noTime = noTime - 7 * oneDTimestamp
const nowDay = this.momentDays(noTime)
if (nowDay == 0) { // 判断当前是否是周天 周天则为 -6 - 0 非周天 则是 1 - 7
start = this.momentSetDay(noTime, -6, 'YYYY-MM-DD')
end = this.momentSetDay(noTime, 0, 'YYYY-MM-DD')
} else {
start = this.momentSetDay(noTime, 1, 'YYYY-MM-DD')
end = this.momentSetDay(noTime, 7, 'YYYY-MM-DD')
}
start += ' 00:00:00'
end += ' 23:59:59'
start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss'))
end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss'))
}
if (nowTimeType.id === 19) { // this month
unit = 'm'
const noTime = this.momentStrToTimestamp(start + ' 00:00:00', 'YYYY-MM-DD HH:mm:ss')
end = start + ' 23:59:59'
start = this.momentSetMonthDate(noTime, 1)
end = this.momentTz(this.momentStrToTimestamp(end, 'YYYY-MM-DD HH:mm:ss'))
}
if (nowTimeType.id === 20) { // Previous month 需要判断当前是否是 1号
unit = 'm'
const noTime = this.momentStrToTimestamp(start + ' 00:00:00', 'YYYY-MM-DD HH:mm:ss')
end = this.momentStrToTimestamp(this.momentSetMonthDate(noTime, 1)) - 1000 // 当月1号 00:00:00 减1s 则是上月最后一天 23:59:59
console.log(end, '1')
start = this.momentSetMonthDate(end, 1, 'YYYY-MM-DD') + ' 00:00:00'
console.log(start, '1')
start = this.momentTz(this.momentStrToTimestamp(start, 'YYYY-MM-DD HH:mm:ss'))
end = this.momentTz(end)
}
this.$set(this.searchTime, 0, start) this.$set(this.searchTime, 0, start)
this.$set(this.searchTime, 1, end) this.$set(this.searchTime, 1, end)
this.$set(this.searchTime, 2, this.nowTimeType.id) this.$set(this.searchTime, 2, val + unit)
} else if (type === 'minute') { } else if (type === 'minute') {
const startTime = bus.timeFormate( const startTime = bus.timeFormate(
new Date(bus.computeTimezone(new Date().getTime())).setMinutes( new Date(bus.computeTimezone(new Date().getTime())).setMinutes(

View File

@@ -344,7 +344,15 @@ export default {
{ id: 8, text: this.$t('dashboard.dashboard.lastTwentyFourHour'), type: 'hour', value: 24 }, { id: 8, text: this.$t('dashboard.dashboard.lastTwentyFourHour'), type: 'hour', value: 24 },
{ id: 9, text: this.$t('dashboard.dashboard.lastTwoDay'), type: 'date', value: 2 }, { id: 9, text: this.$t('dashboard.dashboard.lastTwoDay'), type: 'date', value: 2 },
{ id: 10, text: this.$t('dashboard.dashboard.lastSevenDay'), type: 'date', value: 7 }, { id: 10, text: this.$t('dashboard.dashboard.lastSevenDay'), type: 'date', value: 7 },
{ id: 11, text: this.$t('dashboard.dashboard.lastThirtyDay'), type: 'date', value: 30 } { id: 11, text: this.$t('dashboard.dashboard.lastThirtyDay'), type: 'date', value: 30 },
{ id: 13, text: 'today', type: 'relative', value: 0 },
{ id: 14, text: 'Yesterday ', type: 'relative', value: 1 },
{ id: 15, text: 'The day before yesterday', type: 'relative', value: 2 },
{ id: 16, text: 'This day last week', type: 'relative', value: 7 },
{ id: 17, text: 'This week', type: 'relative', value: 0 },
{ id: 18, text: 'Previous week', type: 'relative', value: 1 },
{ id: 19, text: 'This month', type: 'relative', value: 0 },
{ id: 20, text: 'Previous month', type: 'relative', value: 1 }
], ],
intervalList: [ intervalList: [
{ value: 0, label: this.$t('dashboard.dashboard.chartForm.lockList.off') }, { value: 0, label: this.$t('dashboard.dashboard.chartForm.lockList.off') },
@@ -1170,7 +1178,9 @@ export default {
// 时间选择器设置默认时间范围 // 时间选择器设置默认时间范围
setDefaultTimeRange () { setDefaultTimeRange () {
this.$nextTick(() => { this.$nextTick(() => {
console.log(this.$route.query.searchTime)
if (this.$route.query.searchTime) return if (this.$route.query.searchTime) return
console.log(213123213)
let nowTimeType = this.$lodash.cloneDeep(this.timeData[3]) let nowTimeType = this.$lodash.cloneDeep(this.timeData[3])
const defaultTimeRange = this.$lodash.get(this.showPanel, 'param.defaultTimeRange') const defaultTimeRange = this.$lodash.get(this.showPanel, 'param.defaultTimeRange')
if (defaultTimeRange) { if (defaultTimeRange) {
@@ -1237,7 +1247,7 @@ export default {
this.$store.commit('setMode', this.mode) this.$store.commit('setMode', this.mode)
await this.getTableData() await this.getTableData()
if (this.nowTimeType.type) { if (this.nowTimeType.type) {
this.setSearchTime('searchTime') this.setSearchTime('searchTime',this.nowTimeType)
} }
if (this.nowTimeType) { if (this.nowTimeType) {
this.nowTimeType.start_time = this.searchTime[0] this.nowTimeType.start_time = this.searchTime[0]

View File

@@ -91,14 +91,26 @@ export default new Vue({
const oneDay = 86400000 const oneDay = 86400000
const sevenDay = 604800000 const sevenDay = 604800000
const thirtyDay = 2592000000 const thirtyDay = 2592000000
if (numInterval < oneDay) { // 小于1step为15s if (numInterval < oneDay / 2) { // 小于12小时
step = '15s' step = '15s'
} else if (numInterval < oneDay) { // 小于1天step为15s
step = '30s'
} else if (numInterval < oneDay * 2) { // 小于2天step为15s
step = '1m'
} else if (numInterval < sevenDay) { // 小于7天step为5m } else if (numInterval < sevenDay) { // 小于7天step为5m
step = '5m' step = '5m'
} else if (numInterval < thirtyDay) { // 小于30天step为10m } else if (numInterval < thirtyDay) { // 小于30天step为10m
step = '10m'
} else {
step = '30m' step = '30m'
} else if (numInterval < thirtyDay * 2) {
step = '45m'
} else if (numInterval < thirtyDay * 3) {
step = '1h'
} else if (numInterval < thirtyDay * 6) {
step = '3h'
} else if (numInterval < thirtyDay * 12) {
step = '5h'
} else {
step = '24h'
} }
return step return step
}, },