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("
" + "
\n" + " " + "
" + "
" + "

" + item.createTime + "

" + "

" + (item.isSure === '0' ? '未确认' : item.isSure === '1' ? '已确认' : '系统误判') + "

" + "
" + "
" + "

今日无作业票

" + "
" + "
" + "

现场有人员逗留,请确认!

" + "
" + "
"); }) } 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(); }); } */