369 lines
10 KiB
JavaScript
369 lines
10 KiB
JavaScript
|
|
var example = null;
|
|||
|
|
var pers = null;
|
|||
|
|
var layer;
|
|||
|
|
var form;
|
|||
|
|
var laydate;
|
|||
|
|
layui.use(['layer','form'], function () {
|
|||
|
|
layer = layui.layer;
|
|||
|
|
form = layui.form;
|
|||
|
|
laydate = layui.laydate;
|
|||
|
|
|
|||
|
|
getDeviceTypeSelect();
|
|||
|
|
|
|||
|
|
init();
|
|||
|
|
|
|||
|
|
var minListDate = $('#hidMinListDate').val();//最小可选时间,例:1990-02-01
|
|||
|
|
var maxListDate = $('#hidMaxListDate').val();//最大可选时间,例:2200-12-31
|
|||
|
|
// $('#startTime').val(getNowTime());
|
|||
|
|
// $('#endTime').val(getNowTime());
|
|||
|
|
var begin = "#startTime", end = "#endTime";//开始时间选择框、结束时间选择框:文本框
|
|||
|
|
var endChange = function (val, date) {
|
|||
|
|
if (date && date.year)
|
|||
|
|
begindate.config.max = {
|
|||
|
|
year: date.year,
|
|||
|
|
month: date.month - 1,//必须减1才是正确值
|
|||
|
|
date: date.date,
|
|||
|
|
hours: date.hours,
|
|||
|
|
minutes: date.minutes,
|
|||
|
|
seconds: date.seconds
|
|||
|
|
};
|
|||
|
|
else {
|
|||
|
|
var dateInit = new Date(maxListDate.replace(/-/g, "/"));
|
|||
|
|
begindate.config.max = {
|
|||
|
|
year: dateInit.getFullYear(),
|
|||
|
|
month: dateInit.getMonth(),
|
|||
|
|
date: dateInit.getDate(),
|
|||
|
|
hours: dateInit.getHours(),
|
|||
|
|
minutes: dateInit.getMinutes(),
|
|||
|
|
seconds: dateInit.getSeconds()
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
var beginChange = function (val, date) {
|
|||
|
|
if (date && date.year)
|
|||
|
|
enddate.config.min = {
|
|||
|
|
year: date.year,
|
|||
|
|
month: date.month - 1,
|
|||
|
|
date: date.date,
|
|||
|
|
hours: date.hours,
|
|||
|
|
minutes: date.minutes,
|
|||
|
|
seconds: date.seconds
|
|||
|
|
};
|
|||
|
|
else {
|
|||
|
|
var dateInit = new Date(minListDate.replace(/-/g, "/"));
|
|||
|
|
enddate.config.min = {
|
|||
|
|
year: dateInit.getFullYear(),
|
|||
|
|
month: dateInit.getMonth(),
|
|||
|
|
date: dateInit.getDate(),
|
|||
|
|
hours: dateInit.getHours(),
|
|||
|
|
minutes: dateInit.getMinutes(),
|
|||
|
|
seconds: dateInit.getSeconds()
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
var enddate = laydate.render({
|
|||
|
|
elem: end,
|
|||
|
|
type: 'datetime',
|
|||
|
|
format: 'yyyy-MM-dd HH:mm:ss',
|
|||
|
|
min: minListDate,
|
|||
|
|
max: maxListDate,
|
|||
|
|
done: endChange
|
|||
|
|
});
|
|||
|
|
var begindate = laydate.render({
|
|||
|
|
elem: begin,
|
|||
|
|
type: 'datetime',
|
|||
|
|
format: 'yyyy-MM-dd HH:mm:ss',
|
|||
|
|
min: minListDate,
|
|||
|
|
max: maxListDate,
|
|||
|
|
done: beginChange
|
|||
|
|
});
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
|
|||
|
|
function search(){
|
|||
|
|
var keyWord = $("#keyWord").val();
|
|||
|
|
var deviceType = $("#deviceType").val();
|
|||
|
|
var startTime = $("#startTime").val();
|
|||
|
|
var endTime = $("#endTime").val();
|
|||
|
|
var opt = {
|
|||
|
|
url: dataUrl + "video/getHisVioPhotosList",
|
|||
|
|
silent: true,
|
|||
|
|
query: {
|
|||
|
|
keyWord: keyWord,
|
|||
|
|
deviceType: deviceType,
|
|||
|
|
startTime: startTime,
|
|||
|
|
endTime: endTime
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
$("#table").bootstrapTable('refresh', opt);
|
|||
|
|
}
|
|||
|
|
function responseHandler(res) {
|
|||
|
|
var datas=[];
|
|||
|
|
datas.push({total:res.total,rows:res.list});
|
|||
|
|
return datas[0];
|
|||
|
|
}
|
|||
|
|
function init() {
|
|||
|
|
//初始化Table
|
|||
|
|
$("#table").bootstrapTable({
|
|||
|
|
classes: 'table table-hover',
|
|||
|
|
url: dataUrl + "video/getHisVioPhotosList",
|
|||
|
|
method: 'post',
|
|||
|
|
responseHandler: responseHandler, //处理服务器返回的数据格式
|
|||
|
|
height: $(window).height() - ($(window).height() * 0.13),
|
|||
|
|
undefinedText: '', //当数据为 undefined 时显示的字符
|
|||
|
|
queryParams: function(param) {
|
|||
|
|
var a=this;
|
|||
|
|
param = {
|
|||
|
|
// subName: subName,
|
|||
|
|
pageSize: param.limit,
|
|||
|
|
pageNum: param.offset / param.limit + 1,
|
|||
|
|
sort: param.sort, //排序列名
|
|||
|
|
sortOrder: param.order //排位命令(desc,asc)
|
|||
|
|
}
|
|||
|
|
return param;
|
|||
|
|
},
|
|||
|
|
sortable: false, //是否启用排序
|
|||
|
|
sortOrder: "asc", //排序方式
|
|||
|
|
cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
|
|||
|
|
pagination: true,
|
|||
|
|
pageNumber: 1,
|
|||
|
|
pageSize: 50,
|
|||
|
|
pageList: [50, 100, 200, 300],
|
|||
|
|
smartDisplay: false,
|
|||
|
|
showColumns: false,
|
|||
|
|
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
|
|||
|
|
contentType: "application/x-www-form-urlencoded",
|
|||
|
|
minimumCountColumns: 2, //最少允许的列数
|
|||
|
|
uniqueId: "no", //每一行的唯一标识,一般为主键列
|
|||
|
|
columns: [{
|
|||
|
|
title: '序号',
|
|||
|
|
formatter: function(value, row, index) {
|
|||
|
|
return index + 1;
|
|||
|
|
},
|
|||
|
|
rowspan: 1,
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
width: 50
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '工程名称',
|
|||
|
|
field: 'proName',
|
|||
|
|
rowspan: 1,
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
sortable: true,
|
|||
|
|
width: 100
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '承包商名称',
|
|||
|
|
field: 'consName',
|
|||
|
|
rowspan: 1,
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
sortable: true,
|
|||
|
|
width: 230
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '班组名称',
|
|||
|
|
field: 'teamName',
|
|||
|
|
rowspan: 1,
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
sortable: true,
|
|||
|
|
width: 100
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '姓名',
|
|||
|
|
field: 'violators',
|
|||
|
|
rowspan: 1,
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
sortable: true,
|
|||
|
|
width: 150
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '设备类型',
|
|||
|
|
formatter: function(value, row, index) {
|
|||
|
|
var html = '';
|
|||
|
|
var deviceType = row.deviceType;
|
|||
|
|
var type = '';
|
|||
|
|
if(deviceType == '1'){
|
|||
|
|
type = '球机';
|
|||
|
|
}
|
|||
|
|
if(deviceType == '2'){
|
|||
|
|
type = '安全帽';
|
|||
|
|
}
|
|||
|
|
if(deviceType == '3'){
|
|||
|
|
type = '执法仪';
|
|||
|
|
}
|
|||
|
|
html += '<div style="color:#fff;">' + type + '</div>';
|
|||
|
|
return html;
|
|||
|
|
},
|
|||
|
|
rowspan: 1,
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
sortable: true,
|
|||
|
|
width: 200
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '设备名称',
|
|||
|
|
field: 'deviceName',
|
|||
|
|
rowspan: 1,
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
sortable: true,
|
|||
|
|
width: 200
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '违章类型',
|
|||
|
|
field: 'violationType',
|
|||
|
|
rowspan: 1,
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
sortable: true,
|
|||
|
|
width: 100
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '违章时间',
|
|||
|
|
field: 'violationTime',
|
|||
|
|
rowspan: 1,
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
sortable: true,
|
|||
|
|
width: 200
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '违章照片',
|
|||
|
|
formatter: function(value, row, index) {
|
|||
|
|
var html = '';
|
|||
|
|
var violationAddress = row.violationAddress;
|
|||
|
|
html += '<img src="' + violationAddress + '" width="100px"/>';
|
|||
|
|
return html;
|
|||
|
|
},
|
|||
|
|
rowspan: 1,
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
sortable: true,
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
title: '操作',
|
|||
|
|
formatter: function(value, row, index) {
|
|||
|
|
var html = '';
|
|||
|
|
var id = row.id;
|
|||
|
|
html += '<div onclick="delBtn(' + id + ')" style="color:#fff;background-color:#02A7F0;cursor: pointer;">删除</div>';
|
|||
|
|
return html;
|
|||
|
|
},
|
|||
|
|
rowspan: 1,
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
sortable: true,
|
|||
|
|
width: 100
|
|||
|
|
},
|
|||
|
|
],
|
|||
|
|
onLoadSuccess: function(data) {
|
|||
|
|
$("#dataCount").html("数量:" + data.total);
|
|||
|
|
},
|
|||
|
|
onLoadError: function() {
|
|||
|
|
$("#dataCount").html("数量:0");
|
|||
|
|
$("#table").bootstrapTable('removeAll');
|
|||
|
|
top.layer.close(index);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//删除
|
|||
|
|
function delBtn(id){
|
|||
|
|
layer.confirm("确认删除吗?", function () {
|
|||
|
|
$.ajax({
|
|||
|
|
type: 'post',
|
|||
|
|
url: dataUrl + 'video/delById',
|
|||
|
|
data:{
|
|||
|
|
id: id
|
|||
|
|
},
|
|||
|
|
success: function (data) {
|
|||
|
|
if(data.code == '200'){
|
|||
|
|
layer.alert(data.msg,{icon:1});
|
|||
|
|
search();
|
|||
|
|
}else{
|
|||
|
|
layer.alert(data.msg,{icon:2});
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
error: function (err) {
|
|||
|
|
console.log("获取设备类型下拉列表出错:", err);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 导出数据
|
|||
|
|
*/
|
|||
|
|
function exportBtn() {
|
|||
|
|
var index = layer.msg('数据较多,请稍等。。。', {
|
|||
|
|
icon: 4,
|
|||
|
|
time: 100000 //2秒关闭(如果不配置,默认是3秒)
|
|||
|
|
});
|
|||
|
|
var keyWord = $("#keyWord").val();
|
|||
|
|
var deviceType = $("#deviceType").val();
|
|||
|
|
var startTime = $("#startTime").val();
|
|||
|
|
var endTime = $("#endTime").val();
|
|||
|
|
window.location.href = dataUrl + "video/exportHisVioPhotos?keyWord=" + keyWord + "&deviceType=" + deviceType + "&startTime=" + startTime+"&endTime=" + endTime;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function getDeviceTypeSelect(id) {
|
|||
|
|
$("#deviceType").html("");
|
|||
|
|
$("#deviceType").empty();
|
|||
|
|
$.ajax({
|
|||
|
|
type: 'post',
|
|||
|
|
url: dataUrl + 'video/getDeviceTypeSelect',
|
|||
|
|
async: false,
|
|||
|
|
success: function (data) {
|
|||
|
|
var html = '';
|
|||
|
|
if (data.length > 1) {
|
|||
|
|
html = '<option value="">--请选择设备类型--</option>';
|
|||
|
|
}
|
|||
|
|
for (var i = 0; i < data.length; i++) {
|
|||
|
|
if (id=null && id== data[i].deviceId) {
|
|||
|
|
html += '<option selected value=\'' + data[i].deviceId + '\'>' + data[i].deviceName + '</option>';
|
|||
|
|
} else {
|
|||
|
|
html += '<option value="' + data[i].deviceId + '">' + data[i].deviceName + '</option>';
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
$("#deviceType").html(html);
|
|||
|
|
form.render();
|
|||
|
|
},
|
|||
|
|
error: function (err) {
|
|||
|
|
console.log("获取设备类型下拉列表出错:", err);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获得当前时间 yyyy-MM-dd
|
|||
|
|
* @returns {string}
|
|||
|
|
*/
|
|||
|
|
function getNowTime() {
|
|||
|
|
var time = new Date();
|
|||
|
|
var year = time.getFullYear();
|
|||
|
|
var month = time.getMonth() + 1 >= 10 ? time.getMonth() + 1 : '0' + (time.getMonth() + 1);
|
|||
|
|
var day = time.getDate() >= 10 ? time.getDate() : '0' + time.getDate();
|
|||
|
|
var hours = time.getHours() >= 10 ? time.getHours() : '0' + time.getHours();
|
|||
|
|
var minutes = time.getMinutes() >= 10 ? time.getMinutes() : '0' + time.getMinutes();
|
|||
|
|
var seconds = time.getSeconds() >= 10 ? time.getSeconds() : '0' + time.getSeconds();
|
|||
|
|
return year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取当月第一天
|
|||
|
|
* @returns {string}
|
|||
|
|
*/
|
|||
|
|
function getCurrentMonthFirst() {
|
|||
|
|
var date = new Date();
|
|||
|
|
date.setDate(1);
|
|||
|
|
var year = date.getFullYear();
|
|||
|
|
var month = date.getMonth() + 1 > 10 ? date.getMonth() + 1 : '0' + (date.getMonth() + 1);
|
|||
|
|
var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
|
|||
|
|
return year + "-" + month + "-" + day;
|
|||
|
|
}
|
|||
|
|
|