4.26
parent
fc0a1cf860
commit
eb472bb09d
|
@ -2,34 +2,35 @@
|
||||||
<div class="task">
|
<div class="task">
|
||||||
<el-dialog :visible.sync="taskVisible" :close-on-click-modal="false" width="60%">
|
<el-dialog :visible.sync="taskVisible" :close-on-click-modal="false" width="60%">
|
||||||
<span slot="title">
|
<span slot="title">
|
||||||
<i style=" font-weight: bold;color: #333333;font-size: 16px">{{val.taskName}}</i>
|
<i style=" font-weight: bold;color: #333333;font-size: 16px">{{"监控任务十楼工位"}}</i>
|
||||||
</span>
|
</span>
|
||||||
<div>
|
<div>
|
||||||
<!-- 右 -->
|
<!-- 右 -->
|
||||||
<div style="width: 260px;float: right;">
|
<div style="width: 260px;float: right;">
|
||||||
<div style="display: flex;">
|
<div style="display: flex;">
|
||||||
<div style="width:120px;height:120px">
|
<div style="width:120px;height:120px">
|
||||||
|
<img :src="val.cphoto" alt="目标图片" height="100%">
|
||||||
<canvas width=120 height=120 ref="imageView">
|
<canvas width=120 height=120 ref="imageView">
|
||||||
</canvas>
|
</canvas>
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 120px;height: 120px;background: #F1F6F9;margin-left: 20px;text-align: center;">
|
<div style="width: 120px;height: 120px;background: #F1F6F9;margin-left: 10px;text-align: center;">
|
||||||
<img :src="val.faceUrl" alt="目标图片" height="100%">
|
<img :src="val.rphoto" alt="目标图片" height="100%">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="height:330px;line-height: 40px;margin-top: 20px;">
|
<div style="height:330px;line-height: 40px;margin-top: 20px;">
|
||||||
<div><i>时间:{{val.time}}</i></div>
|
<div><i>时间:{{val.time}}</i></div>
|
||||||
<div><i>姓名:{{val.name}}</i></div>
|
<div><i>姓名:{{val.name}}</i></div>
|
||||||
<div><i>性别:{{val.sex}}</i></div>
|
<div><i>性别:{{"未知"}}</i></div>
|
||||||
<div><i>年龄:{{val.age}}</i></div>
|
<div><i>年龄:{{"未知"}}</i></div>
|
||||||
<div><i>身份证号码:{{val.idCard}}</i></div>
|
<div><i>身份证号码:{{"未知"}}</i></div>
|
||||||
<div><i>卡口:{{val.cameraRegion}}</i></div>
|
<div><i>卡口:{{"4.21演示摄像头"}}</i></div>
|
||||||
<div><i>来源:{{val.libName}}</i></div>
|
<div><i>来源:{{val.libName}}</i></div>
|
||||||
<div><i>相似度:<span class="compare_result" style="font-family:Bahnschrift">{{(val.score*100).toFixed(2)}}%</span></i></div>
|
<div><i>相似度:<span class="compare_result" style="font-family:Bahnschrift">{{(val.xsd*1).toFixed(2)}}%</span></i></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 左 -->
|
<!-- 左 -->
|
||||||
<div style="margin-right: 280px;">
|
<div style="margin-right: 280px;">
|
||||||
<el-image style="width: 100%;" :src="val.bgImg"></el-image>
|
<el-image style="width: 100%;" :src="val.jzphoto"></el-image>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
<div
|
<div
|
||||||
style="height:40px;display:flex;align-items: center; justify-content: space-between;border-bottom: 1px solid #F1F8FF;box-sizing: border-box;">
|
style="height:40px;display:flex;align-items: center; justify-content: space-between;border-bottom: 1px solid #F1F8FF;box-sizing: border-box;">
|
||||||
<!-- <i style="font-weight: bold;color: #333333;margin-left: 20px">{{item.cameraRegion}}</i>-->
|
<!-- <i style="font-weight: bold;color: #333333;margin-left: 20px">{{item.cameraRegion}}</i>-->
|
||||||
<i style="font-weight: bold;color: #333333;margin-left: 20px">{{videoFaceList[index].time}}</i>
|
<i style="font-weight: bold;color: #333333;margin-left: 20px">{{"十楼工位"}}</i>
|
||||||
<i style="font-weight: bold;color: #333333;margin-right: 20px;">{{item.time}}</i>
|
<i style="font-weight: bold;color: #333333;margin-right: 20px;">{{item.time}}</i>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex;align-items: center;height: 150px;margin-left: 34px;">
|
<div style="display: flex;align-items: center;height: 150px;margin-left: 34px;">
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
<div
|
<div
|
||||||
style="width: 120px;height: 120px;background: #F1F6F9;margin: 0 20px;text-align: center;position: relative;">
|
style="width: 120px;height: 120px;background: #F1F6F9;margin: 0 20px;text-align: center;position: relative;">
|
||||||
<!-- src="item.rphoto"-->
|
<!-- src="item.rphoto"-->
|
||||||
<img style="width: 120px;height: 120px;" src="../../../assets/img/warning/zb.png" />
|
<img style="width: 120px;height: 120px;" :src="item.rphoto" />
|
||||||
<div
|
<div
|
||||||
style="position: absolute;width: 100%;background-color: red;bottom: 0;opacity: 0.6;background: #000;color: #FFF;line-height: 1.8;">
|
style="position: absolute;width: 100%;background-color: red;bottom: 0;opacity: 0.6;background: #000;color: #FFF;line-height: 1.8;">
|
||||||
<i>测试库</i>
|
<i>测试库</i>
|
||||||
|
@ -41,7 +41,7 @@
|
||||||
<span><i>性别:未知</i></span>
|
<span><i>性别:未知</i></span>
|
||||||
<span><i>来源:测试库</i></span>
|
<span><i>来源:测试库</i></span>
|
||||||
<span><i>相似度:</i><i style="font-size: 30px;font-weight: 600;color: #FF343E; font-family:Bahnschrift;">
|
<span><i>相似度:</i><i style="font-size: 30px;font-weight: 600;color: #FF343E; font-family:Bahnschrift;">
|
||||||
{{"99%"+item.xsd}}</i></span>
|
{{item.xsd+"%"}}</i></span>
|
||||||
</div>
|
</div>
|
||||||
<div style="position: absolute;top:0;right: 0;">
|
<div style="position: absolute;top:0;right: 0;">
|
||||||
<img src="../../../assets/img/warning/jk.png" alt="监控">
|
<img src="../../../assets/img/warning/jk.png" alt="监控">
|
||||||
|
@ -122,7 +122,7 @@
|
||||||
<!-- 抓拍图片 -->
|
<!-- 抓拍图片 -->
|
||||||
<div class="pic-div">
|
<div class="pic-div">
|
||||||
<div style="display: flex;align-items: center;">
|
<div style="display: flex;align-items: center;">
|
||||||
<template v-for="(item,i) in warningList">
|
<template v-for="(item,i) in videoFaceList">
|
||||||
<img width=120 height=120 style="margin-left: 12px;" :src="item.cphoto">
|
<img width=120 height=120 style="margin-left: 12px;" :src="item.cphoto">
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
@ -203,18 +203,17 @@
|
||||||
label: 'label'
|
label: 'label'
|
||||||
},
|
},
|
||||||
// 图片信息
|
// 图片信息
|
||||||
faceBgUrltest: "http://192.168.1.133:9000/middleware/103/1028345463.jpg",
|
|
||||||
faceBgUrl: "",
|
faceBgUrl: "",
|
||||||
faces: [],
|
faces: [],
|
||||||
currentFaces: [],
|
currentFaces: [],
|
||||||
toDaySnapShot: 0,
|
toDaySnapShot: 0,
|
||||||
totalSnapShot: 0,
|
totalSnapShot: 0,
|
||||||
// 预警列表
|
// 预警列表
|
||||||
warningList: [],
|
compareList:[],
|
||||||
videoFaceList:[],
|
videoFaceList:[],
|
||||||
// 预警音乐类型
|
// 预警音乐类型
|
||||||
warningType: "",
|
warningType: "",
|
||||||
cameraList:[{ rtspUrl: "rtsp://admin:123uestc@192.168.1.32:554/h264"}],
|
cameraList:[{ rtspUrl: "rtsp://192.168.1.138:8557/h264"}],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
@ -238,7 +237,7 @@
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
plays(){
|
plays(){
|
||||||
this.cameraList.push({rtspUrl: "rtsp://admin:123uestc@192.168.1.32:554/h264"});
|
this.cameraList.push({rtspUrl: "rtsp://192.168.1.138:8557/h264"});
|
||||||
},
|
},
|
||||||
// 初始化4条预警数据
|
// 初始化4条预警数据
|
||||||
initGetWarningPicture() {
|
initGetWarningPicture() {
|
||||||
|
@ -249,9 +248,9 @@
|
||||||
},
|
},
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.data.code === 0) {
|
if (res.data.code === 0) {
|
||||||
this.warningList = res.data.data.records
|
this.compareList = res.data.data.records
|
||||||
// 处理预警数据
|
// 处理预警数据
|
||||||
this.getWarningPicture(this.warningList)
|
this.getWarningPicture(this.compareList)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.data.message)
|
this.$message.error(res.data.message)
|
||||||
}
|
}
|
||||||
|
@ -261,22 +260,22 @@
|
||||||
* 初始化获取摄像头id
|
* 初始化获取摄像头id
|
||||||
*/
|
*/
|
||||||
initGetCameraId() {
|
initGetCameraId() {
|
||||||
this.$http.get("/warning/bayonet").then((res) => {
|
// this.$http.get("/warning/bayonet").then((res) => {
|
||||||
if (res.data.code === 0) {
|
// if (res.data.code === 0) {
|
||||||
this.cameraId = res.data.data.cameraId
|
// this.cameraId = res.data.data.cameraId
|
||||||
this.barrierName = res.data.data.cameraName
|
// this.barrierName = res.data.data.cameraName
|
||||||
// 卡口树状结构多级id
|
// // 卡口树状结构多级id
|
||||||
this.treeArr = res.data.data.camera_region_firstlevel.split(",")
|
// this.treeArr = res.data.data.camera_region_firstlevel.split(",")
|
||||||
// 初始化根据摄像头id获取任务名称
|
// // 初始化根据摄像头id获取任务名称
|
||||||
this.getTaskNameByCameraId(this.cameraId)
|
// this.getTaskNameByCameraId(this.cameraId)
|
||||||
// 初始化获取 今日抓拍/累计抓拍
|
// // 初始化获取 今日抓拍/累计抓拍
|
||||||
this.initTotal(this.cameraId)
|
// this.initTotal(this.cameraId)
|
||||||
// 启动webSocket----------启动webSocket----------启动webSocket----------启动webSocket
|
// // 启动webSocket----------启动webSocket----------启动webSocket----------启动webSocket
|
||||||
this.initWebSocket()
|
// this.initWebSocket()
|
||||||
} else {
|
// } else {
|
||||||
this.$message.error(res.data.message)
|
// this.$message.error(res.data.message)
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
this.initWebSocket()
|
this.initWebSocket()
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
|
@ -301,7 +300,7 @@
|
||||||
res.data.data.result.totalSnapShot = res.data.data.totalSnapShot
|
res.data.data.result.totalSnapShot = res.data.data.totalSnapShot
|
||||||
this.getPicture(res.data.data.result)
|
this.getPicture(res.data.data.result)
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.data.message)
|
//this.$message.error(res.data.message)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -322,17 +321,17 @@
|
||||||
},
|
},
|
||||||
websocketonopen(e) {
|
websocketonopen(e) {
|
||||||
console.log("WebSocket Connection successful");
|
console.log("WebSocket Connection successful");
|
||||||
let obj = {
|
// let obj = {
|
||||||
"code": 200,
|
// "code": 200,
|
||||||
"message": "成功",
|
// "message": "成功",
|
||||||
"cmd": "BAYONET",
|
// "cmd": "BAYONET",
|
||||||
"data": {
|
// "data": {
|
||||||
"carmeraId": this.cameraId
|
// "carmeraId": this.cameraId
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
let objString = JSON.stringify(obj)
|
// let objString = JSON.stringify(obj)
|
||||||
// 此处有效参数只有 this.cameraId,但是后台执意这样传递参数(来自潘辉)
|
// // 此处有效参数只有 this.cameraId,但是后台执意这样传递参数(来自潘辉)
|
||||||
this.websock.send(objString)
|
// this.websock.send(objString)
|
||||||
},
|
},
|
||||||
websocketonerror(e) {
|
websocketonerror(e) {
|
||||||
console.log("WebSocket Connection error");
|
console.log("WebSocket Connection error");
|
||||||
|
@ -341,12 +340,12 @@
|
||||||
console.log("WebSocket Connection closed");
|
console.log("WebSocket Connection closed");
|
||||||
},
|
},
|
||||||
websocketonmessage(e) {
|
websocketonmessage(e) {
|
||||||
console.log("数据传输")
|
console.log("数据传输")
|
||||||
console.log(e)
|
// console.log(e)
|
||||||
// ws数据字符串转json
|
// ws数据字符串转json
|
||||||
let wsObj = JSON.parse(e.data)
|
let wsObj = JSON.parse(e.data)
|
||||||
console.log("this wsObj")
|
// console.log("this wsObj")
|
||||||
console.log(wsObj)
|
// console.log(wsObj)
|
||||||
// ws数据推送成功
|
// ws数据推送成功
|
||||||
// 处理ws推送的预警信息
|
// 处理ws推送的预警信息
|
||||||
this.getWarningPicture(wsObj)
|
this.getWarningPicture(wsObj)
|
||||||
|
@ -386,16 +385,32 @@
|
||||||
* @param {Object} wsObj
|
* @param {Object} wsObj
|
||||||
*/
|
*/
|
||||||
getWarningPicture(warningData) {
|
getWarningPicture(warningData) {
|
||||||
// warningData为数组说明是初始化数据,为对象说明是ws推送的数据
|
this.toDaySnapShot = this.toDaySnapShot + warningData.length
|
||||||
this.warningList = warningData
|
this.totalSnapShot = this.totalSnapShot + warningData.length
|
||||||
console.log("this warningList")
|
// warningData大于2说明是人脸比对信息videofacelist,其余则是comparelist
|
||||||
console.log(this.warningList)
|
for (let i = 0; i < warningData.length; i++) {
|
||||||
|
this.videoFaceList.unshift(warningData[i])
|
||||||
|
}
|
||||||
|
console.log("this is videofacelist")
|
||||||
|
console.log(this.videoFaceList)
|
||||||
|
|
||||||
|
// else {
|
||||||
|
// // console.log("this videofacelist")
|
||||||
|
// // console.log(this.videoFaceList)
|
||||||
|
// for (let i = 0; i < warningData.length; i++) {
|
||||||
|
// this.videoFaceList.unshift(warningData[i])
|
||||||
|
// }
|
||||||
|
// // console.log("this videofacelist")
|
||||||
|
// // console.log(this.videoFaceList)
|
||||||
|
// }
|
||||||
|
|
||||||
|
//this.warningList = warningData
|
||||||
|
//console.log(this.compareList)
|
||||||
// 声音 和 tips预警
|
// 声音 和 tips预警
|
||||||
let warningType = this.$refs.notice
|
let warningType = this.$refs.notice
|
||||||
warningType.play()
|
warningType.play()
|
||||||
// this.$message.warning("有新的预警信息")
|
// this.$message.warning("有新的预警信息")
|
||||||
this.warningList.forEach((item, index, arr) => {
|
this.compareList.forEach((item, index, arr) => {
|
||||||
// "1" 红色#FF343E "2" 橙色#FFA61A "0" 蓝色#2FC8FA
|
// "1" 红色#FF343E "2" 橙色#FFA61A "0" 蓝色#2FC8FA
|
||||||
// if (item.taskType == "1" || item.taskType == "2" || item.taskType == "3") {
|
// if (item.taskType == "1" || item.taskType == "2" || item.taskType == "3") {
|
||||||
// if (item.taskType == "1") {
|
// if (item.taskType == "1") {
|
||||||
|
@ -484,7 +499,8 @@
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
name: "monitoring-warning",
|
name: "monitoring-warning",
|
||||||
params: {
|
params: {
|
||||||
taskId: ''
|
taskId: '',
|
||||||
|
videoFaceList:this.videoFaceList,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="布控对象" prop="object" style="margin:0px">
|
<el-form-item label="布控对象" prop="object" style="margin:0px">
|
||||||
<el-radio v-model="addForm.object" label="1">人像库</el-radio>
|
<el-radio v-model="addForm.object" label="1">人像库</el-radio>
|
||||||
<el-radio v-model="addForm.object" label="2">上传目标照片</el-radio>
|
<!-- <el-radio v-model="addForm.object" label="2">上传目标照片</el-radio>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="library" v-if="addForm.object == '1'">
|
<el-form-item prop="library" v-if="addForm.object == '1'">
|
||||||
<el-select v-model="addForm.library" filterable multiple collapse-tags placeholder="请选择人像库">
|
<el-select v-model="addForm.library" filterable multiple collapse-tags placeholder="请选择人像库">
|
||||||
|
@ -50,26 +50,26 @@
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="targetImg" v-if="addForm.object == '2'">
|
<!-- <el-form-item prop="targetImg" v-if="addForm.object == '2'">-->
|
||||||
<span class="surveillance_add_gs">上传头像图片只能是 JPG 、PNG、JPEG格式!</span>
|
<!-- <span class="surveillance_add_gs">上传头像图片只能是 JPG 、PNG、JPEG格式!</span>-->
|
||||||
<div class="surveillance_box">
|
<!-- <div class="surveillance_box">-->
|
||||||
<div class="surveillance_img">
|
<!-- <div class="surveillance_img">-->
|
||||||
<img v-if='addForm.targetImg' :src="addForm.targetImg" class="pre-img">
|
<!-- <img v-if='addForm.targetImg' :src="addForm.targetImg" class="pre-img">-->
|
||||||
<div v-else class="avatar-uploader-icon">人物图像</div>
|
<!-- <div v-else class="avatar-uploader-icon">人物图像</div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="crop-demo-btn">
|
<!-- <div class="crop-demo-btn">-->
|
||||||
上传图片<input class="crop-input" type="file" name="image" accept="image/*" @change="setImage" />
|
<!-- 上传图片<input class="crop-input" type="file" name="image" accept="image/*" @change="setImage" />-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<el-dialog title="裁剪图片" :visible.sync="dialogVisible9" width="30%" :close-on-click-modal='false' append-to-body>
|
<!-- <el-dialog title="裁剪图片" :visible.sync="dialogVisible9" width="30%" :close-on-click-modal='false' append-to-body>-->
|
||||||
<vue-cropper ref='cropper' :src="imgSrc" :ready="cropImage" :zoom="cropImage" :cropmove="cropImage" style="width:100%;height:300px;">
|
<!-- <vue-cropper ref='cropper' :src="imgSrc" :ready="cropImage" :zoom="cropImage" :cropmove="cropImage" style="width:100%;height:300px;">-->
|
||||||
</vue-cropper>
|
<!-- </vue-cropper>-->
|
||||||
<span slot="footer" class="dialog-footer">
|
<!-- <span slot="footer" class="dialog-footer">-->
|
||||||
<el-button @click="cancelCrop">取 消</el-button>
|
<!-- <el-button @click="cancelCrop">取 消</el-button>-->
|
||||||
<el-button type="primary" @click="clickOK()">确 定</el-button>
|
<!-- <el-button type="primary" @click="clickOK()">确 定</el-button>-->
|
||||||
</span>
|
<!-- </span>-->
|
||||||
</el-dialog>
|
<!-- </el-dialog>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item style="margin-bottom:0px" label="处置类型" prop="disposalType">
|
<el-form-item style="margin-bottom:0px" label="处置类型" prop="disposalType">
|
||||||
<el-radio v-model="addForm.disposalType" :label="item.label" v-for="item in warningTypeList" :key="item.value">{{item.label}}</el-radio>
|
<el-radio v-model="addForm.disposalType" :label="item.label" v-for="item in warningTypeList" :key="item.value">{{item.label}}</el-radio>
|
||||||
<!-- <el-radio v-model="addForm.disposalType" label="1">抓捕类</el-radio>
|
<!-- <el-radio v-model="addForm.disposalType" label="1">抓捕类</el-radio>
|
||||||
|
@ -156,7 +156,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="布控对象" prop="controlObject" style="margin:0px">
|
<el-form-item label="布控对象" prop="controlObject" style="margin:0px">
|
||||||
<el-radio disabled v-model="addForm2.controlObject" label="1">人脸库</el-radio>
|
<el-radio disabled v-model="addForm2.controlObject" label="1">人脸库</el-radio>
|
||||||
<el-radio disabled v-model="addForm2.controlObject" label="2">上传目标照片</el-radio>
|
<!-- <el-radio disabled v-model="addForm2.controlObject" label="2">上传目标照片</el-radio>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="libIds" v-if="addForm2.controlObject == '1'">
|
<el-form-item prop="libIds" v-if="addForm2.controlObject == '1'">
|
||||||
<el-select disabled v-model="addForm2.libIds" multiple placeholder="请选择人脸库">
|
<el-select disabled v-model="addForm2.libIds" multiple placeholder="请选择人脸库">
|
||||||
|
@ -164,9 +164,9 @@
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="targetImg" v-if="addForm2.controlObject == '2'">
|
<!-- <el-form-item prop="targetImg" v-if="addForm2.controlObject == '2'">-->
|
||||||
<img :src="addForm2.imgurl" class="avatar">
|
<!-- <img :src="addForm2.imgurl" class="avatar">-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item style="margin-bottom:0px" label="处置类型" prop="disposalType">
|
<el-form-item style="margin-bottom:0px" label="处置类型" prop="disposalType">
|
||||||
<el-radio v-model="addForm2.disposalType" :label="item.label" v-for="item in warningTypeList" :key="item.value">{{item.label}}</el-radio>
|
<el-radio v-model="addForm2.disposalType" :label="item.label" v-for="item in warningTypeList" :key="item.value">{{item.label}}</el-radio>
|
||||||
<!-- <el-radio v-model="addForm2.disposalType" label="1">抓捕类</el-radio>
|
<!-- <el-radio v-model="addForm2.disposalType" label="1">抓捕类</el-radio>
|
||||||
|
|
|
@ -1,391 +1,394 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="warning">
|
<div class="warning">
|
||||||
<div class="conditions-div">
|
<div class="conditions-div">
|
||||||
<el-form ref="formRef" :model="formData" :inline="true">
|
<el-form ref="formRef" :model="formData" :inline="true">
|
||||||
<el-form-item label="抓拍时间" prop="dateValue">
|
<el-form-item label="抓拍时间" prop="dateValue">
|
||||||
<el-date-picker v-model="formData.dateValue" type="datetimerange" range-separator="一" start-placeholder="开始时间"
|
<el-date-picker v-model="formData.dateValue" type="datetimerange" range-separator="一" start-placeholder="开始时间"
|
||||||
end-placeholder="结束时间" clearable>
|
end-placeholder="结束时间" clearable>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="任务" prop="taskIds">
|
<el-form-item label="任务" prop="taskIds">
|
||||||
<el-select v-model="formData.taskIds" placeholder="请选择任务列表" clearable @change="taskChange">
|
<el-select v-model="formData.taskIds" placeholder="请选择任务列表" clearable @change="taskChange">
|
||||||
<el-option v-for="item in taskList" :key="item.value" :label="item.label" :value="item.value">
|
<el-option v-for="item in taskList" :key="item.value" :label="item.label" :value="item.value">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="摄像头" prop="cameraIds">
|
<el-form-item label="摄像头" prop="cameraIds">
|
||||||
<el-select v-model="formData.cameraIds" placeholder="请选择摄像头列表" clearable>
|
<el-select v-model="formData.cameraIds" placeholder="请选择摄像头列表" clearable>
|
||||||
<el-option v-for="item in cameraOptions" :key="item.value" :label="item.label" :value="item.value">
|
<el-option v-for="item in cameraOptions" :key="item.value" :label="item.label" :value="item.value">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="float:right">
|
<el-form-item style="float:right">
|
||||||
<el-button type="primary" @click="clickSearch()">搜索</el-button>
|
<el-button type="primary" @click="clickSearch()">搜索</el-button>
|
||||||
<el-button @click="resetClick('formRef')">重置</el-button>
|
<el-button @click="resetClick('formRef')">重置</el-button>
|
||||||
<!-- <el-button type="primary" icon="el-icon-map-location" @click="openMapClick">地图模式</el-button> -->
|
<!-- <el-button type="primary" icon="el-icon-map-location" @click="openMapClick">地图模式</el-button> -->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<el-row :gutter="20" style="margin-top: 20px;">
|
<el-row :gutter="20" style="margin-top: 20px;">
|
||||||
<el-col :span="8" v-for="(item,index) in warningList" :key=index.libId>
|
<el-col :span="8" v-for="(item,index) in warningList" :key=index.libId>
|
||||||
<div style="background-color: #FFF;margin-bottom: 20px;border-radius: 2px;cursor: pointer;" @click="openTask(item)">
|
<div style="background-color: #FFF;margin-bottom: 20px;border-radius: 2px;cursor: pointer;" @click="openTask(item)">
|
||||||
<div style="height:40px;line-height:40px;display:flex;justify-content: space-between;border-bottom: 1px solid #F1F8FF;box-sizing: border-box;">
|
<div style="height:40px;line-height:40px;display:flex;justify-content: space-between;border-bottom: 1px solid #F1F8FF;box-sizing: border-box;">
|
||||||
<i>
|
<i>
|
||||||
<i class="font-fourteen" style="font-weight: bold;color: #333333;margin-left: 20px">{{item.cameraRegion}}</i>
|
<i class="font-fourteen" style="font-weight: bold;color: #333333;margin-left: 20px">{{"十楼工位"}}</i>
|
||||||
</i>
|
</i>
|
||||||
<i style="font-weight: bold;color: #333333;margin-right: 20px;margin-left: 20px">{{item.time}}</i>
|
<i style="font-weight: bold;color: #333333;margin-right: 20px;margin-left: 20px">{{item.time}}</i>
|
||||||
</div>
|
</div>
|
||||||
<div style="position: relative;">
|
<div style="position: relative;">
|
||||||
<div style="display: flex;align-items: center;height: 150px;margin-left: 30px;">
|
<div style="display: flex;align-items: center;height: 150px;margin-left: 30px;">
|
||||||
<div style="width: 120px;height: 120px;background: #F1F6F9;">
|
<div style="width: 120px;height: 120px;background: #F1F6F9;">
|
||||||
<canvas width=120 height=120 :ref="'warningImage'+index">
|
<!-- <img :src="item.cphoto" alt="目标图片" height="100%">-->
|
||||||
</canvas>
|
<canvas width=120 height=120 :ref="'warningImage'+index">
|
||||||
</div>
|
</canvas>
|
||||||
<!-- 可考虑用背景图 -->
|
</div>
|
||||||
<div style="width: 120px;height: 120px;background: #F1F6F9;margin: 0 20px;text-align: center;">
|
<!-- 可考虑用背景图 -->
|
||||||
<img :src="$replaceImgUrl(item.faceUrl)" alt="目标图片" height="100%">
|
<div style="width: 120px;height: 120px;background: #F1F6F9;margin: 0 20px;text-align: center;">
|
||||||
</div>
|
<img :src="item.rphoto" alt="目标图片" height="100%">
|
||||||
<div style="height: 120px;display: flex;flex-direction: column;justify-content: space-around;">
|
</div>
|
||||||
<span><i>姓名:{{item.name}}</i></span>
|
<div style="height: 120px;display: flex;flex-direction: column;justify-content: space-around;">
|
||||||
<span><i>性别:{{item.sex}}</i></span>
|
<span><i>姓名:{{item.name}}</i></span>
|
||||||
<span><i>来源:{{item.libName}}</i></span>
|
<span><i>性别:{{item.sex}}</i></span>
|
||||||
<span><i>相似度:</i><i style="font-size: 30px;font-weight: 600;color: #FF343E;font-family:Bahnschrift;">{{(item.score*100).toFixed(2)}}%</i></span>
|
<span><i>来源:{{item.libName}}</i></span>
|
||||||
</div>
|
<span><i>相似度:</i><i style="font-size: 30px;font-weight: 600;color: #FF343E;font-family:Bahnschrift;">{{(item.xsd*1).toFixed(2)}}%</i></span>
|
||||||
</div>
|
</div>
|
||||||
<div style="position: absolute;top:20px;right: 30px;">
|
</div>
|
||||||
<img v-if="item.taskType=='3'" src="../../../assets/img/warning/ts.png" alt="提示">
|
<div style="position: absolute;top:20px;right: 30px;">
|
||||||
<img v-if="item.taskType=='2'" src="../../../assets/img/warning/jk.png" alt="监控">
|
<img v-if="item.taskType=='3'" src="../../../assets/img/warning/ts.png" alt="提示">
|
||||||
<img v-if="item.taskType=='1'" src="../../../assets/img/warning/zb.png" alt="抓捕">
|
<img v-if="item.taskType=='2'" src="../../../assets/img/warning/jk.png" alt="监控">
|
||||||
</div>
|
<img v-if="item.taskType=='1'" src="../../../assets/img/warning/zb.png" alt="抓捕">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</div>
|
||||||
</el-row>
|
</el-col>
|
||||||
<!-- 弹窗 任务详情 -->
|
</el-row>
|
||||||
<task v-if="taskVisible" ref="task" @refreshTaskList></task>
|
<!-- 弹窗 任务详情 -->
|
||||||
<!-- 地图详情 -->
|
<task v-if="taskVisible" ref="task" @refreshTaskList></task>
|
||||||
<warning-map ref="mapRef" @mapRefClick="mapRefClick"> </warning-map>
|
<!-- 地图详情 -->
|
||||||
<el-pagination @current-change="handleCurrentChange" :current-page.sync="pageObj.page.pageNo" :page-size="pageObj.page.pageSize"
|
<warning-map ref="mapRef" @mapRefClick="mapRefClick"> </warning-map>
|
||||||
layout="total,prev, pager, next, jumper" :total="total">
|
<el-pagination @current-change="handleCurrentChange" :current-page.sync="pageObj.page.pageNo" :page-size="pageObj.page.pageSize"
|
||||||
</el-pagination>
|
layout="total,prev, pager, next, jumper" :total="total">
|
||||||
</div>
|
</el-pagination>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Task from './barrier-task'
|
import Task from './barrier-task'
|
||||||
import warningMap from './warning-map'
|
import warningMap from './warning-map'
|
||||||
export default {
|
export default {
|
||||||
name: "watch",
|
name: "watch",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 任务列表
|
// 任务列表
|
||||||
taskList: [],
|
taskList: [],
|
||||||
// 摄像头列表
|
// 摄像头列表
|
||||||
cameraOptions: [],
|
cameraOptions: [],
|
||||||
formData: {
|
formData: {
|
||||||
// dateValue如果设置为null,点击重置后dateValue的值为[null];dateValue如果设置为[],点击重置后dateValue的值为[]
|
// dateValue如果设置为null,点击重置后dateValue的值为[null];dateValue如果设置为[],点击重置后dateValue的值为[]
|
||||||
dateValue: [],
|
dateValue: [],
|
||||||
taskIds: "",
|
taskIds: "",
|
||||||
cameraIds: "",
|
cameraIds: "",
|
||||||
},
|
},
|
||||||
// 分页变量
|
// 分页变量
|
||||||
pageObj: {
|
pageObj: {
|
||||||
"cameraIds": [],
|
"cameraIds": [],
|
||||||
"page": {
|
"page": {
|
||||||
"pageNo": 1,
|
"pageNo": 1,
|
||||||
"pageSize": 9,
|
"pageSize": 9,
|
||||||
"startTimestamp": null,
|
"startTimestamp": null,
|
||||||
"stopTimestamp": null,
|
"stopTimestamp": null,
|
||||||
},
|
},
|
||||||
taskIds: [],
|
taskIds: [],
|
||||||
},
|
},
|
||||||
total: 0,
|
total: 0,
|
||||||
// 任务Id
|
// 任务Id
|
||||||
taskId: "",
|
taskId: "",
|
||||||
// 预警列表
|
// 预警列表
|
||||||
warningList: [],
|
warningList: this.$route.params.videoFaceList,
|
||||||
// 详情
|
// 详情
|
||||||
taskVisible: false,
|
taskVisible: false,
|
||||||
val: {}
|
val: {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
Task,
|
Task,
|
||||||
warningMap
|
warningMap
|
||||||
},
|
},
|
||||||
// activated
|
// activated
|
||||||
created() {
|
created() {
|
||||||
// 第一次加载(非路由跳转)
|
console.log("warninglist参数传递:")
|
||||||
if (this.$route.params.taskId === undefined) {
|
console.log(this.$route.params)
|
||||||
// 任务列表
|
// 第一次加载(非路由跳转)
|
||||||
this.commonGetTaskList()
|
if (this.$route.params.taskId === undefined) {
|
||||||
// 预警列表
|
// 任务列表
|
||||||
this.getWarningList()
|
this.commonGetTaskList()
|
||||||
}
|
// 预警列表
|
||||||
// 第一次加载(路由跳转,来自卡口)
|
this.getWarningList()
|
||||||
else if (this.$route.params.taskId === "") {
|
}
|
||||||
// 任务列表
|
// 第一次加载(路由跳转,来自卡口)
|
||||||
this.commonGetTaskList()
|
else if (this.$route.params.taskId === "") {
|
||||||
// 预警列表
|
// 任务列表
|
||||||
this.getWarningList()
|
this.commonGetTaskList()
|
||||||
}
|
// 预警列表
|
||||||
// 第一次加载(路由跳转,来自布控)
|
this.getWarningList()
|
||||||
else {
|
}
|
||||||
this.formData.taskIds = this.$route.params.taskId
|
// 第一次加载(路由跳转,来自布控)
|
||||||
this.pageObj.taskIds = this.formData.taskIds.split()
|
else {
|
||||||
this.getWarningList()
|
this.formData.taskIds = this.$route.params.taskId
|
||||||
this.$http.post("/control/tasklist", {
|
this.pageObj.taskIds = this.formData.taskIds.split()
|
||||||
"pageNo": 1,
|
this.getWarningList()
|
||||||
"pageSize": 9999,
|
this.$http.post("/control/tasklist", {
|
||||||
}).then(res => {
|
"pageNo": 1,
|
||||||
let taskList = res.data.data.records
|
"pageSize": 9999,
|
||||||
this.taskList = []
|
}).then(res => {
|
||||||
taskList.forEach(item => {
|
let taskList = res.data.data.records
|
||||||
this.taskList.push({
|
this.taskList = []
|
||||||
label: item.taskName,
|
taskList.forEach(item => {
|
||||||
value: item.taskNo
|
this.taskList.push({
|
||||||
})
|
label: item.taskName,
|
||||||
})
|
value: item.taskNo
|
||||||
this.commonGetCameraList(this.formData.taskIds)
|
})
|
||||||
})
|
})
|
||||||
}
|
this.commonGetCameraList(this.formData.taskIds)
|
||||||
},
|
})
|
||||||
watch: {
|
}
|
||||||
$route(to, from) {
|
},
|
||||||
if ((from.name === "monitoring-barrier" || from.name === "monitoring-surveillance") && to.name ==
|
watch: {
|
||||||
"monitoring-warning") {
|
$route(to, from) {
|
||||||
|
if ((from.name === "monitoring-barrier" || from.name === "monitoring-surveillance") && to.name ==
|
||||||
|
"monitoring-warning") {
|
||||||
|
|
||||||
this.formData = {
|
this.formData = {
|
||||||
dateValue: [],
|
dateValue: [],
|
||||||
taskIds: "",
|
taskIds: "",
|
||||||
cameraIds: "",
|
cameraIds: "",
|
||||||
}
|
}
|
||||||
this.pageObj = {
|
this.pageObj = {
|
||||||
"cameraIds": [],
|
"cameraIds": [],
|
||||||
"page": {
|
"page": {
|
||||||
"pageNo": 1,
|
"pageNo": 1,
|
||||||
"pageSize": 9,
|
"pageSize": 9,
|
||||||
"startTimestamp": null,
|
"startTimestamp": null,
|
||||||
"stopTimestamp": null,
|
"stopTimestamp": null,
|
||||||
},
|
},
|
||||||
taskIds: [],
|
taskIds: [],
|
||||||
}
|
}
|
||||||
this.cameraOptions = []
|
this.cameraOptions = []
|
||||||
// 非路由跳转
|
// 非路由跳转
|
||||||
if (this.$route.params.taskId === undefined) {
|
if (this.$route.params.taskId === undefined) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// 路由跳转
|
// 路由跳转
|
||||||
else {
|
else {
|
||||||
this.formData.taskIds = this.$route.params.taskId
|
this.formData.taskIds = this.$route.params.taskId
|
||||||
this.$http.post("/control/tasklist", {
|
this.$http.post("/control/tasklist", {
|
||||||
"pageNo": 1,
|
"pageNo": 1,
|
||||||
"pageSize": 9999,
|
"pageSize": 9999,
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.data.code == 0) {
|
if (res.data.code == 0) {
|
||||||
let taskList = res.data.data.records
|
let taskList = res.data.data.records
|
||||||
this.taskList = []
|
this.taskList = []
|
||||||
taskList.forEach(item => {
|
taskList.forEach(item => {
|
||||||
this.taskList.push({
|
this.taskList.push({
|
||||||
label: item.taskName,
|
label: item.taskName,
|
||||||
value: item.taskNo
|
value: item.taskNo
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
this.commonGetCameraList(this.formData.taskIds)
|
this.commonGetCameraList(this.formData.taskIds)
|
||||||
let dateArr = this.formData.dateValue
|
let dateArr = this.formData.dateValue
|
||||||
if (dateArr != null && dateArr.length != 0) {
|
if (dateArr != null && dateArr.length != 0) {
|
||||||
let startDate = dateArr[0].getTime()
|
let startDate = dateArr[0].getTime()
|
||||||
let endDate = dateArr[1].getTime()
|
let endDate = dateArr[1].getTime()
|
||||||
this.pageObj.page.pageNo = 1
|
this.pageObj.page.pageNo = 1
|
||||||
this.pageObj.page.startTimestamp = startDate
|
this.pageObj.page.startTimestamp = startDate
|
||||||
this.pageObj.page.stopTimestamp = endDate
|
this.pageObj.page.stopTimestamp = endDate
|
||||||
}
|
}
|
||||||
if (this.formData.taskIds != "") {
|
if (this.formData.taskIds != "") {
|
||||||
this.pageObj.page.pageNo = 1
|
this.pageObj.page.pageNo = 1
|
||||||
this.pageObj.taskIds = this.formData.taskIds.split()
|
this.pageObj.taskIds = this.formData.taskIds.split()
|
||||||
if (this.formData.cameraIds != "") {
|
if (this.formData.cameraIds != "") {
|
||||||
this.pageObj.page.pageNo = 1
|
this.pageObj.page.pageNo = 1
|
||||||
this.pageObj.cameraIds = this.formData.cameraIds.split()
|
this.pageObj.cameraIds = this.formData.cameraIds.split()
|
||||||
} else {
|
} else {
|
||||||
this.pageObj.cameraIds = []
|
this.pageObj.cameraIds = []
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.pageObj.taskIds = []
|
this.pageObj.taskIds = []
|
||||||
}
|
}
|
||||||
this.getWarningList()
|
this.getWarningList()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 打开单个预警信息
|
// 打开单个预警信息
|
||||||
openTask(val) {
|
openTask(val) {
|
||||||
this.taskVisible = true
|
this.taskVisible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.task.init(JSON.stringify(val))
|
this.$refs.task.init(JSON.stringify(val))
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 搜索
|
// 搜索
|
||||||
clickSearch() {
|
clickSearch() {
|
||||||
let dateArr = this.formData.dateValue
|
let dateArr = this.formData.dateValue
|
||||||
if (dateArr == null || dateArr.length == 0) {
|
if (dateArr == null || dateArr.length == 0) {
|
||||||
this.pageObj.page.startTimestamp = null
|
this.pageObj.page.startTimestamp = null
|
||||||
this.pageObj.page.stopTimestamp = null
|
this.pageObj.page.stopTimestamp = null
|
||||||
this.pageObj.page.pageNo = 1
|
this.pageObj.page.pageNo = 1
|
||||||
} else if (dateArr.length != 0) {
|
} else if (dateArr.length != 0) {
|
||||||
let startDate = dateArr[0].getTime()
|
let startDate = dateArr[0].getTime()
|
||||||
let endDate = dateArr[1].getTime()
|
let endDate = dateArr[1].getTime()
|
||||||
this.pageObj.page.pageNo = 1
|
this.pageObj.page.pageNo = 1
|
||||||
this.pageObj.page.startTimestamp = startDate
|
this.pageObj.page.startTimestamp = startDate
|
||||||
this.pageObj.page.stopTimestamp = endDate
|
this.pageObj.page.stopTimestamp = endDate
|
||||||
}
|
}
|
||||||
if (this.formData.taskIds != "") {
|
if (this.formData.taskIds != "") {
|
||||||
this.pageObj.page.pageNo = 1
|
this.pageObj.page.pageNo = 1
|
||||||
this.pageObj.taskIds = this.formData.taskIds.split()
|
this.pageObj.taskIds = this.formData.taskIds.split()
|
||||||
// if (this.formData.cameraIds != "") {
|
// if (this.formData.cameraIds != "") {
|
||||||
// this.pageObj.page.pageNo = 1
|
// this.pageObj.page.pageNo = 1
|
||||||
// this.pageObj.cameraIds = this.formData.cameraIds.split()
|
// this.pageObj.cameraIds = this.formData.cameraIds.split()
|
||||||
// } else {
|
// } else {
|
||||||
// this.pageObj.cameraIds = []
|
// this.pageObj.cameraIds = []
|
||||||
// }
|
// }
|
||||||
} else {
|
} else {
|
||||||
this.pageObj.taskIds = []
|
this.pageObj.taskIds = []
|
||||||
}
|
}
|
||||||
if (this.formData.cameraIds != "") {
|
if (this.formData.cameraIds != "") {
|
||||||
this.pageObj.page.pageNo = 1
|
this.pageObj.page.pageNo = 1
|
||||||
this.pageObj.cameraIds = this.formData.cameraIds.split()
|
this.pageObj.cameraIds = this.formData.cameraIds.split()
|
||||||
} else {
|
} else {
|
||||||
this.pageObj.cameraIds = []
|
this.pageObj.cameraIds = []
|
||||||
}
|
}
|
||||||
this.getWarningList()
|
this.getWarningList()
|
||||||
},
|
},
|
||||||
// 页码
|
// 页码
|
||||||
handleCurrentChange(val) {
|
handleCurrentChange(val) {
|
||||||
this.pageObj.page.pageNo = val
|
this.pageObj.page.pageNo = val
|
||||||
let dateArr = this.formData.dateValue
|
let dateArr = this.formData.dateValue
|
||||||
if (dateArr == null || dateArr.length == 0) {
|
if (dateArr == null || dateArr.length == 0) {
|
||||||
this.pageObj.page.startTimestamp = null
|
this.pageObj.page.startTimestamp = null
|
||||||
this.pageObj.page.stopTimestamp = null
|
this.pageObj.page.stopTimestamp = null
|
||||||
} else if (dateArr.length != 0) {
|
} else if (dateArr.length != 0) {
|
||||||
let startDate = dateArr[0].getTime()
|
let startDate = dateArr[0].getTime()
|
||||||
let endDate = dateArr[1].getTime()
|
let endDate = dateArr[1].getTime()
|
||||||
this.pageObj.page.startTimestamp = startDate
|
this.pageObj.page.startTimestamp = startDate
|
||||||
this.pageObj.page.stopTimestamp = endDate
|
this.pageObj.page.stopTimestamp = endDate
|
||||||
}
|
}
|
||||||
if (this.formData.taskIds != "") {
|
if (this.formData.taskIds != "") {
|
||||||
this.pageObj.taskIds = this.formData.taskIds.split()
|
this.pageObj.taskIds = this.formData.taskIds.split()
|
||||||
// if (this.formData.cameraIds != "") {
|
// if (this.formData.cameraIds != "") {
|
||||||
// this.pageObj.cameraIds = this.formData.cameraIds.split()
|
// this.pageObj.cameraIds = this.formData.cameraIds.split()
|
||||||
// } else {
|
// } else {
|
||||||
// this.pageObj.cameraIds = []
|
// this.pageObj.cameraIds = []
|
||||||
// }
|
// }
|
||||||
} else {
|
} else {
|
||||||
this.pageObj.taskIds = []
|
this.pageObj.taskIds = []
|
||||||
}
|
}
|
||||||
if (this.formData.cameraIds != "") {
|
if (this.formData.cameraIds != "") {
|
||||||
this.pageObj.cameraIds = this.formData.cameraIds.split()
|
this.pageObj.cameraIds = this.formData.cameraIds.split()
|
||||||
} else {
|
} else {
|
||||||
this.pageObj.cameraIds = []
|
this.pageObj.cameraIds = []
|
||||||
}
|
}
|
||||||
this.getWarningList()
|
this.getWarningList()
|
||||||
},
|
},
|
||||||
// 表单重置
|
// 表单重置
|
||||||
resetClick(rueleName) {
|
resetClick(rueleName) {
|
||||||
this.$refs[rueleName].resetFields()
|
this.$refs[rueleName].resetFields()
|
||||||
},
|
},
|
||||||
// 切换任务
|
// 切换任务
|
||||||
taskChange() {
|
taskChange() {
|
||||||
this.cameraOptions = []
|
this.cameraOptions = []
|
||||||
this.formData.cameraIds = ""
|
this.formData.cameraIds = ""
|
||||||
if (this.formData.taskIds != "") {
|
if (this.formData.taskIds != "") {
|
||||||
this.commonGetCameraList(this.formData.taskIds)
|
this.commonGetCameraList(this.formData.taskIds)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 获取预警列表
|
// 获取预警列表
|
||||||
getWarningList(obj = this.pageObj) {
|
getWarningList(obj = this.pageObj) {
|
||||||
this.$http.post("/warning/alarm", obj).then(res => {
|
this.$http.post("/warning/alarm", obj).then(res => {
|
||||||
if (res.data.code === 0) {
|
if (res.data.code === 0) {
|
||||||
let warningList = res.data.data.records
|
let warningList = res.data.data.records
|
||||||
this.warningList = warningList
|
this.warningList = warningList
|
||||||
this.total = Number(res.data.data.total);
|
this.total = Number(res.data.data.total);
|
||||||
this.warningList.forEach((item, index, arr) => {
|
this.warningList.forEach((item, index, arr) => {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
let canvas = this.$refs[`warningImage${index}`][0]
|
let canvas = this.$refs[`warningImage${index}`][0]
|
||||||
let cxt = canvas.getContext("2d");
|
let cxt = canvas.getContext("2d");
|
||||||
cxt.clearRect(0, 0, 120, 120);
|
cxt.clearRect(0, 0, 120, 120);
|
||||||
let img = new Image();
|
let img = new Image();
|
||||||
img.src = item.bgImg;
|
img.src = item.bgImg;
|
||||||
img.onload = function() {
|
img.onload = function() {
|
||||||
cxt.drawImage(img, item.positionVO.x, item.positionVO.y, item.positionVO.w, item.positionVO.h, 0, 0,
|
cxt.drawImage(img, item.positionVO.x, item.positionVO.y, item.positionVO.w, item.positionVO.h, 0, 0,
|
||||||
120,
|
120,
|
||||||
120);
|
120);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 获取任务列表
|
// 获取任务列表
|
||||||
commonGetTaskList() {
|
commonGetTaskList() {
|
||||||
this.$http.post("/control/tasklist", {
|
this.$http.post("/control/tasklist", {
|
||||||
"pageNo": 1,
|
"pageNo": 1,
|
||||||
"pageSize": 9999,
|
"pageSize": 9999,
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.data.code == 0) {
|
if (res.data.code == 0) {
|
||||||
this.taskList = []
|
this.taskList = []
|
||||||
let taskList = res.data.data.records
|
let taskList = res.data.data.records
|
||||||
taskList.forEach(item => {
|
taskList.forEach(item => {
|
||||||
this.taskList.push({
|
this.taskList.push({
|
||||||
label: item.taskName,
|
label: item.taskName,
|
||||||
value: item.taskNo
|
value: item.taskNo
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 获取摄像头列表
|
// 获取摄像头列表
|
||||||
commonGetCameraList(taskId) {
|
commonGetCameraList(taskId) {
|
||||||
this.$http.get(`/control/gettaskcamera/${taskId}`).then(res => {
|
this.$http.get(`/control/gettaskcamera/${taskId}`).then(res => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
if (res.data.code == 0) {
|
if (res.data.code == 0) {
|
||||||
let cameraList = res.data.data
|
let cameraList = res.data.data
|
||||||
cameraList.forEach(item => {
|
cameraList.forEach(item => {
|
||||||
this.cameraOptions.push({
|
this.cameraOptions.push({
|
||||||
label: item.cameraName,
|
label: item.cameraName,
|
||||||
value: item.idFaceCamera
|
value: item.idFaceCamera
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 预警地图模式
|
// 预警地图模式
|
||||||
openMapClick() {
|
openMapClick() {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.mapRef.init()
|
this.$refs.mapRef.init()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 地图模式回调
|
// 地图模式回调
|
||||||
mapRefClick() {}
|
mapRefClick() {}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
i {
|
i {
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-family: "Noto Sans SC";
|
font-family: "Noto Sans SC";
|
||||||
}
|
}
|
||||||
|
|
||||||
.conditions-div {
|
.conditions-div {
|
||||||
background-color: #FFF;
|
background-color: #FFF;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.conditions-div>>>.el-form-item {
|
.conditions-div>>>.el-form-item {
|
||||||
margin: 10px
|
margin: 10px
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
Loading…
Reference in New Issue