anxiao_web/pages/newIntelligenceEarlyWarning/js/showPoliceAlarm.js

359 lines
9.7 KiB
JavaScript
Raw Normal View History

2024-07-24 09:22:32 +08:00
import { getFaceAlarmStationSummary } from "../api/getFaceAlarmStationSummary.js";
import { getFaceAlarmBlacklistSummary } from "../api/getFaceAlarmBlacklistSummary.js";
import { layuiObj,eventMap} from "./index.js";
import {drawAlarmEventMarker} from "./marker/schoolMarker.js";
import { brigade } from "../../../public/js/url.js";
import { getPoliceAlarm } from "../api/getPoliceAlarm.js";
import { getPersonBlackList } from "../api/getPersonInfo.js";
import { getTime } from "./time.js";
import { timestampFormatTime } from "../../../public/js/timestamp.js";
import { stationurl } from "../../../public/js/url.js";
let policeAlarmList=[];
let policeAlarmItemList=[];//保存的是每一条记录
var currentStation="";
var polygonArr=[];
//按照学校统计天网的告警
function showPoliceAlarm(){
var reqdata={
brigade,
pageindex: 0,
pagesize: 2000,
year:(new Date().getFullYear()).toString(),
month:(new Date().getMonth()+1).toString(),
day:(new Date().getDate()).toString()
}
getFaceAlarmStationSummary(reqdata).then(res=>{
var code=res["data"]["code"];
if(code==0){
var data=res["data"]["data"];
if(data!=null){
policeAlarmList=data;
policeAlarmList.reverse();
}
}
showPoliceAlarmDiv();
})
}
//按照人员的统计
function showPersonPoliceAlarm(){
var reqdata={
brigade,
pageindex: 0,
pagesize: 2000,
year:(new Date().getFullYear()).toString(),
month:(new Date().getMonth()+1).toString(),
day:(new Date().getDate()).toString()
}
getFaceAlarmBlacklistSummary(reqdata).then(res=>{
var code=res["data"]["code"];
if(code==0){
var data=res["data"]["data"];
if(data!=null){
policeAlarmList=data;
policeAlarmList.reverse();
}
}
showPoliceAlarmDiv();
})
}
function showPoliceAlarmDiv(){
var div="";
for(var i=0;i<policeAlarmList.length;i++){
div+=getAlarmPersonInfoDiv(policeAlarmList[i],"broadCast");
}
$(".warnInfoListall").html(div);
layuiObj["layuiForm"].render(null,"policeAlarmForm")
addAlarmEventClick();
}
function addAlarmEventClick(){
$(".warnInfoListall>div").on('click',function(){
var eventId=$(this).attr("eventId");
var type=$(this).attr("type");
currentStation=eventId
if(type=="station"){
var reqData={
station:eventId,
}
}else{
var reqData={
certificateNumber:eventId,
}
}
var time=getTime();
reqData["pageindex"]=0;
reqData["pagesize"]=2000
reqData["start"]=time["startTime"]
reqData["end"]=time["endTime"]
getPoliceAlarm(reqData).then(res=>{
console.log(res);
var code=res["data"]["code"];
if(code==0){
var data=res["data"]["data"]
if(data!=null){
policeAlarmItemList=data;
policeAlarmItemList.reverse();
drawAlarmEventMarker(data);
showSchoolInfoBox(data,type)
}
}
})
})
}
function openPoliceAlarm(item){
layuiObj.layer.open({
type: 1,
title: "天网预警", //不显示标题栏
area: ['auto','auto'],
shade: 0.6,
id:new Date().getTime(), //设定一个id防止重复弹出
btnAlign: 'c',
moveType: 1, //拖拽模式0或者1
content: `<div style="padding:10px;color:#fff;background:#032357;height:calc(100% - 20px);overflow-y:auto;" class="aIBehavioralPop">
${showPoliceAlarmItemDetail(item)}
</div>`,
success: function(layero){
console.log(item);
}
});
}
//显示学校信息
function showStationInfo(list){
var item=list[0];
return `
<div>
<p>
<span>学校名称:</span>
<span>${item["station"]}</span>
</p>
</div>
<div>
<p>
<span>派出所:</span>
<span>${item["borough"]}</span>
</p>
<p>
<span>警务区:</span>
<span>${item["detachment"]}</span>
</p>
<p>
<span>次数:</span>
<span>${list.length}</span>
</p>
</div>`;
}
//获取人员信息
async function getPersonInfo(){
var data={
personId:currentStation
}
var personInfoReq= await getPersonBlackList(data)
var imageUrl="";
var groupType="";
var genderName="";
if(personInfoReq["data"]["data"].length>0){
var personInfoObj=personInfoReq["data"]["data"][0];
imageUrl=stationurl+personInfoObj["imageUrl"]
groupType=personInfoObj["groupType"]
genderName=personInfoObj["genderName"]
}
return {
imageUrl,
groupType,
genderName
}
}
//显示人员信息
async function showPersonInfo(list){
getPersonInfo().then(res=>{
console.log(res);
var item=list[0];
var blackType=item["certificateTypeName"]
var idNumber=item["certificateNumber"];
var blackName=item["personName"];
var div=`
<img src="${res["imageUrl"]}">
<div>
<p>
<span>${blackType}:</span>
<span>${blackName}/${idNumber}</span>
</p>
<p>
<span>性别:</span>
<span>${res["genderName"]}</span>
</p>
<p>
<span>类型:</span>
<span>${res["groupType"]}</span>
</p>
<p>
<span>出现次数:</span>
<span>${list.length}</span>
</p>
</div>`;
$(".schoolInfoBox").html(div)
})
}
function showSchoolInfoBox(list,type){
if(type=="station"){
$(".mainContentR_top>p:nth-child(1)").html("学校信息:"+currentStation)
var div=showStationInfo(list);
$(".schoolInfoBox").html(div)
}else if(type=="person"){
$(".mainContentR_top>p:nth-child(1)").html("人员信息:"+currentStation)
showPersonInfo(list)
}
showSchoolWarnAlarmInfo(list);
}
function getAlarmPersonInfoDiv(item,type){
var alarmCount=item["alarmCount"];
if("personId" in item){
var text=item["personId"]
var type="person";
}
if("station" in item){
var text=item["station"];
var type="station";
}
var lastPicUrl=item["lastPicUrl"];
var lastTimestamp=item["lastTimestamp"];
var div="";
div+=`<div eventId="${text}" type="${type}">
<p>
<img src="${lastPicUrl}" alt="">
</p>
<div>
<p>
<span>[${text}]</span>
<span>${alarmCount}</span>
</p>
<p>
<span>最后一次时间:</span>
<span>${lastTimestamp}</span>
</p>
</div>
</div>`;
return div;
}
function showSchoolWarnAlarmInfo(arr){
var div="";
for(var i=0;i<arr.length;i++){
div+=showPoliceAlarmItem(arr[i],"");
}
$(".currentSchoolAlarmListAllBox").html(div);
addPoliceAlarmItemEvent();
}
//显示每一条记录
function showPoliceAlarmItem(item){
var personLibName=item["personLibName"];
var alarmTime=timestampFormatTime(new Date(item["alarmTime"]).getTime());
var address=item["cameraName"];
var alarmId=item["alarmId"];
var pic=item["snappedPicUrl"]
return `
<div alarmId='${alarmId}'>
<p>
<img src="${pic}" alt="">
</p>
<div>
<p>
<span>[${personLibName}]</span>
<span></span>
</p>
<p>
<span>告警时间:</span>
<span>${alarmTime}</span>
</p>
<p>
<span>位置:</span>
<span>${address}</span>
</p>
<p>
<button class="layui-btn layui-btn-normal policeDetailBtn">详情</button>
</p>
</div>
</div>`;
}
function addPoliceAlarmItemEvent(){
$(".policeDetailBtn").on('click',function(){
var alarmId=$(this).parent().parent().parent().attr("alarmId");
for(var i=0;i<policeAlarmItemList.length;i++){
if(alarmId==policeAlarmItemList[i]["alarmId"]){
openPoliceAlarm(policeAlarmItemList[i]);
break;
}
}
})
}
function showPoliceAlarmItemDetail(item){
var personLibName=item["personLibName"];
var alarmTime=timestampFormatTime(new Date(item["alarmTime"]).getTime());
var address=item["cameraName"];
var alarmId=item["alarmId"];
var pic=item["snappedPicUrl"]
return `
<div alarmId='${alarmId}'>
<p>
<img src="${pic}" alt="">
</p>
<div>
<p>
<span>[${personLibName}]</span>
<span></span>
</p>
<p>
<span>告警时间:</span>
<span>${alarmTime}</span>
</p>
<p>
<span>位置:</span>
<span>${address}</span>
</p>
</div>
</div>`;
}
function emptyPoygon(){
for(var i=0;i<polygonArr.length;i++){
eventMap.removeLayer(polygonArr[i])
}
}
export {
showPoliceAlarm,
showPersonPoliceAlarm,
policeAlarmList,
emptyPoygon
}