Compare commits

...

4 Commits

Author SHA1 Message Date
edab894447 Merge branch 'develop' into baicai 2025-07-01 14:43:33 +08:00
99b019ebc9 故障告警接口联调 2025-07-01 14:42:53 +08:00
9b78635fd8 故障告警 2025-07-01 14:11:41 +08:00
ab9a13264c 单体电池表格新增簇号字段 2025-07-01 12:56:00 +08:00
4 changed files with 75 additions and 17 deletions

View File

@ -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'
})
}

View File

@ -4,3 +4,16 @@ export const formatNumber = (val) => {
return val
}else {return '-'}
}
export const formatDate = (val,toSeconds = false) => {
if(!val) return ''
const date = new Date(val)
const month = date.getMonth() + 1,day = date.getDate()
if(!toSeconds){
return `${date.getFullYear()}-${month<10?'0'+month : month}-${day<10 ? '0'+day : day}`
}else{
const hours = date.getHours(),minuets=date.getMinutes(),seconds = date.getSeconds();
return `${date.getFullYear()}-${month<10?'0'+month : month}-${day<10 ? '0'+day : day} ${hours<10 ? '0'+hours : hours}:${minuets<10 ? '0'+minuets : minuets}:${seconds<10 ? '0'+seconds : seconds}`
}
}

View File

@ -48,7 +48,7 @@
max-height="500"
style="width: 100%;margin-top:25px;">
<el-table-column
prop="name"
prop="deviceName"
width="200"
label="设备名称">
</el-table-column>
@ -61,17 +61,22 @@
</el-table-column>
<el-table-column
prop="alarmContent"
min-width="400"
show-overflow-tooltip
label="告警内容">
</el-table-column>
<el-table-column
prop="alarmStartTime"
label="告警发生时间">
<template slot-scope="scope">
<span>{{formatDate(scope.row.alarmStartTime,true)}}</span>
</template>
</el-table-column>
<el-table-column
prop="alarmEndTime"
label="告警结束时间">
<template slot-scope="scope">
<span>{{formatDate(scope.row.alarmEndTime,true)}}</span>
</template>
</el-table-column>
<el-table-column
label="状态">
@ -101,6 +106,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 +115,7 @@ export default {
loading:false,
btnList:[
{name:'今日告警',id:'today'},
{name:'历史告警',id:'yesterday'},
{name:'历史告警',id:'history'},
],
pickerOptions:{
disabledDate(time) {
@ -120,15 +126,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 +134,14 @@ export default {
}
},
methods:{
formatDate,
// 判断是否是同一天
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 +157,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 +182,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,9 +202,22 @@ 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 => {
this.tableData=response?.data || [];
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?.rows || [];
this.totalSize = response?.total || 0
}).finally(() => {this.loading=false})
},

View File

@ -40,6 +40,10 @@
prop="deviceId"
label="单体编号">
</el-table-column>
<el-table-column
prop="clusterDeviceId"
label="簇号">
</el-table-column>
<el-table-column
prop="voltage"
label="电压V"