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;
|
||
}
|
||
|