故障告警
This commit is contained in:
@ -77,9 +77,9 @@ export function getAmmeterDataList(siteId) {
|
||||
}
|
||||
|
||||
// 故障告警
|
||||
export function getAlarmDetailList({siteId, deviceType, alarmLevel, alarmStartTime, alarmEndTime,todayFlag,pageSize,pageNum}) {
|
||||
export function getAlarmDetailList({siteId, deviceType, alarmLevel, alarmStartTime, alarmEndTime,pageSize,pageNum}) {
|
||||
return request({
|
||||
url: `/ems/siteAlarm/getAlarmDetailList?todayFlag=${todayFlag}&siteId=${siteId}&deviceType=${deviceType}&alarmLevel=${alarmLevel}&alarmStartTime=${alarmStartTime}&alarmEndTime=${alarmEndTime}&pageSize=${pageSize}&pageNum=${pageNum}`,
|
||||
url: `/ems/siteAlarm/getAlarmDetailList?siteId=${siteId}&deviceType=${deviceType}&alarmLevel=${alarmLevel}&alarmStartTime=${alarmStartTime}&alarmEndTime=${alarmEndTime}&pageSize=${pageSize}&pageNum=${pageNum}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
@ -4,3 +4,11 @@ export const formatNumber = (val) => {
|
||||
return val
|
||||
}else {return '-'}
|
||||
}
|
||||
|
||||
|
||||
export const formatDate = (val) => {
|
||||
if(!val) return ''
|
||||
const date = new Date(val)
|
||||
const month = date.getMonth() + 1,day = date.getDate()
|
||||
return `${date.getFullYear()}-${month<10?'0'+month : month}-${day<10 ? '0'+day : day}`
|
||||
}
|
||||
|
@ -101,6 +101,7 @@
|
||||
<script>
|
||||
import {getAlarmDetailList} from'@/api/ems/dzjk'
|
||||
import getQuerySiteId from "@/mixins/ems/getQuerySiteId";
|
||||
import {formatDate} from '@/filters/ems'
|
||||
export default {
|
||||
name:'DzjkGzgj',
|
||||
mixins:[getQuerySiteId],
|
||||
@ -109,7 +110,7 @@ export default {
|
||||
loading:false,
|
||||
btnList:[
|
||||
{name:'今日告警',id:'today'},
|
||||
{name:'历史告警',id:'yesterday'},
|
||||
{name:'历史告警',id:'history'},
|
||||
],
|
||||
pickerOptions:{
|
||||
disabledDate(time) {
|
||||
@ -120,15 +121,6 @@ export default {
|
||||
dateRange:[],//alarmStartTime,alarmEndTime
|
||||
activeBtn:'today',
|
||||
search:{deviceType:'',alarmLevel:''},
|
||||
deviceTypeOptions:[
|
||||
{name:'类型一',id:1},
|
||||
{name:'类型二',id:2},
|
||||
{name:'类型三',id:3},
|
||||
],
|
||||
alarmLevelOptions:[
|
||||
{name:'等级一',id:1},
|
||||
{name:'等级二',id:2},
|
||||
],
|
||||
// 表格、分页
|
||||
tableData:[],
|
||||
pageSize:10,//分页栏当前每个数据总数
|
||||
@ -137,6 +129,13 @@ export default {
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
// 判断是否是同一天
|
||||
isSameDay(day1, day2) {
|
||||
const date1 = new Date(day1),date2 = new Date(day2)
|
||||
return date1.getFullYear() === date2.getFullYear() &&
|
||||
date1.getMonth() === date2.getMonth() &&
|
||||
date1.getDate() === date2.getDate();
|
||||
},
|
||||
// 分页
|
||||
handleSizeChange(val) {
|
||||
this.pageSize = val;
|
||||
@ -152,6 +151,18 @@ export default {
|
||||
},
|
||||
// 搜索
|
||||
onSearch(){
|
||||
const [alarmStartTime='',alarmEndTime='']=this.dateRange
|
||||
// 选中了时间范围
|
||||
if(alarmStartTime && alarmStartTime){
|
||||
// 如果选择的时间范围是今天
|
||||
if(this.isSameDay(alarmStartTime,alarmEndTime) && this.isSameDay(alarmStartTime,new Date())){
|
||||
this.activeBtn = 'today'
|
||||
}else {
|
||||
this.activeBtn = 'history'
|
||||
}
|
||||
}else{
|
||||
//没有选择时间范围 还是按照选中的今日告警、历史告警查询
|
||||
}
|
||||
this.getData()
|
||||
},
|
||||
// 重置
|
||||
@ -165,6 +176,17 @@ export default {
|
||||
if(id !== this.activeBtn){
|
||||
console.log('点击了不同的菜单,更新数据')
|
||||
this.activeBtn=id;
|
||||
const [alarmStartTime,alarmEndTime]=this.dateRange
|
||||
// 切换到今日告警,如果已经选择了时间范围清空
|
||||
if(alarmStartTime && alarmEndTime){
|
||||
// 如果切换到了今日告警,时间范围不相等或者相等但是不是今天 清空时间选择范围
|
||||
if(id === 'today' && !this.isSameDay(alarmStartTime,alarmEndTime) || (this.isSameDay(alarmStartTime,alarmEndTime) && !this.isSameDay(alarmStartTime,new Date()))){
|
||||
this.dateRange = []
|
||||
}else if(id === 'history' && this.isSameDay(alarmStartTime,alarmEndTime) && this.isSameDay(alarmStartTime,new Date())){
|
||||
// 切换成历史告警,但是选择时间范围是当天,清空时间范围
|
||||
this.dateRange = []
|
||||
}
|
||||
}
|
||||
this.getData()
|
||||
}
|
||||
},
|
||||
@ -174,8 +196,20 @@ export default {
|
||||
const {deviceType,alarmLevel} = this.search
|
||||
const {siteId,pageNum,pageSize,activeBtn} =this
|
||||
const [alarmStartTime='',alarmEndTime='']=this.dateRange
|
||||
const todayFlag = activeBtn === 'today'
|
||||
getAlarmDetailList({deviceType,alarmLevel,siteId,pageSize,pageNum,alarmStartTime,alarmEndTime,todayFlag}).then(response => {
|
||||
let start='',end = '',now =new Date()
|
||||
if(activeBtn === 'today'){
|
||||
start = end = now
|
||||
}else{
|
||||
if(alarmStartTime && alarmEndTime){
|
||||
start = alarmStartTime
|
||||
end = alarmEndTime
|
||||
}else{
|
||||
start=''
|
||||
end = now
|
||||
end.setDate(end.getDate() - 1);
|
||||
}
|
||||
}
|
||||
getAlarmDetailList({deviceType,alarmLevel,siteId,pageSize,pageNum,alarmStartTime:formatDate(start),alarmEndTime:formatDate(end)}).then(response => {
|
||||
this.tableData=response?.data || [];
|
||||
this.totalSize = response?.total || 0
|
||||
}).finally(() => {this.loading=false})
|
||||
|
Reference in New Issue
Block a user