339 lines
9.2 KiB
JavaScript
339 lines
9.2 KiB
JavaScript
let layer;
|
|
let zNodes1 = [];
|
|
let storageMode = "平台存储";
|
|
let typeQuery = 'videoQuery';
|
|
let typeStorage;
|
|
let eventType = 0;
|
|
localStorage.removeItem("ballIndex");
|
|
localStorage.removeItem("puid");
|
|
localStorage.removeItem("userId");
|
|
// 勾选展示-全局变量
|
|
let ballsList = [],checkBallsList = [],noCheckBallsList = [],parentId;
|
|
layui.use(['element', 'form', 'tree', 'layer'], function () {
|
|
let element = layui.element;
|
|
let form = layui.form;
|
|
let tree = layui.tree;
|
|
layer = layui.layer;
|
|
|
|
// initTypeSelect();
|
|
storageType(0);
|
|
queryType(typeQuery)
|
|
|
|
});
|
|
$("#selectType").change(function () {
|
|
localStorage.removeItem("ballIndex");
|
|
localStorage.removeItem("puid");
|
|
localStorage.removeItem("userId");
|
|
let ifr = $('#ifr');
|
|
let val = $("#selectType").val();
|
|
if (val === "设备上下线") {
|
|
eventType = 0;
|
|
initTreeData();
|
|
ifr.attr("src", "eventQueryDeviceList.html");
|
|
} else if (val === "用户登录登出") {
|
|
userTree();
|
|
eventType = 1;
|
|
ifr.attr("src", "eventQueryUserList.html");
|
|
}
|
|
});
|
|
|
|
/**
|
|
* 选择存储类型
|
|
*/
|
|
function storageType(type) {
|
|
let ifr = $('#ifr');
|
|
localStorage.removeItem("ballIndex");
|
|
localStorage.removeItem("puid");
|
|
localStorage.removeItem("userId");
|
|
typeStorage = type;
|
|
if (type === 1) {
|
|
$('#eventRecordQuery').hide();
|
|
ifr.attr("src", "videoQueryWebList.html");
|
|
} else {
|
|
$('#eventRecordQuery').show();
|
|
ifr.attr("src", "videoQueryList.html");
|
|
}
|
|
|
|
|
|
}
|
|
|
|
/**
|
|
* 选择存储数据类型
|
|
*/
|
|
function queryType(t) {
|
|
setTimeout("initTreeData()", 2000);
|
|
localStorage.removeItem("ballIndex");
|
|
localStorage.removeItem("puid");
|
|
localStorage.removeItem("userId");
|
|
let ifr = $('#ifr');
|
|
$.each($('.query'), function (index, item) {
|
|
$(item).removeClass("selectedContent")
|
|
});
|
|
typeQuery = t;
|
|
$("#" + t).addClass("selectedContent");
|
|
//平台存储
|
|
if (typeStorage === 0) {
|
|
switch (typeQuery) {
|
|
case "videoQuery":
|
|
$('#seltecTypeDiv').hide();
|
|
ifr.attr("src", "videoQueryList.html");
|
|
break;
|
|
case "pictureQuery":
|
|
$('#seltecTypeDiv').hide();
|
|
ifr.attr("src", "pictureQuery.html");
|
|
break;
|
|
case "eventRecordQuery":
|
|
$('#seltecTypeDiv').show();
|
|
if (eventType === 0) {
|
|
ifr.attr("src", "eventQueryDeviceList.html");
|
|
} else {
|
|
ifr.attr("src", "eventQueryUserList.html");
|
|
}
|
|
break;
|
|
}
|
|
|
|
}
|
|
//前端存储
|
|
if (typeStorage === 1) {
|
|
switch (typeQuery) {
|
|
case "videoQuery":
|
|
ifr.attr("src", "videoQueryWebList.html");
|
|
break;
|
|
case "pictureQuery":
|
|
ifr.attr("src", "pictureQueryWeb.html");
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
/*function initTypeSelect() {
|
|
$.ajax({
|
|
url: ctxPath + "/base/getOrgListByUserId",
|
|
type: "POST",
|
|
data: {token: token},
|
|
success: function (data) {
|
|
if (data.resMsg === 'success') {
|
|
let str = '';
|
|
for (let i = 0; i < data.obj.length; i++) {
|
|
if (i === 0) {
|
|
str += '<option value=\'' + data.obj[i].id + '\' selected>' + data.obj[i].name + '</option>';
|
|
} else {
|
|
str += '<option value=\'' + data.obj[i].id + '\'>' + data.obj[i].name + '</option>';
|
|
}
|
|
}
|
|
$("#typeSelect").html(str);
|
|
}
|
|
}, error: function (error) {
|
|
}
|
|
});
|
|
$("#typeSelect").bind("change", function () {
|
|
if (eventType === 0) {
|
|
initTreeData();
|
|
} else {
|
|
userTree();
|
|
}
|
|
|
|
});
|
|
}*/
|
|
// 勾选展示
|
|
/*function isCheck(_that){
|
|
if($(_that).is(':checked')) {
|
|
checkBallsList.splice(0,checkBallsList.length);
|
|
if(ballsList.length){
|
|
ballsList.forEach(item=>{
|
|
if(item.name === '施工单位' || item.name === '建设单位' || item.puid || item.userId){
|
|
if(item.name !== '施工单位' && item.name !== '建设单位'){
|
|
item.pId = parentId;
|
|
checkBallsList.push(item);
|
|
}else{
|
|
checkBallsList.push(item);
|
|
}
|
|
}
|
|
})
|
|
}
|
|
$.fn.zTree.init($("#resourceTree"), setting1, checkBallsList);
|
|
}else{
|
|
$.fn.zTree.init($("#resourceTree"), setting1, noCheckBallsList);
|
|
}
|
|
}*/
|
|
//树的设置
|
|
let setting1 = {
|
|
view: {
|
|
selectedMulti: true,
|
|
},
|
|
data: {
|
|
simpleData: {
|
|
enable: true
|
|
}
|
|
},
|
|
edit: {
|
|
enable: false,
|
|
},
|
|
callback: {
|
|
onClick: onTreeClick,
|
|
// 点击前
|
|
beforeClick: beforeClick,
|
|
// 不允许拖拽
|
|
beforeDrag: beforeDrag,
|
|
}
|
|
};
|
|
|
|
function beforeClick(treeId, treeNode) {
|
|
return true;
|
|
}
|
|
|
|
//不允许拖拽
|
|
function beforeDrag(treeId, treeNodes) {
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* 获取树数据
|
|
*/
|
|
function initTreeData() {
|
|
let dialog = showDialog();
|
|
$.ajax({
|
|
url: dataUrl + 'video/getBallTreeData',
|
|
type: "POST",
|
|
data: {
|
|
},
|
|
success: function (data) {
|
|
if (data.resMsg === 'success') {
|
|
treeData = data;
|
|
let dataTree = parseTreeData(data.obj);
|
|
let nodes = zNodes1.concat(dataTree);
|
|
// isCheck($('.check_show'));
|
|
$.fn.zTree.init($("#resourceTree"), setting1, nodes);
|
|
}
|
|
}, error: function (error) {
|
|
}
|
|
})
|
|
layer.close(dialog);
|
|
}
|
|
|
|
|
|
//平台存储,事件记录查询 设备上下线
|
|
function userTree() {
|
|
let dialog = showDialog();
|
|
let orgId = $("#typeSelect").find("option:selected").val();
|
|
$.ajax({
|
|
url: ctxPath + "/downLoad/getUserTreeByOrgId",
|
|
type: "POST",
|
|
data: {
|
|
orgId: orgId,
|
|
token: token,
|
|
name: ""
|
|
},
|
|
success: function (data) {
|
|
if (data.resMsg === 'success') {
|
|
treeData = data;
|
|
let dataTree = parseTreeData(data.obj);
|
|
let nodes = zNodes1.concat(dataTree);
|
|
// isCheck($('.check_show'));
|
|
// $.fn.zTree.init($("#resourceTree"), setting1, nodes);
|
|
}
|
|
}, error: function (error) {
|
|
console.log("树查询:" + error)
|
|
}
|
|
})
|
|
layer.close(dialog);
|
|
}
|
|
|
|
/**
|
|
* 树点击事件
|
|
* @param event
|
|
* @param treeId
|
|
* @param treeNode
|
|
* @param clickFlag
|
|
*/
|
|
function onTreeClick(event, treeId, treeNode, clickFlag) {
|
|
localStorage.removeItem("ballIndex");
|
|
localStorage.removeItem("puid");
|
|
localStorage.removeItem("userId");
|
|
let ifr = $("#ifr");
|
|
let ballIndex = treeNode.ballIndex;
|
|
let puid = treeNode.puid;
|
|
let userId = treeNode.userId;
|
|
localStorage.setItem("ballIndex", ballIndex);
|
|
localStorage.setItem("puid", puid);
|
|
localStorage.setItem("userId", userId);
|
|
//平台存储
|
|
if (typeStorage === 0) {
|
|
switch (typeQuery) {
|
|
case "videoQuery":
|
|
ifr.attr("src", "videoQueryList.html");
|
|
break;
|
|
case "pictureQuery":
|
|
ifr.attr("src", "pictureQuery.html");
|
|
break;
|
|
}
|
|
|
|
}
|
|
//前端存储
|
|
if (typeStorage === 1) {
|
|
switch (typeQuery) {
|
|
case "videoQuery":
|
|
ifr.attr("src", "videoQueryWebList.html");
|
|
break;
|
|
case "pictureQuery":
|
|
ifr.attr("src", "pictureQueryWeb.html");
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
// 解析球机视频/移动视频树
|
|
function parseTreeData(data) {
|
|
let onlineNum = 0;
|
|
let noOnlineNum = 0;
|
|
for (var i = 0; i < data.length; i++) {
|
|
|
|
if(data[i].ballType == '1'){ //球机
|
|
var isOnline = data[i].status;
|
|
if(isOnline == '1'){
|
|
data[i].icon = "../../../img/video/selected/camera.png";
|
|
onlineNum++;
|
|
}else if(isOnline == '0'){
|
|
data[i].icon = "../../../img/video/noselected/camera.png";
|
|
noOnlineNum ++
|
|
}
|
|
}else if(data[i].ballType == '2'){ //安全帽
|
|
var isOnline = data[i].status;
|
|
if(isOnline == '1'){
|
|
data[i].icon = "../../../img/video/safetyHat.png";
|
|
onlineNum++;
|
|
}else if(isOnline == '0'){
|
|
data[i].icon = "../../../img/video/";
|
|
noOnlineNum ++
|
|
}
|
|
}else if(data[i].ballType == '3'){ //执法仪
|
|
var isOnline = data[i].status;
|
|
if(isOnline == '1'){
|
|
data[i].icon = "../../../img/video/Recorder.png";
|
|
onlineNum++;
|
|
}else if(isOnline == '0'){
|
|
data[i].icon = "../../../img/video/";
|
|
noOnlineNum ++
|
|
}
|
|
}
|
|
}
|
|
$("#onlineBall").html("在线:" + onlineNum);
|
|
$("#noOnlineBall").html("离线:" + noOnlineNum);
|
|
$("#allBall").html("总数:" + (onlineNum + noOnlineNum));
|
|
ballsList.splice(0,ballsList.length);
|
|
noCheckBallsList.splice(0,noCheckBallsList.length);
|
|
if(data && data.length){
|
|
data.forEach(item=>{
|
|
ballsList.push(item);
|
|
noCheckBallsList.push(JSON.parse(JSON.stringify(item)));
|
|
})
|
|
}
|
|
return data;
|
|
}
|
|
|
|
function showDialog() {
|
|
return layer.load(1, {
|
|
icon: 2,
|
|
shade: [0.5, 'transparent']
|
|
});
|
|
} |