/**
* Created by chenbiao on 2017/8/25.
*/
window.downloadFile = function (sUrl) {
//iOS devices do not support downloading. We have to inform user about this.
if (/(iP)/g.test(navigator.userAgent)) {
alert('Your device does not support files downloading. Please try again in desktop browser.');
return false;
}
//If in Chrome or Safari - download via virtual link click
if (window.downloadFile.isChrome || window.downloadFile.isSafari) {
//Creating new link node.
var link = document.createElement('a');
link.href = sUrl;
if (link.download !== undefined) {
//Set HTML5 download attribute. This will prevent file from opening if supported.
var fileName = sUrl.substring(sUrl.lastIndexOf('/') + 1, sUrl.length);
link.download = fileName;
}
//Dispatching click event.
if (document.createEvent) {
var e = document.createEvent('MouseEvents');
e.initEvent('click', true, true);
link.dispatchEvent(e);
return true;
}
}
// Force file download (whether supported by server).
if (sUrl.indexOf('?') === -1) {
sUrl += '?download';
}
window.open(sUrl, '_self');
return true;
}
window.downloadFile.isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
window.downloadFile.isSafari = navigator.userAgent.toLowerCase().indexOf('safari') > -1;
$(function () {
//点击导入 弹窗
$(document).on('click','#enterbtn',function () {
$('.geomanage-con').css('display','none');
$('.alert_over').css('display','block');
})
//关闭弹窗 取消地磁信息
documentBindFunc.on('click','.loading_alert_cancel',function () {
$('.alert_over').css('display','none');
$('.geomanage-con').css('display','block');
})
//保存弹窗 地磁信息
documentBindFunc.on('click','.loading_alert_ok',function () {
$('.alert_over').css('display','none');
$('.geomanage-con').css('display','block');
})
})
var fun ={
init: function () {
// 周转次数查询时间
$('#queryTime').val(moment().subtract('days', 0).format('YYYY-MM-DD'));
$("#queryTime").datetimepicker({
startDate: moment().subtract('days', 0).format('2017-11-01'),
endDate: moment().subtract('days', 0).format('YYYY-MM-DD'),
format: 'yyyy-mm-dd',
autoclose: true,
forceParse: false,
minView: 3,
minuteStep:1,
locale: "zh-CN",
language: 'zh-CN',
pickerPosition: "bottom-left"
}).on('changeDate', function(ev){
var time = moment(ev.date).format('YYYY-MM-DD');
}
);
//初始化设备状态
$('#eventTypes').selectpicker('render');
//初始化停车场下拉框
fun.initPark();
//初始化设备类型
fn.getEqpType(fun.getEqpType);
//初始化车位信息下拉框
fn.getFactoryInfo(fun.initFactory);
//基本信息
fun.createTableData();
//条件查询
fun.parkingSpaceQuery();
},
//停车场下拉框
initPark: function () {
var data = fn.getParkLot(3);
$("#parkIds").empty();
var html = '';
var plNos = [];
for (var i = 0; i < data.length; i++) {
plNos.push(data[i].code);
html += "";
}
var plnosStr = JSON.stringify(plNos);
html = '' + html;
$("#parkIds").append(html);
$('#parkIds').selectpicker('render');
},
initFactory:function(data){
$("#factory").empty();
var html = "";
$.each(data,function (index,item) {
html += "";
})
$("#factory").append(html);
$('#factory').selectpicker('render');
},
//初始化设备类型下拉框
getEqpType:function(datas){
$('#eqpType').empty();
var html = "";
$.each(datas, function(index,item) {
html += "";
})
$('#eqpType').append(html);
$('#eqpType').selectpicker('render');
},
//生成表格数据
createTableData: function () {
$('#eqpTable').bootstrapTable('destroy').bootstrapTable({
striped: true,//表格显示条纹
rownumbers:true,
pagination: true, //启动分页
pageNumber: 1, //当前第几页
pageSize: 10, //每页显示的记录数
pageList: [10, 15, 20], //记录数可选列表
sidePagination: 'server',//表示服务端分页
queryParamsType: 'limit',
method: 'POST',//请求方法
paginationPreText: '上一页',
paginationNextText: '下一页',
ajax: tableLoadRequest,//自定义ajax加载数据
uniqueId:'id',
columns: [
{field: 'plName', title: '停车场名称', width: '15%', align: 'left',formatter:commonObj.replacenull},
{field: 'berthNo', title: '泊位编号', width: '15%', align: 'left',formatter:commonObj.replacenull},
{field: 'eqpNo', title: '设备编号', width: '15%', align: 'left',formatter:commonObj.replacenull},
{field: 'factoryName', title: '设备型号', width: '15%', align: 'left',formatter:commonObj.replacenull},
{field: 'eventType', title: '设备状态', width: '15%', align: 'left',formatter:fun.eventTypeFormatter},
{field: 'eqpType', title: '设备类型', width: '15%', align: 'left',formatter:fun.eqpTypeFormatter},
{field: 'createTime', title: '上报时间', width: '15%', align: 'left',formatter:commonObj.timeFormatter}
]
});
},
eventTypeFormatter:function(value,row,index){
if(value=='11'){
return "车辆入场";
}else if (value=='10'){
return "车辆出场";
}else if (value=='9'){
return "设备心跳";
}else if (value=='12'){
return "车位检测器电压低电压";
}else if (value=='13'){
return "车位检测器电压正常";
}else if(value=='99'){
return "系统判断为离线";
}else{
return "-";
}
},
eqpTypeFormatter:function(value,row,index){
if(value=='1'){
return "地磁";
}else if (value=='2'){
return "视频桩";
}else if (value=='3'){
return "地锁";
}else if (value=='4'){
return "网关";
}else if (value=='5'){
return "中继器";
}else{
return "其他";
}
},
/*获取查询参数*/
getQueryParam: function () {
/*停车场编码*/
var plNos = JSON.parse($("#parkIds").val());
var geomagneticNo = $("#geomagneticNo").val();
var berthNo = $("#berthNo").val();
var eventTypes = JSON.parse($("#eventTypes").val());
var factoryNos = JSON.parse($("#factory").val());
var createTime = $("#queryTime").val()+" 00:00:00";
var eqpType = JSON.parse($("#eqpType").val());
if( eqpType.length == 0){
eqpType = '';
}else{
eqpType = eqpType[0];
}
//条件查询
var req= {
baseRequest:{
pageNum:0,
pageSize:1
},
sysCode:sysComm.sysCode,
plNos: plNos,
eqpNo: geomagneticNo,
berthNo:berthNo,
eventTypes:eventTypes,
factoryNos:factoryNos,
createTime:createTime,
eqpType:eqpType
};
return req;
},
//操作显示
operFormatter:function(value,row,index){
var operStr =''+
'';
return operStr;
},
formatTableUnit:function(value,row,index){
return {
css: {
"white-space":"nowrap"
}
}
},
//条件查询
parkingSpaceQuery:function () {
documentBindFunc.on('click', '#parkingSpaceQuery', function () {
//初始化table
fun.createTableData();
});
},
//停车场下拉框
initAddParkSelect: function () {
var data = fn.getParkLot();
$("#addParkLot").empty();
var html = '';
var plNos = [];
for (var i = 0; i < data.length; i++) {
plNos.push(data[i].code);
html += "";
}
var plnosStr = JSON.stringify(plNos);
$("#addParkLot").append(html);
$('#addParkLot').selectpicker('refresh');
},
downloadOper: function (element) {
var params = fun.getQueryParam();
var url = dataUrl.util.exportParkEqpLogExcel();
url += '?plNos=' + params.plNos;
if(null != params.eqpNo){
url+='&eqpNo='+params.eqpNo;
}
if(null != params.eqpType){
url+='&eqpType=' +params.eqpType;
}
if(null != params.factoryNos){
url+='&factoryNos='+params.factoryNos
}
if(null != params.berthNo){
url+='&berthNo='+params.berthNo
}
if(null != params.eventTypes){
url+='&eventTypes='+params.eventTypes
}
if(null != params.createTime){
url+='&createTime='+params.createTime
}
// +'&eqpNo='+params.eqpNo
// +'&eqpType=' +params.eqpType+'&factoryNos='+params.factoryNos
// +'&berthNo='+params.berthNo+'&eventTypes='+params.eventTypes
// +'&createTime='+params.createTime;
url = encodeURI(url);
window.downloadFile(url);
}
};
fun.init();
//停车场默认加载
function tableLoadRequest(params){
var plNos = JSON.parse($("#parkIds").val());
var geomagneticNo = $("#geomagneticNo").val();
var berthNo = $("#berthNo").val();
var eventTypes = JSON.parse($("#eventTypes").val());
var factoryNos = JSON.parse($("#factory").val());
var createTime = $("#queryTime").val();
var eqpType = JSON.parse($("#eqpType").val())[0];
//设置请求参数
var pageNum = (params.data.offset/params.data.limit)+1;
//条件查询
var req= {
baseRequest:{
pageNum:pageNum,
pageSize:params.data.limit
},
sysCode:sysComm.sysCode,
plNos: plNos,
eqpNo: geomagneticNo,
berthNo:berthNo,
eventTypes:eventTypes,
factoryNos:factoryNos,
createTime:createTime,
eqpType:eqpType
};
var cehicleFlowTableAjax= {
method: params.type,
url: dataUrl.util.queryParkEqpLogForPage(),
data: JSON.stringify(req),
contentType: 'application/json; charset=utf-8',
dataType:'json',
success: function(res){
console.log(res)
if(res.code = "8888"){
params.success(res.data);
}else{
}
}
};
sysAjax(cehicleFlowTableAjax);
};
//点击导出
var InterValObj; //timer变量,控制时间
var count = 8; //间隔函数,1秒执行
var curCount;//当前剩余秒数
function sendMessage() {
curCount = count;
//设置button效果,开始计时
$("#reportBtn").attr("disabled", "true");
$(".ITD-export-btn").css("width", "138px");
$("#reportBtn").val(curCount + "秒后可再次导出");
InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
}
//timer处理函数
function SetRemainTime() {
if (curCount == 0) {
window.clearInterval(InterValObj);//停止计时器
$("#reportBtn").removeAttr("disabled");//启用按钮
$(".ITD-export-btn").css("width", "72px");
$("#reportBtn").val("导出");
}
else {
curCount--;
$("#reportBtn").val(curCount + "秒后可再次导出");
}
}
//导出excle
documentBindFunc.on('click','#reportBtn',function (){
//获取table所有行数据
var parkLot = $("#eqpTable").bootstrapTable('getData');
//获取table总条数
var numTotal = $("#eqpTable").bootstrapTable('getOptions').totalRows;
//提示 无数据不导出
if(parkLot.length<1){
$('.ITD-alertmodel-contentmsg').text('无数据可导出!');
$('#ITD-tipsmodel').modal('show');
setTimeout(function () {
$('.ITD-alertmodel-contentmsg').text('');
$('#ITD-tipsmodel').modal('hide');
},3000);
return false;
}
//超1万条 缩短查询范围
if(numTotal>10000){
$('.ITD-alertmodel-contentmsg').text('数据量过大,请缩小查询范围!');
$('#ITD-tipsmodel').modal('show');
setTimeout(function () {
$('.ITD-alertmodel-contentmsg').text('');
$('#ITD-tipsmodel').modal('hide');
},3000);
return false;
}
//执行倒计时函数
sendMessage();
fun.downloadOper(this);
});