监控列表展示

hn2.0
fanluyan 2 years ago
parent f9c19765b1
commit e409df201c

@ -7,6 +7,15 @@ export function loginJoggle(data) {
data,
});
}
//获取所有杆塔下的图片列表,实时监控
export function getTowerAndPhotoList(data) {
return request({
url: "/api/getTowerAndPhotoList",
method: "post",
data,
});
}
//声光报警
export function alarmMarkJoggle(data) {
return request({

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1,191 +0,0 @@
<template>
<div class="picture" v-if="photoData">
<div class="picTop">
<h3>{{ photoData.text }}</h3>
<div class="total">
<span>监拍设备:14 监拍点:14 视频:0 测温:0 微气象:0 </span>
</div>
</div>
<div class="picmain">
<div class="photosPic">
<div class="topTitle">
<h4>{{ photoData.children[0].text }};大号侧</h4>
<div class="iconList">
<i class="el-icon-video-camera" title="主副机"></i>
<i class="el-icon-video-camera" title="夜视"></i>
<i class="el-icon-video-camera" title="云台"></i>
<i class="el-icon-video-camera" title="T基+通道"></i>
<i class="el-icon-video-camera" title="声光告警"></i>
<i class="el-icon-video-camera" title="测温"></i>
<i class="el-icon-video-camera" title="微气象"></i>
</div>
</div>
<ul class="picShow">
<li
v-for="(item, index) in lagrePic.slice(0, 4)"
:key="index"
@click="picShow(index)"
>
<img :src="'http://180.166.218.222:8104/media/' + item.filePath" />
<span class="timeShow">{{ item.captureTime }}</span>
</li>
</ul>
</div>
<div class="photosPic">
<div class="topTitle">
<h4>{{ photoData.children[0].text }};小号测</h4>
<div class="iconList">
<i class="el-icon-video-camera" title="主副机"></i>
<i class="el-icon-video-camera" title="夜视"></i>
<i class="el-icon-video-camera" title="云台"></i>
<i class="el-icon-video-camera" title="T基+通道"></i>
<i class="el-icon-video-camera" title="声光告警"></i>
<i class="el-icon-video-camera" title="测温"></i>
<i class="el-icon-video-camera" title="微气象"></i>
</div>
</div>
<ul class="picShow">
<li
v-for="(item, index) in smallPic.slice(0, 4)"
:key="index"
@click="picShow(index)"
>
<img :src="'http://180.166.218.222:8104/media/' + item.filePath" />
<span class="timeShow">{{ item.captureTime }}</span>
</li>
</ul>
</div>
</div>
<div class="page">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage4"
:page-size="100"
layout="prev, pager, next, jumper,total"
:total="400"
>
</el-pagination>
</div>
</div>
</template>
<script>
export default {
props: ["photoData"],
data() {
return {
dataPhoto: "",
lagrePic: [],
smallPic: [],
currentPage4: 4,
};
},
mounted: function () {
this.getPhoto();
},
methods: {
handleSizeChange(val) {
console.log(`每页 ${val}`);
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
},
getPhoto() {
console.log(photo);
//this.dataPhoto = photo;
photo.forEach((item) => {
console.log(item);
if (item.orientation === "1") {
this.lagrePic.push(item);
} else {
this.smallPic.push(item);
}
});
},
picShow(index) {
console.log(index);
},
},
};
</script>
<style lang="less">
.picture {
flex: 1;
padding: 16px;
width: 100%;
.picTop {
display: flex;
justify-content: space-between;
align-items: baseline;
h3 {
font-size: 24px;
line-height: 30px;
color: @color-text-regular;
}
.total span {
color: @color-text-secondary;
font-size: 14px;
line-height: 30px;
}
}
.picmain {
border: 1px solid @border-color-base;
.photosPic {
padding-bottom: 12px;
border-bottom: 1px solid @border-color-base;
&:last-child {
border-bottom: 0px solid @border-color-base;
}
.topTitle {
display: flex;
justify-content: space-between;
align-items: center;
h4 {
padding: 0 10px;
display: inline-block;
line-height: 45px;
color: @color-text-regular;
font-size: 14px;
font-weight: bold;
}
.iconList {
i {
color: @color-text-secondary;
margin-right: 12px;
font-size: 28px;
}
}
}
.picShow {
display: flex;
padding-left: 6px;
justify-content: space-between;
li {
display: inline-block;
position: relative;
width: 24.5%;
img {
width: 100%;
height: 100%;
}
.timeShow {
position: absolute;
top: 0;
left: 0;
background: @color-primary;
display: inline-block;
color: @color-white;
font-size: 14px;
padding: 4px;
}
}
}
}
}
.page {
margin-top: 16px;
}
}
</style>

@ -0,0 +1,123 @@
<template>
<div class="previewContain">
<!-- {{ previewData }} -->
<!-- {{ previewData.name }}______{{ previewData.id }} -->
<div class="pictureBox">
<el-row
v-for="i in rowNum"
:key="'row-' + i"
:style="{ height: 100 / rowNum + '%' }"
>
<el-col
:span="24 / colNum"
v-for="(item, index) in picList"
:key="'col-' + index"
v-if="index < colNum * i && index >= colNum * (i - 1)"
>
<div class="imgcloum">
<!-- <img
src="http://180.166.218.222:40080/photos/2023/07/17/03/XYIGQ10C221000003_1_FF_20230717134007.jpg!1366x768"
/> -->
<img :src="item.path + '!1366x768'" />
</div>
</el-col>
</el-row>
</div>
<div class="pageNation">
<!-- <el-pagination
@current-change="handleCurrentChange"
:current-page="page"
layout=" prev, pager, next, jumper,total"
:total="total"
>
</el-pagination> -->
<el-pagination
@current-change="handleCurrentChange"
:current-page="page"
:page-size="pageSize"
layout=" prev, pager, next, jumper,total"
:total="total"
>
</el-pagination>
</div>
</div>
</template>
<script>
import { getTowerAndPhotoList } from "@/utils/api/index";
export default {
props: ["previewData"],
data() {
return {
rowNum: 4,
colNum: 4,
page: 1, //
pageSize: 16, //
totalPage: 0, //
total: 0, //
picList: [], //
id: "",
type: "",
};
},
mounted: function () {},
methods: {
//
getPicList(id, type) {
this.id = id;
this.type = type;
console.log(id, type);
getTowerAndPhotoList({
id: id,
type: type,
pageindex: this.page,
pagesize: this.rowNum * this.colNum,
})
.then((res) => {
console.log(res);
this.picList = res.data.list;
this.totalPage = res.data.totalpage;
this.total = res.data.total;
})
.catch((err) => {
console.log(err); //
});
},
//
handleCurrentChange(val) {
this.page = val;
this.picList = [];
this.getPicList(this.id, this.type);
},
},
};
</script>
<style lang="less">
.previewContain {
width: 100%;
padding: 16px;
height: auto;
//background: #fcc;
.pictureBox {
height: calc(100% - 38px);
//background-color: aquamarine;
.el-col {
height: 100%;
padding-right: 0.1%;
padding-left: 0.1%;
padding-top: 0.1%;
padding-bottom: 0.1%;
}
.imgcloum {
width: 100%;
height: 100%;
// background: #f00;
img {
width: 100%;
height: 100%;
}
}
}
}
</style>
Loading…
Cancel
Save