Merge branch 'dev-3.8' of https://git.mesalab.cn/nezha/nezha-fronted into dev-3.9

This commit is contained in:
zhangyu
2023-10-30 11:07:29 +08:00
6 changed files with 191 additions and 15 deletions

View File

@@ -223,6 +223,7 @@ export default {
this.nowTimeType = nowType || this.$refs.pickTime.$refs.timePicker.nowTimeType
const type = nowTimeType.type
const val = nowTimeType.value
console.log(val)
const oneDTimestamp = 24 * 60 * 60 * 1000
if (type === 'relative') {
const now = new Date(bus.computeTimezone(new Date().getTime()))

View File

@@ -246,66 +246,107 @@ export default {
switch (value) {
case '5m' :
this.defaultPick = 1
this.defaultPickType = 'minute'
this.defaultPickVal = 5
break
case '15m' :
this.defaultPick = 2
this.defaultPickType = 'minute'
this.defaultPickVal = 15
break
case '30m' :
this.defaultPick = 3
this.defaultPickType = 'minute'
this.defaultPickVal = 30
break
case '1h' :
this.defaultPick = 4
this.defaultPickType = 'hour'
this.defaultPickVal = 1
break
case '3h' :
this.defaultPick = 5
this.defaultPickType = 'hour'
this.defaultPickVal = 3
break
case '6h' :
this.defaultPick = 6
this.defaultPickType = 'hour'
this.defaultPickVal = 6
break
case '12h' :
this.defaultPick = 7
this.defaultPickType = 'hour'
this.defaultPickVal = 12
break
case '1d' :
this.defaultPick = 8
break
// case '1d' :
// this.defaultPick = 8
// this.defaultPickType = 'hour'
// break
case '24h' :
this.defaultPick = 8
this.defaultPickType = 'hour'
this.defaultPickVal = 24
break
case '2d' :
this.defaultPick = 9
this.defaultPickType = 'date'
this.defaultPickVal = 2
break
case '7d' :
this.defaultPick = 10
this.defaultPickType = 'date'
this.defaultPickVal = 7
break
case '30d' :
this.defaultPick = 11
this.defaultPickType = 'date'
this.defaultPickVal = 30
break
case 'all' :
this.defaultPick = 12
this.defaultPickType = 'all'
this.defaultPickVal = 'all'
break
case '0t' :
this.defaultPick = 13
this.defaultPickType = 'relative'
this.defaultPickVal = 'all'
break
case '1t' :
this.defaultPick = 14
this.defaultPickType = 'relative'
this.defaultPickVal = 'all'
break
case '2t' :
this.defaultPick = 15
this.defaultPickType = 'relative'
this.defaultPickVal = 'all'
break
case '7t' :
this.defaultPick = 16
this.defaultPickType = 'relative'
this.defaultPickVal = 'all'
break
case '0w' :
this.defaultPick = 17
this.defaultPickType = 'relative'
this.defaultPickVal = 'all'
break
case '1w' :
this.defaultPick = 18
this.defaultPickType = 'relative'
this.defaultPickVal = 'all'
break
case '0m' :
this.defaultPick = 19
this.defaultPickType = 'relative'
this.defaultPickVal = 'all'
break
case '1m' :
this.defaultPick = 20
this.defaultPickType = 'relative'
this.defaultPickVal = 'all'
break
default:
this.defaultPick = 0

View File

@@ -76,7 +76,7 @@ export default {
},
data () {
return {
searchTime: [],
searchTime: ['', ''],
visible: false,
intervalTimer: null,
interval: -1,
@@ -146,10 +146,10 @@ export default {
},
timeFormate (timeRange) {
if (timeRange && timeRange.length < 2) {
return []
return ['', '']
}
if (!timeRange[0]) {
return []
return ['', '']
}
const startTime = bus.timeFormate(timeRange[0], this.pickTimer)
const endTime = bus.timeFormate(timeRange[1], this.pickTimer)

View File

@@ -246,8 +246,9 @@ export default {
this.getUtcStr()
this.getRangeHistoryArr()
const timeTemp = this.$lodash.cloneDeep(this.searchTime)
this.oldSearchTime[0] = timeTemp[0]
this.oldSearchTime[1] = timeTemp[1]
console.log(this.searchTime)
this.oldSearchTime[0] = timeTemp[0] || ''
this.oldSearchTime[1] = timeTemp[1] || ''
// 监听dateFormat变化 改变日期格式
window.addEventListener('storage', this.watchDateFormat)
},
@@ -703,7 +704,7 @@ export default {
}
}
if (this.showEmpty && this.defaultPick === 12) {
this.searchTime = []
this.searchTime = ['', '']
}
}
}

View File

@@ -402,7 +402,9 @@ export default {
],
errorContent: '',
isError: false,
defaultPick: 10
defaultPick: 10,
defaultPickType: 'date',
defaultPickVal: 7
}
},
computed: {
@@ -446,15 +448,21 @@ export default {
},
methods: {
renderDefaultParams () {
sessionStorage.setItem('nz-reload', 0)
const q = JSON.parse(this.$route.query.body)
this.state = q.state
this.searchTime[0] = q.startAt ? this.momentTz(q.startAt) : ''
this.searchTime[1] = q.endAt ? this.momentTz(q.endAt) : ''
this.searchTime[2] = q.timeType
if (!q.startAt) {
this.searchTime[2] = 'all'
if (!q.startAt && !q.timeType) {
this.searchTime = ['', '', 'all']
} else if (q.timeType === 'all') {
this.searchTime = ['', '', 'all']
}
this.initTimeType(this.searchTime[2])
if (this.defaultPick && this.defaultPick !== 12) {
this.setDefaultSearchTime('')
}
// this.defaultPick = 11
},
batchAck () {
@@ -780,6 +788,116 @@ export default {
this.setSearchTime('searchTime')
this.getTableData()
},
setDefaultSearchTime () {
const type = this.defaultPickType
const val = this.defaultPickVal
const key = 'searchTime'
const oneDTimestamp = 24 * 60 * 60 * 1000
if (type === 'relative') {
const now = new Date(bus.computeTimezone(new Date().getTime()))
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 unit = ''
if (this.defaultPick === 13) { // today
unit = 't'
end = start + ' 23:59:59'
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 (this.defaultPick === 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 (this.defaultPick === 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 (this.defaultPick === 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 (this.defaultPick === 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')
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 (this.defaultPick === 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 (this.defaultPick === 19) { // this month
unit = 'm'
const noTime = this.momentStrToTimestamp(start + ' 00:00:00', 'YYYY-MM-DD HH:mm:ss')
const endTime = this.momentStrToTimestamp(start + ' 23:59:59', 'YYYY-MM-DD HH:mm:ss')
start = this.momentSetMonthDate(noTime, 1)
end = this.momentSetMonthDate(endTime, 31)
}
if (this.defaultPick === 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
start = this.momentSetMonthDate(end, 1, 'YYYY-MM-DD') + ' 00:00:00'
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], 1, end)
this.$set(this[key], 2, val + unit)
} else if (type === 'minute') {
const startTime = bus.timeFormate(new Date(bus.computeTimezone(new Date().getTime())).setMinutes(new Date(bus.computeTimezone(new Date().getTime())).getMinutes() - val))
const endTime = bus.timeFormate(new Date(bus.computeTimezone(new Date().getTime())))
this.$set(this[key], 0, startTime)
this.$set(this[key], 1, endTime)
this.$set(this[key], 2, val + 'm')
} else if (type === 'hour') {
const startTime = bus.timeFormate(new Date(bus.computeTimezone(new Date().getTime())).setHours(new Date(bus.computeTimezone(new Date().getTime())).getHours() - val))
const endTime = bus.timeFormate(new Date(bus.computeTimezone(new Date().getTime())))
this.$set(this[key], 0, startTime)
this.$set(this[key], 1, endTime)
this.$set(this[key], 2, val + 'h')
} else if (type === 'date') {
const startTime = bus.timeFormate(new Date(bus.computeTimezone(new Date().getTime())).setDate(new Date(bus.computeTimezone(new Date().getTime())).getDate() - val))
const endTime = bus.timeFormate(new Date(bus.computeTimezone(new Date().getTime())))
this.$set(this[key], 0, startTime)
this.$set(this[key], 1, endTime)
this.$set(this[key], 2, val + 'd')
}
},
getTableData (state) {
if (state) {
this.state = state
@@ -817,10 +935,16 @@ export default {
...this.searchLabel
}
const path = this.fromRoute.alertMessage
const routePathParams = this.$lodash.cloneDeep(param)
const routePathParams = JSON.parse(JSON.stringify(param))
delete routePathParams.statistics
console.log(this.searchTime[2])
if (!this.searchTime[2]) {
routePathParams.body.startAt = this.searchTime[0] ? this.momentStrToTimestamp(this.searchTime[0]) : ''
routePathParams.body.endAt = this.searchTime[1] ? this.momentStrToTimestamp(this.searchTime[1]) : ''
} else {
delete routePathParams.body.startAt
delete routePathParams.body.endAt
}
routePathParams.body.timeType = this.searchTime[2]
routePathParams.body = JSON.stringify(routePathParams.body)
this.updatePath(routePathParams, path)
@@ -828,6 +952,7 @@ export default {
...this.searchLabel,
body: encodeURIComponent(JSON.stringify(this.searchLabel.body))
}
console.log(this.searchLabel.body)
this.$get('/alert/message/query', { ...queryParams }).then(response => {
this.tools.loading = false
if (response.code == 200) {

View File

@@ -39,6 +39,14 @@ export default {
if (window.outerWidth <= defaultWindowWidth) { // outerWidth 获取设备宽度
document.querySelector('meta[name=viewport]').setAttribute('content', `width=device-width, initial-scale=${window.outerWidth / (defaultWindowWidth * window.devicePixelRatio)}, maximum-scale=1.0, user-scalable=0`)
}
window.addEventListener('unload', this.clearUrl)
},
methods: {
clearUrl () {
sessionStorage.setItem('nz-reload', 1)
}
},
beforeDestroy () {
}
}
</script>