hb_zhgd_screen/js/pages/accessMge/accessMge.js

457 lines
16 KiB
JavaScript

let layer, table, form, laydate;
const bidCode = parent.$('#bidPro').val();
layui.use(['layer', 'table', 'form', 'laydate'], function () {
layer = layui.layer;
table = layui.table;
form = layui.form;
laydate = layui.laydate;
// 响应成功后的拦截器
$.ajaxSetup({
beforeSend: function(xhr, options) {
var originalSuccess = options.success
options.success = function(data, textStatus, jqXhr) {
data = modifyResponseData(data);
// success(data,textStatus, jqXhr);
originalSuccess.apply(this, arguments)
}
}
})
//时间范围设置
laydate.render({
elem: '#date1',
range: true,
type: 'date',
range: true,
format: 'yyyy-MM-dd',
max: Date.parse(new Date()),
});
// $('#date1').val(getNowTime() + " - " + getNowTime())
//时间范围设置
laydate.render({
elem: '#date2',
range: true,
type: 'date',
range: true,
format: 'yyyy-MM-dd',
max: Date.parse(new Date()),
});
// $('#date2').val(getNowTime() + " - " + getNowTime())
//今日、当月车辆出入场统计
getVehicleStatistics();
// //今日、当月车辆出入场统计图片
getVehicleStatisticsPhoto("1", "1");
// //今日、当月车辆出入场统计列表
getVehicleStatisticsList(bidCode);
// //今日、当月人员出入场统计
getPerStatistics();
// //今日、当月人员出入场统计图片
getPerStatisticsPhoto("1", "1");
// //今日、当月人员出入场统计列表
getPerStatisticsList(bidCode);
});
function getVehicleStatistics() {
let paramData = 'bidCode=' + bidCode + '&roleCode=' + roleCode + '&orgId=' + orgId + '&userId=' + userId;
let montageParam = aqEnnable ? encryptCBC(paramData) : ' &' + encryptCBC(paramData);
const url = commonUrl + "screen/largeScreen/accessMge/getVehicleStatistics?params=" + montageParam; // url
ajaxRequestGet(url, "GET", true, function () {
}, function (result) {
if (result.code === 200) {
if (result.data && result.data.length > 0) {
//今日、当月车辆出入场统计
getStatistics(result.data)
} else {
//今日、当月车辆出入场统计
getStatistics("")
}
} else if (result.code === 500) {
layer.msg(result.msg, { icon: 2 });
}
}, function (xhr, status, error) {
error(xhr, status, error)
}, aqEnnable);
}
function getStatistics(data) {
if (data != "") {
var jtrNum = handleData(data[0].jtrNum);
var jrcNum = handleData(data[0].jrcNum);
var dyrNum = handleData2(data[0].dyrNum);
var dycNum = handleData2(data[0].dycNum);
} else {
var jtrNum = "000";
var jrcNum = "000";
var dyrNum = "0000";
var dycNum = "0000";
}
const jtrNums = jtrNum.split("").map(Number);
document.getElementById("oner").textContent = jtrNums[0];
document.getElementById("twor").textContent = jtrNums[1];
document.getElementById("threer").textContent = jtrNums[2];
const jrcNums = jrcNum.split("").map(Number);
document.getElementById("onec").textContent = jrcNums[0];
document.getElementById("twoc").textContent = jrcNums[1];
document.getElementById("threec").textContent = jrcNums[2];
const dyrNums = dyrNum.split("").map(Number);
document.getElementById("onesr").textContent = dyrNums[0];
document.getElementById("twosr").textContent = dyrNums[1];
document.getElementById("threesr").textContent = dyrNums[2];
document.getElementById("foursr").textContent = dyrNums[3];
const dycNums = dycNum.split("").map(Number);
document.getElementById("onesc").textContent = dycNums[0];
document.getElementById("twosc").textContent = dycNums[1];
document.getElementById("threesc").textContent = dycNums[2];
document.getElementById("foursc").textContent = dycNums[3];
// var s = "../../img/video/voi_photo4.png";
// var htmls = '<img src ="' + s + '" alt="" style="height:100%;width:100%; margin-top:5%" />';
// $('#photo').empty().append(htmls);
}
// 数据处理
function handleData(value) {
if (parseInt(value) > 0 && parseInt(value) < 10) {
return '00' + value;
} else if (parseInt(value) >= 10 && parseInt(value) < 100) {
return '0' + value;
} else if (parseInt(value) >= 100 && parseInt(value) < 1000) {
return value;
} else {
return '000';
}
}
// 数据处理2
function handleData2(value) {
if (parseInt(value) > 0 && parseInt(value) < 10) {
return '000' + value;
} else if (parseInt(value) >= 10 && parseInt(value) < 100) {
return '00' + value;
} else if (parseInt(value) >= 100 && parseInt(value) < 1000) {
return '0' + value;
} else if (parseInt(value) >= 1000 && parseInt(value) < 10000) {
return value;
} else {
return '0000';
}
}
function getVehicleStatisticsPhoto(accessType, timeType) {
let paramData = 'bidCode=' + bidCode + '&roleCode=' + roleCode + '&orgId=' + orgId + '&userId=' + userId + '&accessType=' + accessType + '&timeType=' + timeType;
let montageParam = aqEnnable ? encryptCBC(paramData) : ' &' + encryptCBC(paramData);
const url = commonUrl + "screen/largeScreen/accessMge/getVehicleStatisticsPhoto?params=" + montageParam; // url
ajaxRequestGet(url, "GET", true, function () {
}, function (result) {
let html = '';
if (result.code === 200) {
if (result.data && result.data.length > 0) {
var s = "https://unpkg.com/outeres/demo/carousel/720x360-1.jpg";
var a = "sss";
$.each(result.data, function (index, item) {
html += '<div class="abnormalAlarmImg">';
html += '<img src ="' + s + '" alt="" style="height:100%;width:100%; margin-top:5%" />';
html += '<span>' + a + '</span>';
html += '</div>';
})
} else {
html += '<div style="color:#71757B;">今日无告警</div>'
// html += '<div class="abnormalAlarmImg">';
// html += '<img src ="../../img/video/voi_photo.png" alt="" style="height:85%;width:100%; margin-top:5%" />';
// html += '<span>告警1</span>';
// html += '</div>';
//
// html += '<div class="abnormalAlarmImg">';
// html += '<img src ="../../img/video/voi_photo2.png" alt="" style="height:85%;width:100%; margin-top:5%" />';
// html += '<span>告警2</span>';
// html += '</div>';
//
// html += '<div class="abnormalAlarmImg">';
// html += '<img src ="../../img/video/voi_photo3.png" alt="" style="height:85%;width:100%; margin-top:5%" />';
// html += '<span>告警3</span>';
// html += '</div>';
//
// html += '<div class="abnormalAlarmImg">';
// html += '<img src ="../../img/video/voi_photo4.png" alt="" style="height:85%;width:100%; margin-top:5%" />';
// html += '<span>告警4</span>';
// html += '</div>';
}
} else if (result.code === 500) {
layer.msg(result.msg, { icon: 2 });
}
$('#abnormalAlarm').empty().append(html);
}, function (xhr, status, error) {
errorFn(xhr, status, error)
}, aqEnnable);
}
function getVehicleStatisticsList(bidCode) {
const url = commonUrl + "screen/largeScreen/accessMge/getVehicleStatisticsList";
table.render({
elem: '#demo1',
url: url,
skin: 'line',
page: true,
height: 'full-560',
headers: {
decrypt: "decrypt",
"Authorization": token
},
where: {
bidCode: bidCode,
proName: $('#proName1').val(),
carNum: $('#carNum1').val(),
date: $('#date1').val()
},
cols: [[
{ type: 'numbers', title: '序号' }, // 添加序号列
{ field: 'proName', title: '工程名称', align: 'center', width: '20%' },
{ field: 'carNum', title: '车牌号', align: 'center', width: '10%' },
{ field: 'userName', title: '司机', align: 'center', width: '10%' },
{ field: 'phone', title: '司机电话', align: 'center', width: '20%' },
{ field: 'accessType', title: '状态', align: 'center', width: '10%' },
{ field: 'accesssTime', title: '时间', align: 'center', width: '30%' }
]],
initComplete: function () {
// 在表格渲染完成后,重新渲染序号列
var that = this.elem.next();
var tool = that.children('.layui-table-box').children('.layui-table-fixed').children('.layui-table-body').children('.layui-table');
tool.find("tr").each(function (index, item) {
$(this).find('td[data-field="LAY_TABLE_INDEX"]').text(index + 1);
});
},
done: function (res, curr, count, origin) {
console.log(res);
}
})
}
function getPerStatistics() {
let paramData = 'bidCode=' + bidCode + '&roleCode=' + roleCode + '&orgId=' + orgId + '&userId=' + userId;
let montageParam = aqEnnable ? encryptCBC(paramData) : ' &' + encryptCBC(paramData);
const url = commonUrl + "screen/largeScreen/accessMge/getPerStatistics?params=" + montageParam; // url
ajaxRequestGet(url, "GET", true, function () {
}, function (result) {
if (result.code === 200) {
if (result.data && result.data.length > 0) {
getStatisticsPer(result.data)
} else {
getStatisticsPer("")
}
} else if (result.code === 500) {
layer.msg(result.msg, { icon: 2 });
}
}, function (xhr, status, error) {
errorFn(xhr, status, error)
setData(null);
}, aqEnnable);
}
function getStatisticsPer(data) {
let jtrNum = null, jrcNum = null, dyrNum = null, dycNum = null;
if (data != "") {
jtrNum = handleData(data[0].jtrNum);
jrcNum = handleData(data[0].jrcNum);
dyrNum = handleData2(data[0].dyrNum);
dycNum = handleData2(data[0].dycNum);
} else {
jtrNum = "000";
jrcNum = "000";
dyrNum = "0000";
dycNum = "0000";
}
const jtrNums = jtrNum.split("").map(Number);
document.getElementById("onerPer").textContent = jtrNums[0];
document.getElementById("tworPer").textContent = jtrNums[1];
document.getElementById("threerPer").textContent = jtrNums[2];
const jrcNums = jrcNum.split("").map(Number);
document.getElementById("onecPer").textContent = jrcNums[0];
document.getElementById("twocPer").textContent = jrcNums[1];
document.getElementById("threecPer").textContent = jrcNums[2];
const dyrNums = dyrNum.split("").map(Number);
document.getElementById("onesrPer").textContent = dyrNums[0];
document.getElementById("twosrPer").textContent = dyrNums[1];
document.getElementById("threesrPer").textContent = dyrNums[2];
document.getElementById("foursrPer").textContent = dyrNums[3];
const dycNums = dycNum.split("").map(Number);
document.getElementById("onescPer").textContent = dycNums[0];
document.getElementById("twoscPer").textContent = dycNums[1];
document.getElementById("threescPer").textContent = dycNums[2];
document.getElementById("fourscPer").textContent = dycNums[3];
// var s = "../../img/video/voi_photo4.png";
// var htmls = '<img src ="' + s + '" alt="" style="height:100%;width:100%; margin-top:5%" />';
// $('#photos').empty().append(htmls);
}
function getPerStatisticsPhoto(accessType, timeType) {
let paramData = 'bidCode=' + bidCode + '&roleCode=' + roleCode + '&orgId=' + orgId + '&userId=' + userId + '&accessType=' + accessType + '&timeType=' + timeType;
let montageParam = aqEnnable ? encryptCBC(paramData) : ' &' + encryptCBC(paramData);
const url = commonUrl + "screen/largeScreen/accessMge/getPerStatisticsPhoto?params=" + montageParam; // url
ajaxRequestGet(url, "GET", true, function () {
}, function (result) {
let html = '';
if (result.code === 200) {
if (result.data && result.data.length > 0) {
var s = "https://unpkg.com/outeres/demo/carousel/720x360-1.jpg";
var a = "sss";
$.each(result.data, function (index, item) {
html += '<div class="abnormalAlarmImg">';
html += '<img src ="' + s + '" alt="" style="height:95%;width:100%; margin-top:5%" />';
html += '<span>' + a + '</span>';
html += '</div>';
})
} else {
html += '<div style="color:#71757B;">暂无告警</div>'
// html += '<div class="abnormalAlarmImg">';
// html += '<img src ="../../img/video/voi_photo.png" alt="" style="height:85%;width:100%; margin-top:5%" />';
// html += '<span>告警1</span>';
// html += '</div>';
//
// html += '<div class="abnormalAlarmImg">';
// html += '<img src ="../../img/video/voi_photo2.png" alt="" style="height:85%;width:100%; margin-top:5%" />';
// html += '<span>告警2</span>';
// html += '</div>';
//
// html += '<div class="abnormalAlarmImg">';
// html += '<img src ="../../img/video/voi_photo3.png" alt="" style="height:85%;width:100%; margin-top:5%" />';
// html += '<span>告警3</span>';
// html += '</div>';
//
// html += '<div class="abnormalAlarmImg">';
// html += '<img src ="../../img/video/voi_photo4.png" alt="" style="height:85%;width:100%; margin-top:5%" />';
// html += '<span>告警4</span>';
// html += '</div>';
}
} else if (result.code === 500) {
layer.msg(result.msg, { icon: 2 });
}
$('#abnormalAlarms').empty().append(html);
}, function (xhr, status, error) {
error(xhr, status, error)
}, aqEnnable);
}
function getPerStatisticsList(bidCode) {
const url = commonUrl + "screen/largeScreen/accessMge/getPerStatisticsList";
table.render({
elem: '#demo2',
url: url,
skin: 'line',
page: true,
height: 'full-560',
headers: {
decrypt: "decrypt",
"Authorization": token
},
where: {
bidCode: bidCode,
proName: $('#proName2').val(),
userName: $('#userName').val(),
date: $('#date2').val()
},
cols: [[
{ type: 'numbers', title: '序号', width: '10%' }, // 添加序号列
{ field: 'proName', title: '工程名称', align: 'center', width: '20%' },
{ field: 'userName', title: '姓名', align: 'center', width: '10%' },
{ field: 'userPhone', title: '电话', align: 'center', width: '20%' },
{ field: 'accessType', title: '状态', align: 'center', width: '10%' },
{ field: 'accesssTime', title: '时间', align: 'center', width: '30%' }
]],
initComplete: function () {
// 在表格渲染完成后,重新渲染序号列
var that = this.elem.next();
var tool = that.children('.layui-table-box').children('.layui-table-fixed').children('.layui-table-body').children('.layui-table');
tool.find("tr").each(function (index, item) {
$(this).find('td[data-field="LAY_TABLE_INDEX"]').text(index + 1);
});
},
done: function (res, curr, count, origin) {
console.log(res);
}
})
}
function getQueryList(type) {
if (type == 1) {
getVehicleStatisticsList(bidCode);
} else {
getPerStatisticsList(bidCode);
}
}
function exportVehicleData() {
let proName = $('#proName1').val();
let carNum = $('#carNum1').val();
let date = $('#date1').val();
let paramData = 'bidCode=' + bidCode + '&roleCode=' + roleCode + '&orgId=' + orgId + '&userId=' + userId + '&proName=' + proName + '&carNum=' + carNum + '&date=' + date;
let montageParam = aqEnnable ? encryptCBC(paramData) : ' &' + encryptCBC(paramData);
const url = commonUrl + "screen/largeScreen/accessMge/exportVehicleData?params=" + montageParam; // url
ajaxRequestGetExport(url, "GET", true, function () {
}, function (blob, status, xhr) {
// 创建一个 Blob 对象
var url = window.URL.createObjectURL(blob);
// 创建一个隐藏的 <a> 标签
var link = document.createElement('a');
link.href = url;
link.download = '车辆出入统计.xlsx'; // 设置下载文件的名称,假设是 Excel 文件
// 将 <a> 标签添加到文档中
document.body.appendChild(link);
// 触发 <a> 标签的 click 事件来下载文件
link.click();
// 释放 URL 对象
window.URL.revokeObjectURL(url);
// 移除 <a> 标签
document.body.removeChild(link);
}, function (xhr, status, error) {
errorFn(xhr, status, error)
}, aqEnnable);
}
function exportPerData() {
let proName = $('#proName2').val();
let userName = $('#userName').val();
let date = $('#date2').val();
let paramData = 'bidCode=' + bidCode + '&roleCode=' + roleCode + '&orgId=' + orgId + '&userId=' + userId + '&proName=' + proName + '&userName=' + userName + '&date=' + date;
let montageParam = aqEnnable ? encryptCBC(paramData) : ' &' + encryptCBC(paramData);
const url = commonUrl + "screen/largeScreen/accessMge/exportPerData?params=" + montageParam; // url
ajaxRequestGetExport(url, "GET", true, function () {
}, function (blob, status, xhr) {
// 创建一个 Blob 对象
var url = window.URL.createObjectURL(blob);
// 创建一个隐藏的 <a> 标签
var link = document.createElement('a');
link.href = url;
link.download = '人员出入统计.xlsx'; // 设置下载文件的名称,假设是 Excel 文件
// 将 <a> 标签添加到文档中
document.body.appendChild(link);
// 触发 <a> 标签的 click 事件来下载文件
link.click();
// 释放 URL 对象
window.URL.revokeObjectURL(url);
// 移除 <a> 标签
document.body.removeChild(link);
}, function (xhr, status, error) {
errorFn(xhr, status, error)
}, aqEnnable);
}