Commit 50999ff0 authored by liwei's avatar liwei

修改了AI无人站报警数量bug,增加了表计和灭火器报警图片

parent 48795c03
...@@ -4,6 +4,8 @@ import {getAlarmListData} from "../../../api/AIStation/Extinguisher.js"; ...@@ -4,6 +4,8 @@ import {getAlarmListData} from "../../../api/AIStation/Extinguisher.js";
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import {ElMessage} from "element-plus"; import {ElMessage} from "element-plus";
import { useRoute, useRouter, onBeforeRouteUpdate } from "vue-router"; import { useRoute, useRouter, onBeforeRouteUpdate } from "vue-router";
import {getImageUrl} from '../../../api/AIStation/common.js'
import analysisImage from '/imgs/default.png'
const router = useRouter(); const router = useRouter();
let AlarmData = ref([]) let AlarmData = ref([])
...@@ -152,6 +154,15 @@ function Nindex(index) { ...@@ -152,6 +154,15 @@ function Nindex(index) {
const pagesize = Page.rows // 每页条数 const pagesize = Page.rows // 每页条数
return index + 1 + (page - 1) * pagesize return index + 1 + (page - 1) * pagesize
} }
//处理图片url
const getImageSrc = (row) => {
if (row.imageUrl !== null){
const url = getImageUrl(row.imageUrl)
return url;
}
return analysisImage;
};
</script> </script>
<template> <template>
...@@ -190,6 +201,20 @@ function Nindex(index) { ...@@ -190,6 +201,20 @@ function Nindex(index) {
<span v-else>-</span> <span v-else>-</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="imageUrl" align="center" label="图片">
<template #default="scope">
<el-image
style="width:100%;height:100%;"
:src="getImageSrc(scope.row)"
:preview-src-list="[getImageSrc(scope.row)]"
preview-teleported
>
<div slot="error" class="image-slot">
<i class="el-icon-picture-outline"/>
</div>
</el-image>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="190" fixed="right"> <el-table-column label="操作" align="center" width="190" fixed="right">
<template #default="scope"> <template #default="scope">
<div class="table-operate-column"> <div class="table-operate-column">
......
...@@ -271,7 +271,9 @@ function Nindex(index) { ...@@ -271,7 +271,9 @@ function Nindex(index) {
</el-row> </el-row>
<el-form-item label="图片:" prop="picUrl"> <el-form-item label="图片:" prop="picUrl">
<el-image :src="getImageSrc(singleDetails)" <el-image :src="getImageSrc(singleDetails)"
style="max-width: 80%; height: auto;"/> style="max-width: 80%; height: auto;"
:preview-src-list="[getImageSrc(singleDetails)]"
preview-teleported/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-dialog> </el-dialog>
......
...@@ -262,7 +262,9 @@ function Nindex(index) { ...@@ -262,7 +262,9 @@ function Nindex(index) {
</el-row> </el-row>
<el-form-item label="图片:" prop="picUrl"> <el-form-item label="图片:" prop="picUrl">
<el-image :src="getImageSrc(singleDetails)" <el-image :src="getImageSrc(singleDetails)"
style="max-width: 80%; height: auto;"/> style="max-width: 80%; height: auto;"
:preview-src-list="[getImageSrc(singleDetails)]"
preview-teleported/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-dialog> </el-dialog>
......
...@@ -92,18 +92,16 @@ const handleTabClick = (tab, event) => { ...@@ -92,18 +92,16 @@ const handleTabClick = (tab, event) => {
if (selectedItem) { if (selectedItem) {
selectedComponent.value = selectedItem.component; selectedComponent.value = selectedItem.component;
selectedBtn.value = selectedItem.id; selectedBtn.value = selectedItem.id;
resetSearch(); resetSearch(0);
if (selectedBtn.value !== 1){ //给搜索框的时间赋值 当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00
//给搜索框的时间赋值 当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00 let now = new Date();
let now = new Date(); now.setMinutes(0, 0, 0); // 将分钟、秒数和毫秒数都设为0
now.setMinutes(0, 0, 0); // 将分钟、秒数和毫秒数都设为0 let start = new Date(now.getTime() - 24 * 60 * 60 * 1000); // 减去24小时的毫秒数
let start = new Date(now.getTime() - 24 * 60 * 60 * 1000); // 减去24小时的毫秒数 let endTime = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:00:00`;
let endTime = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:00:00`; start.setMinutes(0, 0, 0); // 确保分钟、秒数和毫秒数都为0
start.setMinutes(0, 0, 0); // 确保分钟、秒数和毫秒数都为0 let startTime = `${start.getFullYear()}-${String(start.getMonth() + 1).padStart(2, '0')}-${String(start.getDate()).padStart(2, '0')} ${String(start.getHours()).padStart(2, '0')}:00:00`;
let startTime = `${start.getFullYear()}-${String(start.getMonth() + 1).padStart(2, '0')}-${String(start.getDate()).padStart(2, '0')} ${String(start.getHours()).padStart(2, '0')}:00:00`; queryParams.beginTime = startTime
queryParams.beginTime = startTime queryParams.endTime = endTime
queryParams.endTime = endTime
}
search() search()
} }
}; };
...@@ -151,7 +149,7 @@ function datePickerEndConfirm(e){ ...@@ -151,7 +149,7 @@ function datePickerEndConfirm(e){
const performActions = async () => { const performActions = async () => {
try { try {
await handleGetAIToken(); // 等待 handleGetAIToken 完成 await handleGetAIToken(); // 等待 handleGetAIToken 完成
resetSearch() resetSearch(0)
getNumber() getNumber()
} catch (error) { } catch (error) {
console.error('处理 Token 时出错:', error); console.error('处理 Token 时出错:', error);
...@@ -205,9 +203,51 @@ const search = () => { ...@@ -205,9 +203,51 @@ const search = () => {
} else if (selectedBtn.value === 3) { } else if (selectedBtn.value === 3) {
childParams.value = item childParams.value = item
} }
//根据搜索框 重新查询报警数量
const params = {
beginTime: queryParams.beginTime,
endTime: queryParams.endTime
}
getAlarmNumData(params).then(res => {
alarmNum.value = res.data ? res.data : 0
})
console.log('查询:', item); console.log('查询:', item);
} }
// 重置
const resetSearch = (type) => {
queryParams.alarmStatus = ''
queryParams.beginTime = ''
queryParams.endTime = ''
queryParams.alarmType = ''
queryParams.stationId = []
queryParams.srcName = ''
searchData.value = []
childParams.value = {
page: Page.page,
size: Page.rows,
stationId: [],
alarmStatus: '',
beginTime: '',
endTime: '',
srcName:''
}
//如果点击的是报警页面的重置 需要重新查询报警数量
if (selectedBtn.value === 3) {
if (type === 1){//1代表重置按钮触发 0代表非重置按钮触发 重置按钮触发时则需要重新查询报警数量
//根据搜索框 重新查询报警数量
const params = {
beginTime: '',
endTime: ''
}
getAlarmNumData(params).then(res => {
alarmNum.value = res.data ? res.data : 0
})
}
}
}
//报警数量 //报警数量
function getNumber() { function getNumber() {
//当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00 //当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00
...@@ -304,26 +344,6 @@ const handleExport = () => { ...@@ -304,26 +344,6 @@ const handleExport = () => {
}; };
// 重置
const resetSearch = () => {
queryParams.alarmStatus = ''
queryParams.beginTime = ''
queryParams.endTime = ''
queryParams.alarmType = ''
queryParams.stationId = []
queryParams.srcName = ''
searchData.value = []
childParams.value = {
page: Page.page,
size: Page.rows,
stationId: [],
alarmStatus: '',
beginTime: '',
endTime: '',
srcName:''
}
}
getEnterprise(); getEnterprise();
function getEnterprise() { function getEnterprise() {
const result = store.getters.getEnterprise(); const result = store.getters.getEnterprise();
...@@ -380,6 +400,11 @@ function getSupplys(){ ...@@ -380,6 +400,11 @@ function getSupplys(){
placeholder="请选择" style="width: 180px;" :props="props" collapse-tags/> placeholder="请选择" style="width: 180px;" :props="props" collapse-tags/>
</el-form-item> </el-form-item>
</div> </div>
<div style="width: 15%">
<el-form-item label="自动更新:">
<el-switch v-model="refresh" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
</el-form-item>
</div>
<div style="width: 25%;display: flex;flex-direction: column"> <div style="width: 25%;display: flex;flex-direction: column">
<el-form-item label="告警状态:" prop="alarmStatus" v-show="selectedBtn === 1 || selectedBtn === 2"> <el-form-item label="告警状态:" prop="alarmStatus" v-show="selectedBtn === 1 || selectedBtn === 2">
<el-select placeholder="请选择" clearable style="width: 200px" v-model="queryParams.alarmStatus"> <el-select placeholder="请选择" clearable style="width: 200px" v-model="queryParams.alarmStatus">
...@@ -420,7 +445,7 @@ function getSupplys(){ ...@@ -420,7 +445,7 @@ function getSupplys(){
<div style="display: flex;align-items: center"> <div style="display: flex;align-items: center">
<el-form-item> <el-form-item>
<el-button type="primary" @click="search" class="add-search-btn">查询</el-button> <el-button type="primary" @click="search" class="add-search-btn">查询</el-button>
<el-button type="primary" @click="resetSearch()" class="add-search-btn">重置</el-button> <el-button type="primary" @click="resetSearch(1)" class="add-search-btn">重置</el-button>
<el-button type="primary" @click="handleExport()" class="add-search-btn">导出</el-button> <el-button type="primary" @click="handleExport()" class="add-search-btn">导出</el-button>
</el-form-item> </el-form-item>
</div> </div>
......
...@@ -4,6 +4,9 @@ import {getMoveListAlarmNewData} from "../../../api/AIStation/MoveMonitor.js"; ...@@ -4,6 +4,9 @@ import {getMoveListAlarmNewData} from "../../../api/AIStation/MoveMonitor.js";
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import {ElMessage} from "element-plus"; import {ElMessage} from "element-plus";
import { useRoute, useRouter, onBeforeRouteUpdate } from "vue-router"; import { useRoute, useRouter, onBeforeRouteUpdate } from "vue-router";
import {getImageUrl} from '../../../api/AIStation/common.js'
import analysisImage from '/imgs/default.png'
const router = useRouter(); const router = useRouter();
let AlarmData = ref([]) let AlarmData = ref([])
const params = ref({}) const params = ref({})
...@@ -156,6 +159,15 @@ function Nindex(index) { ...@@ -156,6 +159,15 @@ function Nindex(index) {
const pagesize = Page.rows // 每页条数 const pagesize = Page.rows // 每页条数
return index + 1 + (page - 1) * pagesize return index + 1 + (page - 1) * pagesize
} }
//处理图片url
const getImageSrc = (row) => {
if (row.imageUrl !== null){
const url = getImageUrl(row.imageUrl)
return url;
}
return analysisImage;
};
</script> </script>
<template> <template>
...@@ -198,6 +210,20 @@ function Nindex(index) { ...@@ -198,6 +210,20 @@ function Nindex(index) {
<span v-else>-</span> <span v-else>-</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="imageUrl" align="center" label="图片">
<template #default="scope">
<el-image
style="width:100%;height:100%;"
:src="getImageSrc(scope.row)"
:preview-src-list="[getImageSrc(scope.row)]"
preview-teleported
>
<div slot="error" class="image-slot">
<i class="el-icon-picture-outline"/>
</div>
</el-image>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="190" fixed="right"> <el-table-column label="操作" align="center" width="190" fixed="right">
<template #default="scope"> <template #default="scope">
<div class="table-operate-column"> <div class="table-operate-column">
......
...@@ -331,7 +331,9 @@ function Nindex(index) { ...@@ -331,7 +331,9 @@ function Nindex(index) {
</el-row> </el-row>
<el-form-item label="图片:" prop="picUrl"> <el-form-item label="图片:" prop="picUrl">
<el-image :src="getImageSrc(singleDetails)" <el-image :src="getImageSrc(singleDetails)"
style="max-width: 80%; height: auto;"/> style="max-width: 80%; height: auto;"
:preview-src-list="[getImageSrc(singleDetails)]"
preview-teleported/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-dialog> </el-dialog>
......
...@@ -71,20 +71,12 @@ function getDataByParams(){ ...@@ -71,20 +71,12 @@ function getDataByParams(){
page: Page.page, page: Page.page,
size: Page.rows, size: Page.rows,
stationList: props.queryParams.stationList, stationList: props.queryParams.stationList,
beginTime: props.queryParams.beginTime,
endTime: props.queryParams.endTime,
alarmStatus: props.queryParams.alarmStatus, alarmStatus: props.queryParams.alarmStatus,
alarmType: props.queryParams.alarmType, alarmType: props.queryParams.alarmType,
srcName: props.queryParams.srcName, srcName: props.queryParams.srcName,
meterName: props.queryParams.meterName, meterName: props.queryParams.meterName,
sortList: sortList, sortList: sortList,
} }
if (item.beginTime == null){
item.beginTime = ''
}
if (item.endTime == null){
item.endTime = ''
}
if (item.alarmStatus === undefined){ if (item.alarmStatus === undefined){
item.alarmStatus = '' item.alarmStatus = ''
} }
...@@ -133,20 +125,12 @@ const handleSortChange = (data) => { ...@@ -133,20 +125,12 @@ const handleSortChange = (data) => {
page: Page.page, page: Page.page,
size: Page.rows, size: Page.rows,
stationList: props.queryParams.stationId, stationList: props.queryParams.stationId,
beginTime: props.queryParams.beginTime,
endTime: props.queryParams.endTime,
alarmStatus: props.queryParams.alarmStatus, alarmStatus: props.queryParams.alarmStatus,
alarmType: props.queryParams.alarmType, alarmType: props.queryParams.alarmType,
srcName: props.queryParams.srcName, srcName: props.queryParams.srcName,
meterName: props.queryParams.meterName, meterName: props.queryParams.meterName,
sortList: sortList, sortList: sortList,
} }
if (item.beginTime == null){
item.beginTime = ''
}
if (item.endTime == null){
item.endTime = ''
}
console.log('item--------------',item) console.log('item--------------',item)
//查询数据 //查询数据
getMoveListNewData(item).then(res => { getMoveListNewData(item).then(res => {
...@@ -346,7 +330,9 @@ function handleCamera(row) { ...@@ -346,7 +330,9 @@ function handleCamera(row) {
</el-row> </el-row>
<el-form-item label="图片:" prop="picUrl"> <el-form-item label="图片:" prop="picUrl">
<el-image :src="getImageSrc(singleDetails)" <el-image :src="getImageSrc(singleDetails)"
style="max-width: 80%; height: auto;"/> style="max-width: 80%; height: auto;"
:preview-src-list="[getImageSrc(singleDetails)]"
preview-teleported/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-dialog> </el-dialog>
......
...@@ -114,18 +114,16 @@ const handleTabClick = (tab, event) => { ...@@ -114,18 +114,16 @@ const handleTabClick = (tab, event) => {
if (selectedItem) { if (selectedItem) {
selectedComponent.value = selectedItem.component; selectedComponent.value = selectedItem.component;
selectedBtn.value = selectedItem.id; selectedBtn.value = selectedItem.id;
resetSearch(); resetSearch(0);
if (selectedBtn.value !== 1){ //给搜索框的时间赋值 当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00
//给搜索框的时间赋值 当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00 let now = new Date();
let now = new Date(); now.setMinutes(0, 0, 0); // 将分钟、秒数和毫秒数都设为0
now.setMinutes(0, 0, 0); // 将分钟、秒数和毫秒数都设为0 let start = new Date(now.getTime() - 24 * 60 * 60 * 1000); // 减去24小时的毫秒数
let start = new Date(now.getTime() - 24 * 60 * 60 * 1000); // 减去24小时的毫秒数 let endTime = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:00:00`;
let endTime = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:00:00`; start.setMinutes(0, 0, 0); // 确保分钟、秒数和毫秒数都为0
start.setMinutes(0, 0, 0); // 确保分钟、秒数和毫秒数都为0 let startTime = `${start.getFullYear()}-${String(start.getMonth() + 1).padStart(2, '0')}-${String(start.getDate()).padStart(2, '0')} ${String(start.getHours()).padStart(2, '0')}:00:00`;
let startTime = `${start.getFullYear()}-${String(start.getMonth() + 1).padStart(2, '0')}-${String(start.getDate()).padStart(2, '0')} ${String(start.getHours()).padStart(2, '0')}:00:00`; queryParams.beginTime = startTime
queryParams.beginTime = startTime queryParams.endTime = endTime
queryParams.endTime = endTime
}
search() search()
} }
}; };
...@@ -168,9 +166,18 @@ const search = () => { ...@@ -168,9 +166,18 @@ const search = () => {
} else if (selectedBtn.value === 3) { } else if (selectedBtn.value === 3) {
childParams.value = item childParams.value = item
} }
//根据搜索框 重新查询报警数量
const params = {
beginTime: queryParams.beginTime,
endTime: queryParams.endTime
}
getMoveAlarmNumber(params).then(res => {
alarmNum.value = res.data ? res.data : 0
})
console.log('查询:', item); console.log('查询:', item);
}; };
//查询报警数量
function getNumber() { function getNumber() {
//当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00 //当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00
let now = new Date(); let now = new Date();
...@@ -270,7 +277,7 @@ const handleExport = () => { ...@@ -270,7 +277,7 @@ const handleExport = () => {
}; };
// 重置 // 重置
const resetSearch = () => { const resetSearch = (type) => {
queryParams.alarmStatus = '' queryParams.alarmStatus = ''
queryParams.beginTime = '' queryParams.beginTime = ''
queryParams.endTime = '' queryParams.endTime = ''
...@@ -290,7 +297,19 @@ const resetSearch = () => { ...@@ -290,7 +297,19 @@ const resetSearch = () => {
srcName:'', srcName:'',
meterName:'' meterName:''
} }
// getData() //如果点击的是报警页面的重置 需要重新查询报警数量
if (selectedBtn.value === 3) {
if (type === 1){//1代表重置按钮触发 0代表非重置按钮触发 重置按钮触发时则需要重新查询报警数量
//根据搜索框 重新查询报警数量
const params = {
beginTime: '',
endTime: ''
}
getMoveAlarmNumber(params).then(res => {
alarmNum.value = res.data ? res.data : 0
})
}
}
} }
...@@ -341,7 +360,7 @@ getSupplys(); ...@@ -341,7 +360,7 @@ getSupplys();
const performActions = async () => { const performActions = async () => {
try { try {
await handleGetAIToken(); // 等待 handleGetAIToken 完成 await handleGetAIToken(); // 等待 handleGetAIToken 完成
resetSearch() resetSearch(0)
getNumber() getNumber()
} catch (error) { } catch (error) {
console.error('处理 Token 时出错:', error); console.error('处理 Token 时出错:', error);
...@@ -587,7 +606,7 @@ function batchSetHandleChange(e){ ...@@ -587,7 +606,7 @@ function batchSetHandleChange(e){
<div style="display: flex; flex-direction: column;margin-bottom: 1%;margin-right: 10px;" v-if="selectedBtn !== 1"> <div style="display: flex; flex-direction: column;margin-bottom: 1%;margin-right: 10px;" v-if="selectedBtn !== 1">
<div style="display: flex; justify-content: space-between;"> <div style="display: flex; justify-content: space-between;">
<el-button style="margin-left: 12px;" type="primary" @click="search" class="add-search-btn">查询</el-button> <el-button style="margin-left: 12px;" type="primary" @click="search" class="add-search-btn">查询</el-button>
<el-button style="margin-left: 12px;" type="primary" @click="resetSearch" class="add-search-btn">重置</el-button> <el-button style="margin-left: 12px;" type="primary" @click="resetSearch(1)" class="add-search-btn">重置</el-button>
<el-button style="margin-left: 12px;" type="primary" @click="handleExport" class="add-search-btn">导出</el-button> <el-button style="margin-left: 12px;" type="primary" @click="handleExport" class="add-search-btn">导出</el-button>
</div> </div>
</div> </div>
...@@ -598,7 +617,7 @@ function batchSetHandleChange(e){ ...@@ -598,7 +617,7 @@ function batchSetHandleChange(e){
<el-button style="margin-left: 40px;width: 80px" type="primary" @click="downloadPlugin()" class="add-search-btn" v-if="selectedBtn === 1">下载证书</el-button> <el-button style="margin-left: 40px;width: 80px" type="primary" @click="downloadPlugin()" class="add-search-btn" v-if="selectedBtn === 1">下载证书</el-button>
</div> </div>
<div style="display: flex;align-items: center;margin-top: 10px;"> <div style="display: flex;align-items: center;margin-top: 10px;">
<el-button style="margin-left: 12px;width: 80px" type="primary" @click="resetSearch" class="add-search-btn">重置</el-button> <el-button style="margin-left: 12px;width: 80px" type="primary" @click="resetSearch(1)" class="add-search-btn">重置</el-button>
<el-button style="margin-left: 12px;width: 80px" type="primary" @click="setError" class="add-search-btn" v-if="selectedBtn === 1">设置误差</el-button> <el-button style="margin-left: 12px;width: 80px" type="primary" @click="setError" class="add-search-btn" v-if="selectedBtn === 1">设置误差</el-button>
<span v-if="selectedBtn === 1" style="font-size: 12px;">(图片不能加载请安装证书)</span> <span v-if="selectedBtn === 1" style="font-size: 12px;">(图片不能加载请安装证书)</span>
</div> </div>
......
...@@ -114,18 +114,16 @@ const handleTabClick = (tab, event) => { ...@@ -114,18 +114,16 @@ const handleTabClick = (tab, event) => {
if (selectedItem) { if (selectedItem) {
selectedComponent.value = selectedItem.component; selectedComponent.value = selectedItem.component;
selectedBtn.value = selectedItem.id; selectedBtn.value = selectedItem.id;
resetSearch(); resetSearch(0);
if (selectedBtn.value !== 1){ //给搜索框的时间赋值 当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00
//给搜索框的时间赋值 当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00 let now = new Date();
let now = new Date(); now.setMinutes(0, 0, 0); // 将分钟、秒数和毫秒数都设为0
now.setMinutes(0, 0, 0); // 将分钟、秒数和毫秒数都设为0 let start = new Date(now.getTime() - 24 * 60 * 60 * 1000); // 减去24小时的毫秒数
let start = new Date(now.getTime() - 24 * 60 * 60 * 1000); // 减去24小时的毫秒数 let endTime = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:00:00`;
let endTime = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:00:00`; start.setMinutes(0, 0, 0); // 确保分钟、秒数和毫秒数都为0
start.setMinutes(0, 0, 0); // 确保分钟、秒数和毫秒数都为0 let startTime = `${start.getFullYear()}-${String(start.getMonth() + 1).padStart(2, '0')}-${String(start.getDate()).padStart(2, '0')} ${String(start.getHours()).padStart(2, '0')}:00:00`;
let startTime = `${start.getFullYear()}-${String(start.getMonth() + 1).padStart(2, '0')}-${String(start.getDate()).padStart(2, '0')} ${String(start.getHours()).padStart(2, '0')}:00:00`; queryParams.beginTime = startTime
queryParams.beginTime = startTime queryParams.endTime = endTime
queryParams.endTime = endTime
}
search() search()
} }
}; };
...@@ -167,9 +165,18 @@ const search = () => { ...@@ -167,9 +165,18 @@ const search = () => {
} else if (selectedBtn.value === 3) { } else if (selectedBtn.value === 3) {
childParams.value = item childParams.value = item
} }
//根据搜索框 重新查询报警数量
const params = {
beginTime: queryParams.beginTime,
endTime: queryParams.endTime
}
getPipAlarmNumber(params).then(res => {
alarmNum.value = res.data ? res.data : 0
})
console.log('查询:', item); console.log('查询:', item);
}; };
//刚进页面 查询报警数量
function getNumber() { function getNumber() {
//当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00 //当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00
let now = new Date(); let now = new Date();
...@@ -265,7 +272,7 @@ const handleExport = () => { ...@@ -265,7 +272,7 @@ const handleExport = () => {
}; };
// 重置 // 重置
const resetSearch = () => { const resetSearch = (type) => {
queryParams.alarmStatus = '' queryParams.alarmStatus = ''
queryParams.beginTime = '' queryParams.beginTime = ''
queryParams.endTime = '' queryParams.endTime = ''
...@@ -285,6 +292,19 @@ const resetSearch = () => { ...@@ -285,6 +292,19 @@ const resetSearch = () => {
deviceName:'', deviceName:'',
srcName:'' srcName:''
} }
//如果点击的是报警页面的重置 需要重新查询报警数量
if (selectedBtn.value === 3) {
if (type === 1){//1代表重置按钮触发 0代表非重置按钮触发 重置按钮触发时则需要重新查询报警数量
//根据搜索框 重新查询报警数量
const params = {
beginTime: '',
endTime: ''
}
getPipAlarmNumber(params).then(res => {
alarmNum.value = res.data ? res.data : 0
})
}
}
} }
const options = ref([]); const options = ref([]);
const enterpriseId = ref(); const enterpriseId = ref();
...@@ -337,7 +357,7 @@ getSupplys(); ...@@ -337,7 +357,7 @@ getSupplys();
const performActions = async () => { const performActions = async () => {
try { try {
await handleGetAIToken(); // 等待 handleGetAIToken 完成 await handleGetAIToken(); // 等待 handleGetAIToken 完成
resetSearch() resetSearch(0)
getNumber() getNumber()
} catch (error) { } catch (error) {
console.error('处理 Token 时出错:', error); console.error('处理 Token 时出错:', error);
...@@ -465,7 +485,7 @@ function datePickerEndConfirm(e){ ...@@ -465,7 +485,7 @@ function datePickerEndConfirm(e){
<div style="display: flex;padding-bottom: 1%;padding-right: 20px;"> <div style="display: flex;padding-bottom: 1%;padding-right: 20px;">
<el-form-item> <el-form-item>
<el-button style="margin-left: 12px;" type="primary" @click="search" class="add-search-btn">查询</el-button> <el-button style="margin-left: 12px;" type="primary" @click="search" class="add-search-btn">查询</el-button>
<el-button style="margin-left: 12px;" type="primary" @click="resetSearch" class="add-search-btn">重置</el-button> <el-button style="margin-left: 12px;" type="primary" @click="resetSearch(1)" class="add-search-btn">重置</el-button>
<el-button style="margin-left: 12px;" type="primary" @click="handleExport" class="add-search-btn">导出</el-button> <el-button style="margin-left: 12px;" type="primary" @click="handleExport" class="add-search-btn">导出</el-button>
</el-form-item> </el-form-item>
</div> </div>
......
...@@ -86,18 +86,16 @@ const handleTabClick = (tab, event) => { ...@@ -86,18 +86,16 @@ const handleTabClick = (tab, event) => {
selectedComponent.value = selectedItem.component; selectedComponent.value = selectedItem.component;
selectedBtn.value = selectedItem.id; selectedBtn.value = selectedItem.id;
childParams.value = {} childParams.value = {}
resetSearch() resetSearch(0)
if (selectedBtn.value !== 1){ //给搜索框的时间赋值 当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00
//给搜索框的时间赋值 当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00 let now = new Date();
let now = new Date(); now.setMinutes(0, 0, 0); // 将分钟、秒数和毫秒数都设为0
now.setMinutes(0, 0, 0); // 将分钟、秒数和毫秒数都设为0 let start = new Date(now.getTime() - 24 * 60 * 60 * 1000); // 减去24小时的毫秒数
let start = new Date(now.getTime() - 24 * 60 * 60 * 1000); // 减去24小时的毫秒数 let endTime = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:00:00`;
let endTime = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:00:00`; start.setMinutes(0, 0, 0); // 确保分钟、秒数和毫秒数都为0
start.setMinutes(0, 0, 0); // 确保分钟、秒数和毫秒数都为0 let startTime = `${start.getFullYear()}-${String(start.getMonth() + 1).padStart(2, '0')}-${String(start.getDate()).padStart(2, '0')} ${String(start.getHours()).padStart(2, '0')}:00:00`;
let startTime = `${start.getFullYear()}-${String(start.getMonth() + 1).padStart(2, '0')}-${String(start.getDate()).padStart(2, '0')} ${String(start.getHours()).padStart(2, '0')}:00:00`; queryParams.beginTime = startTime
queryParams.beginTime = startTime queryParams.endTime = endTime
queryParams.endTime = endTime
}
search() search()
} }
}; };
...@@ -105,7 +103,7 @@ const handleTabClick = (tab, event) => { ...@@ -105,7 +103,7 @@ const handleTabClick = (tab, event) => {
const performActions = async () => { const performActions = async () => {
try { try {
await handleGetAIToken(); // 等待 handleGetAIToken 完成 await handleGetAIToken(); // 等待 handleGetAIToken 完成
resetSearch() resetSearch(0)
getNumber() getNumber()
} catch (error) { } catch (error) {
console.error('处理 Token 时出错:', error); console.error('处理 Token 时出错:', error);
...@@ -199,6 +197,14 @@ const search = () => { ...@@ -199,6 +197,14 @@ const search = () => {
} else if (selectedBtn.value === 3) { } else if (selectedBtn.value === 3) {
childParams.value = item childParams.value = item
} }
//根据搜索框 重新查询报警数量
const params = {
beginTime: queryParams.beginTime,
endTime: queryParams.endTime
}
getRecycleAlarmNumber(params).then(res => {
alarmNum.value = res.data ? res.data : 0
})
console.log('查询:', item); console.log('查询:', item);
}; };
...@@ -294,7 +300,7 @@ const handleExport = () => { ...@@ -294,7 +300,7 @@ const handleExport = () => {
}; };
// 重置 // 重置
const resetSearch = () => { const resetSearch = (type) => {
queryParams.alarmStatus = '' queryParams.alarmStatus = ''
queryParams.beginTime = '' queryParams.beginTime = ''
queryParams.endTime = '' queryParams.endTime = ''
...@@ -310,6 +316,19 @@ const resetSearch = () => { ...@@ -310,6 +316,19 @@ const resetSearch = () => {
endTime: '', endTime: '',
deviceName:'' deviceName:''
} }
//如果点击的是报警页面的重置 需要重新查询报警数量
if (selectedBtn.value === 3) {
if (type === 1){//1代表重置按钮触发 0代表非重置按钮触发 重置按钮触发时则需要重新查询报警数量
//根据搜索框 重新查询报警数量
const params = {
beginTime: '',
endTime: ''
}
getRecycleAlarmNumber(params).then(res => {
alarmNum.value = res.data ? res.data : 0
})
}
}
}; };
// 子组件playAudio()方法 // 子组件playAudio()方法
...@@ -420,7 +439,7 @@ function getSupplys(){ ...@@ -420,7 +439,7 @@ function getSupplys(){
<div style="display: flex;align-items: center"> <div style="display: flex;align-items: center">
<el-form-item> <el-form-item>
<el-button type="primary" @click="search" class="add-search-btn">查询</el-button> <el-button type="primary" @click="search" class="add-search-btn">查询</el-button>
<el-button type="primary" @click="resetSearch" class="add-search-btn">重置</el-button> <el-button type="primary" @click="resetSearch(1)" class="add-search-btn">重置</el-button>
<el-button type="primary" @click="handleExport" class="add-search-btn">导出</el-button> <el-button type="primary" @click="handleExport" class="add-search-btn">导出</el-button>
</el-form-item> </el-form-item>
</div> </div>
......
...@@ -284,7 +284,9 @@ function Nindex(index) { ...@@ -284,7 +284,9 @@ function Nindex(index) {
</el-row> </el-row>
<el-form-item label="图片:" prop="imageUrl"> <el-form-item label="图片:" prop="imageUrl">
<el-image :src="getImageSrc(singleDetails)" <el-image :src="getImageSrc(singleDetails)"
style="max-width: 80%; height: auto;"/> style="max-width: 80%; height: auto;"
:preview-src-list="[getImageSrc(singleDetails)]"
preview-teleported/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-dialog> </el-dialog>
......
...@@ -274,7 +274,9 @@ function Nindex(index) { ...@@ -274,7 +274,9 @@ function Nindex(index) {
</el-row> </el-row>
<el-form-item label="图片:" prop="imageUrl"> <el-form-item label="图片:" prop="imageUrl">
<el-image :src="getImageSrc(singleDetails)" <el-image :src="getImageSrc(singleDetails)"
style="max-width: 80%; height: auto;"/> style="max-width: 80%; height: auto;"
:preview-src-list="[getImageSrc(singleDetails)]"
preview-teleported/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-dialog> </el-dialog>
......
...@@ -101,18 +101,16 @@ const handleTabClick = (tab, event) => { ...@@ -101,18 +101,16 @@ const handleTabClick = (tab, event) => {
if (selectedItem) { if (selectedItem) {
selectedComponent.value = selectedItem.component; selectedComponent.value = selectedItem.component;
selectedBtn.value = selectedItem.id; selectedBtn.value = selectedItem.id;
resetSearch(); resetSearch(0);
if (selectedBtn.value !== 1){ //给搜索框的时间赋值 当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00
//给搜索框的时间赋值 当前时间为2025-02-15 9:50:56 则开始时间为2025-02-14 09:00:00 结束时间为2025-02-15 09:00:00 let now = new Date();
let now = new Date(); now.setMinutes(0, 0, 0); // 将分钟、秒数和毫秒数都设为0
now.setMinutes(0, 0, 0); // 将分钟、秒数和毫秒数都设为0 let start = new Date(now.getTime() - 24 * 60 * 60 * 1000); // 减去24小时的毫秒数
let start = new Date(now.getTime() - 24 * 60 * 60 * 1000); // 减去24小时的毫秒数 let endTime = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:00:00`;
let endTime = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:00:00`; start.setMinutes(0, 0, 0); // 确保分钟、秒数和毫秒数都为0
start.setMinutes(0, 0, 0); // 确保分钟、秒数和毫秒数都为0 let startTime = `${start.getFullYear()}-${String(start.getMonth() + 1).padStart(2, '0')}-${String(start.getDate()).padStart(2, '0')} ${String(start.getHours()).padStart(2, '0')}:00:00`;
let startTime = `${start.getFullYear()}-${String(start.getMonth() + 1).padStart(2, '0')}-${String(start.getDate()).padStart(2, '0')} ${String(start.getHours()).padStart(2, '0')}:00:00`; queryParams.beginTime = startTime
queryParams.beginTime = startTime queryParams.endTime = endTime
queryParams.endTime = endTime
}
search() search()
} }
}; };
...@@ -120,7 +118,7 @@ const handleTabClick = (tab, event) => { ...@@ -120,7 +118,7 @@ const handleTabClick = (tab, event) => {
const performActions = async () => { const performActions = async () => {
try { try {
await handleGetAIToken(); // 等待 handleGetAIToken 完成 await handleGetAIToken(); // 等待 handleGetAIToken 完成
resetSearch() resetSearch(0)
getNumber() getNumber()
} catch (error) { } catch (error) {
console.error('处理 Token 时出错:', error); console.error('处理 Token 时出错:', error);
...@@ -222,6 +220,14 @@ const search = () => { ...@@ -222,6 +220,14 @@ const search = () => {
} else if (selectedBtn.value === 3) { } else if (selectedBtn.value === 3) {
childParams.value = item childParams.value = item
} }
//根据搜索框 重新查询报警数量
const params = {
beginTime: queryParams.beginTime,
endTime: queryParams.endTime
}
getTransAlarmNumber(params).then(res => {
alarmNum.value = res.data ? res.data : 0
})
}; };
//获取报警数量 //获取报警数量
...@@ -326,7 +332,7 @@ const handleExport = () => { ...@@ -326,7 +332,7 @@ const handleExport = () => {
}; };
// 重置 // 重置
const resetSearch = () => { const resetSearch = (type) => {
queryParams.handleStatus = '' queryParams.handleStatus = ''
queryParams.alarmStatus = '' queryParams.alarmStatus = ''
queryParams.beginTime = '' queryParams.beginTime = ''
...@@ -346,6 +352,19 @@ const resetSearch = () => { ...@@ -346,6 +352,19 @@ const resetSearch = () => {
endTime: '', endTime: '',
deviceName:'', deviceName:'',
} }
//如果点击的是报警页面的重置 需要重新查询报警数量
if (selectedBtn.value === 3) {
if (type === 1){//1代表重置按钮触发 0代表非重置按钮触发 重置按钮触发时则需要重新查询报警数量
//根据搜索框 重新查询报警数量
const params = {
beginTime: '',
endTime: ''
}
getTransAlarmNumber(params).then(res => {
alarmNum.value = res.data ? res.data : 0
})
}
}
}; };
getEnterprise(); getEnterprise();
...@@ -463,7 +482,7 @@ function getSupplys() { ...@@ -463,7 +482,7 @@ function getSupplys() {
<div style="display: flex; align-items: center"> <div style="display: flex; align-items: center">
<el-form-item> <el-form-item>
<el-button style="margin-left: 12px;" type="primary" @click="search" class="add-search-btn">查询</el-button> <el-button style="margin-left: 12px;" type="primary" @click="search" class="add-search-btn">查询</el-button>
<el-button style="margin-left: 12px;" type="primary" @click="resetSearch" class="add-search-btn">重置</el-button> <el-button style="margin-left: 12px;" type="primary" @click="resetSearch(1)" class="add-search-btn">重置</el-button>
<el-button style="margin-left: 12px;" type="primary" @click="handleExport" class="add-search-btn">导出</el-button> <el-button style="margin-left: 12px;" type="primary" @click="handleExport" class="add-search-btn">导出</el-button>
</el-form-item> </el-form-item>
</div> </div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment