204 lines
6.7 KiB
JavaScript
204 lines
6.7 KiB
JavaScript
let layer, form, util, dtree, videoTree, flow;
|
|
let pageNum = 1, pageSize = 10; // 定义分页
|
|
let _this = null;
|
|
let scheduledTask2 = false;
|
|
layui.config({
|
|
base: "../../plugin/layui-v2.9.7/layui/dtree/", //此处路径请自行处理, 可以使用绝对路径
|
|
}).extend({
|
|
dtree: 'dtree'
|
|
}).use(['layer', 'form', 'dtree', 'util', 'flow'], function () {
|
|
form = layui.form;
|
|
layer = layui.layer;
|
|
dtree = layui.dtree;
|
|
flow = layui.flow;
|
|
dtree.on("node('video-tree')", function (obj) {
|
|
if (obj.param.level === '1') {
|
|
return parent.layer.msg('请选择球机', { icon: 7, offset: 't' });
|
|
}
|
|
let id = $(this).find('span').attr('id');
|
|
let online = $(this).find('span').attr('online');
|
|
let bZero = $(this).find('span').attr('bZero');
|
|
if (online === '0') {
|
|
return parent.layer.msg('设备离线', { icon: 7, offset: 't' });
|
|
}
|
|
clickStartRealPlay('undefined', id, bZero);
|
|
});
|
|
// 登录海康平台
|
|
setTimeout(() => {
|
|
clickLogin(1);
|
|
}, 1000);
|
|
dataFlow({
|
|
pageNum: pageNum,
|
|
pageSize: pageSize,
|
|
bidCode: parent.$('#bidPro').val()
|
|
});
|
|
$("#ID-flow-demo").niceScroll({ cursorborder: "", cursorcolor: "#c0c4cc", boxzoom: true });
|
|
$("#video-tree").niceScroll({ cursorborder: "", cursorcolor: "#c0c4cc", boxzoom: true });
|
|
timedRefresh2();
|
|
});
|
|
|
|
// 刷新数据-十分钟刷新一次
|
|
function timedRefresh2() {
|
|
if (scheduledTask2) {
|
|
$('#ID-flow-demo').empty();
|
|
layer.msg('刷新了');
|
|
dataFlow({
|
|
pageNum: 1,
|
|
pageSize: pageSize,
|
|
bidCode: parent.$('#bidPro').val()
|
|
});
|
|
} else {
|
|
scheduledTask2 = true;
|
|
}
|
|
setTimeout(timedRefresh2, 1000 * 60 * 10);
|
|
}
|
|
|
|
|
|
|
|
// 切换播放窗口数量
|
|
function changeVideoWindow(value) {
|
|
$('.toggle-btn button').each(function (index, item) {
|
|
$(this).removeClass();
|
|
if ((index + 1) === value) {
|
|
$(this).addClass('checkBtn')
|
|
} else {
|
|
$(this).addClass('nocheckBtn')
|
|
}
|
|
})
|
|
changeWndNum(value);
|
|
}
|
|
|
|
/**数据流加载*/
|
|
function dataFlow(queryParams) {
|
|
flow.load({
|
|
elem: '#ID-flow-demo', // 流加载容器
|
|
scrollElem: '#ID-flow-demo', // 滚动条所在元素,一般不用填,此处只是演示需要。
|
|
end: '数据加载完毕',
|
|
direction: 'bottom',
|
|
done: function (page, next) { // 执行下一页的回调
|
|
console.error(page);
|
|
pageNum = page;
|
|
let lis = [];
|
|
queryParams.pageNum = page;
|
|
let returnData = loadData(queryParams);
|
|
if (returnData != null) {
|
|
lis = initImgData(returnData.data)
|
|
next(lis.join(''), page < returnData.count / pageSize);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
/**加载图片数据*/
|
|
function loadData(queryParams) {
|
|
let returnData = null;
|
|
let paramData = 'bidCode=' + queryParams.bidCode + '&page=' + queryParams.pageNum + '&limit=' + queryParams.pageSize;
|
|
let montageParam = aqEnnable ? encryptCBC(paramData) : ' &' + encryptCBC(paramData);
|
|
const url = commonUrl + "screen/largeScreen/constrDisplay/getCameraImage?params=" + montageParam;
|
|
ajaxRequestGet(url, "GET", false, function () {
|
|
}, function (result) {
|
|
if (result.code === 0) {
|
|
console.log(result)
|
|
returnData = result;
|
|
} else if (result.code === 500) {
|
|
layer.msg(result.msg, { icon: 2 });
|
|
}
|
|
}, function (xhr, status, error) {
|
|
error(xhr, status, error)
|
|
}, aqEnnable);
|
|
return returnData;
|
|
}
|
|
|
|
/**渲染图片*/
|
|
function initImgData(list) {
|
|
let htmlArr = [];
|
|
if (list && list.length > 0) {
|
|
$.each(list, function (index, item) {
|
|
let filePath = imgUrl + item.image + "?token=" + sessionStorage.getItem("zhgd_token");
|
|
htmlArr.push("<div class='img-info' onclick='handleData(this," + JSON.stringify(item) + ")'>" +
|
|
" <div class='imgData layout'>\n" +
|
|
" <img src='" + filePath + "'>" +
|
|
" </div>" +
|
|
" <div class='imgData2 layout'>" +
|
|
" <p>" + item.createTime + "</p>" +
|
|
" <p class='img-color" + (item.isSure) + "'>" + (item.isSure === '0' ? '未确认' : item.isSure === '1' ? '已确认' : '系统误判') + "</p>" +
|
|
" </div>" +
|
|
" <div class='imgData3 layout'>" +
|
|
" <p>今日无作业票</p>" +
|
|
" </div>" +
|
|
" <div class='imgData4 layout'>" +
|
|
" <p>现场有人员逗留,请确认!</p>" +
|
|
" </div>" +
|
|
" </div>");
|
|
})
|
|
}
|
|
return htmlArr;
|
|
}
|
|
|
|
function handleData(that, obj) {
|
|
hidPlugin();
|
|
_this = that;
|
|
let isSure = $(that).attr('isSure');
|
|
let remark = $(that).attr('remark');
|
|
if (isSure) {
|
|
obj.isSure = isSure;
|
|
}
|
|
if (remark) {
|
|
obj.remark = remark;
|
|
}
|
|
openIframeByParamObj("handleData", "无计划预警信息", "./handleWarnInfo.html", "72%", "95%", obj, 1);
|
|
}
|
|
|
|
function changeData(str) {
|
|
let obj = JSON.parse(str);
|
|
console.error(obj);
|
|
$(_this).attr('isSure', obj.isSure);
|
|
$(_this).attr('remark', obj.remark);
|
|
$(_this).find('.imgData2').find('p').eq(1).html(obj.isSure === '1' ? '已确认' : '系统误判');
|
|
$(_this).find('.imgData2').find('p').eq(1).attr('class', obj.isSure === '1' ? 'img-color1' : 'img-color2');
|
|
}
|
|
|
|
// 查看更多
|
|
function moreData() {
|
|
hidPlugin();
|
|
openIframeByParamObj("moreData", "无计划预警信息", "./moreData.html", "72%", "95%", {}, 1);
|
|
}
|
|
|
|
// 监听是否离开视频播放页面
|
|
/* window.addEventListener('pagehide', async function (event) {
|
|
if (event.persisted) {
|
|
// 页面被存入bfcache
|
|
// 页面完全卸载
|
|
await saveImportantData();
|
|
} else {
|
|
// 页面完全卸载
|
|
// 执行异步操作
|
|
await saveImportantData();
|
|
}
|
|
}); */
|
|
|
|
/* window.addEventListener('beforeunload', async function (event) {
|
|
// 阻止默认行为以延迟页面卸载
|
|
event.preventDefault();
|
|
try {
|
|
// 执行异步操作
|
|
await saveImportantData();
|
|
|
|
// 操作完成后允许页面卸载
|
|
event.returnValue = true;
|
|
} catch (error) {
|
|
console.error('保存失败:', error);
|
|
// 可以选择显示错误或阻止离开
|
|
event.returnValue = '数据保存失败,请稍后再试';
|
|
}
|
|
});
|
|
|
|
async function saveImportantData() {
|
|
// 模拟异步保存操作
|
|
return new Promise((resolve) => {
|
|
stopAllPlay();
|
|
clickLogout();
|
|
destroyPlugin();
|
|
resolve();
|
|
});
|
|
} */ |