//设置最早时间-早于这个时间之前数据库内无数据,查询会报错 var initDate = new Date("2017/11/01 00:00:00"); //导出功能 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; //查询按钮 $(document).on('click', '#zzl-qerBtn', function() { var dateValue = $("#zzl-daterange-btn input").val(); var dates=dateValue.split(" - "); var beginTime = dates[0]+" 00:00:00"; beginTime = new Date(beginTime.replace(new RegExp(/-/gm) ,"/")); if(beginTime" + data[i].name + ""; } var blockIdsStr = JSON.stringify(blockIds); htmls = '' + html; $("#zzl-plAreaBlockIds").empty(); $("#zzl-plAreaBlockIds").append(htmls); $('#zzl-plAreaBlockIds').selectpicker('render'); //加载下拉框 zzlfun.initParkSelect(); }, //根据块信息查询停车场信息 initParkSelect:function(){ //停车场下拉框 var data = zzlfun.getParkingLotMsg(); var htmls = ''; var html = ''; var plNos = []; for (var i = 0; i < data.length; i++) { plNos.push(data[i].plNo); html += ""; } var plnosStr = JSON.stringify(plNos); htmls = '' + html; $("#zzl-parkIds").empty(); $("#zzl-parkIds").append(htmls); $('#zzl-parkIds').selectpicker('refresh'); $("#parkIds1").empty(); $("#parkIds1").append(htmls); $('#parkIds1').selectpicker('refresh'); }, getParkingLotMsg:function(){ var plAreaBlockIds; plAreaBlockIds = JSON.parse($("#zzl-plAreaBlockIds").val()); var parkLot = ""; var req = { sysCode:sysComm.sysCode, areaBlockIds: plAreaBlockIds }; var opt = { async: false, data:JSON.stringify(req), method: "POST", //contentType:"application/x-www-form-urlencoded; charset=UTF-8", url: dataUrl.util.getParkListByBlockIds(), success: function (res) { if (res.code == '8888') { parkLot = JSON.stringify(res.data); } } } sysAjax(opt); return JSON.parse(parkLot); }, //块改变查询停车场 queryBlockChange:function(){ $("#zzl-plAreaBlockIds").change(function(){ zzlfun.initParkSelect(); }); }, //停车场下拉框change parkSelectChange: function () { var plNos = JSON.parse($("#parkIds1").val()); if (plNos.length > 1) { //选择的全部 //设置空数组即可 zzlfun.setBerthRange([]); } else { //先初始化 zzlfun.setBerthRange([]); //选择的单个停车场 var plNo = plNos[0]; var rows = berthRangeCache[plNo]; if (undefined != rows && null != rows && rows.length != 0) { zzlfun.setBerthRange(rows); } else { zzlfun.getBerthRange(plNos); } } }, //根据停车场编码获取泊位区间 getBerthRange: function (plNos) { if(plNos.length<1){ return; } var req = { baseRequest: { pageNum: 1, pageSize: 0 }, sysCode: sysComm.sysCode, plNos: plNos }; var opt = { method: 'post', url: dataUrl.util.queryTpPRegionAreaForPage(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { var plNo = plNos[0]; //设置缓存 berthRangeCache[plNo] = res.data.rows; zzlfun.setBerthRange(res.data.rows); } } }; sysAjax(opt); }, //设置泊位区间 setBerthRange: function (datas) { $('#regionArea').empty(); var html = ''; $.each(datas, function (index, item) { html += ""; }); html = '' + html; $('#regionArea').append(html) $('#regionArea').selectpicker('refresh'); }, //详细-停车场下拉框初始化 initParkIdsSelect:function(){ var plno = $("#zzl-parkIds").val(); $("#parkIds1").selectpicker('val',plno); }, //详细-分布区间初始化 initSecondArea:function(name){ var html; $.each(secondAreas,function(index,item){ html+=''; }); $("#secondArea").empty(); $("#secondArea").append(html); $("#secondArea").selectpicker('refresh'); if(name == null || name == undefined){ return; } $("#secondArea").selectpicker('val',secondAreas.indexOf(name)); }, /*获取查询参数*/ getQueryParam: function() { var plBlockIds = JSON.parse($("#zzl-plAreaBlockIds").val()); var plNos = []; var plnos = $("#zzl-parkIds").val(); if(plnos==null||plnos==''){ plNos.push("-1X"); } else{ plNos = JSON.parse(plnos); } var dates = $('#zzl-daterange-btn input').val(); var date = dates.split(' - '); var beginTime = date[0] +" 00:00:00"; var endTime = date[1] +" 23:59:59"; var req = { sysCode: sysComm.sysCode, plBlockIds: plBlockIds, plNos: plNos, beginTime: new Date(beginTime.replace(new RegExp(/-/gm) ,"/")), endTime: new Date(endTime.replace(new RegExp(/-/gm) ,"/")), }; return req; }, //查询全部停车场周转次数统计 zzlDrawTurnOver:function (data) { var datas = [{value:0, name:'所有次数'},{value:0, name:'0次'},{value:0, name:'1次'},{value:0, name:'2-5次'},{value:0, name:'5-10次'}, {value:0, name:'10-20次'},{value:0, name:'20-50次'},{value:0, name:'50次以上'}]; if(data != undefined && data != null){ datas[1].value = data.normalNum0; datas[1].name = parkTurnOver[1]; datas[2].value = data.normalNum1; datas[2].name = parkTurnOver[2]; datas[3].value = data.normalNum2; datas[3].name = parkTurnOver[3]; datas[4].value = data.normalNum3; datas[4].name = parkTurnOver[4]; datas[5].value = data.normalNum4; datas[5].name = parkTurnOver[5]; datas[6].value = data.normalNum5; datas[6].name = parkTurnOver[6]; datas[7].value = data.normalNum6; datas[7].name = parkTurnOver[7]; datas.splice(0,1); } var parlAllchart = echarts.init(document.getElementById('zzl-parkAll-chart')); // 指定图表的配置项和数据 var topleftoption = { color:['#1e95cd','#5fe98f','#fdc94d','#50c0f5','#5ed8a6','#2bb97f','#50c0f5','#fd714b','#a5dff3'], tooltip: { trigger: 'item', formatter: "{a}
{b}: {c} ({d}%)" }, legend: { orient: 'vertical', right:'8%', top:'5%', selectedMode:false, hoverAnimation: false, textStyle: { color: 'rgba(0,0,0,0.5)', fontSize:'12px', fontFamily:'微软雅黑' }, itemWidth:16, itemHeight:10, // data:parkTurnOver data:['全部','0次','1次','2-5次','5-10次','10-20次','20-50次','50次以上'] }, series: [ { name:'全部停车场', type:'pie', radius: ['60%', '70%'], center:['30%', '50%'], avoidLabelOverlap: false, hoverAnimation:false, label: { normal: { show: false, position: 'center' }, emphasis: { show: false, textStyle: { fontSize: '12', fontWeight: 'bold' } } }, labelLine: { normal: { show: false } }, data:datas/*[{value:335, name:'全部'}, {value:310, name:'0次'}, {value:234, name:'1次'}, {value:135, name:'2-5次'}, {value:35, name:'5-10次'}, {value:15, name:'10-20次'}, {value:135, name:'20-50次'}, {value:548, name:'50次以上'} ]*/ } ] }; parlAllchart.setOption(topleftoption,true); // parlAllchart.dispatchAction({ // type: 'downplay', // seriesIndex: 0, // dataIndex: 0 // }); // parlAllchart.dispatchAction({ // type: 'highlight', // seriesIndex: 0, // dataIndex: 0 // }); }, //街道办事处 echarts zzlDrawFactoryTurnOver:function (data) { var factoryNames = new Array(); var factoryTurnOverXDatas = new Array(); $.each(parkTurnOver, function(index,item) { factoryTurnOverXDatas.push(item); }); factoryTurnOverXDatas.splice(0,1); var datas = new Array(); var obj = new Object(); var value = new Array(); if(data.length>0){ $.each(data, function(index,item) { value = []; obj = new Object(); factoryNames.push(item.factoryName); obj.name = item.factoryName; obj.type = 'line'; value.push(item.normalNum0); value.push(item.normalNum1); value.push(item.normalNum2); value.push(item.normalNum3); value.push(item.normalNum4); value.push(item.normalNum5); value.push(item.normalNum6); obj.data = value; datas.push(obj); }); }else { console.log(data); value = []; obj = new Object(); obj.name = '无厂商'; obj.type = 'line'; value.push(0); value.push(0); value.push(0); value.push(0); value.push(0); value.push(0); value.push(0); obj.data = value; datas.push(obj); } var lineecharts = echarts.init(document.getElementById('zzl-topright-echarts')); var lineoption = { color:['#1e95cd','#5fe98f','#fdc94d','#50c0f5','#5ed8a6','#2bb97f','#50c0f5','#fd714b','#a5dff3'], tooltip: { trigger: 'item', formatter: '{a}
{b} : {c}' }, legend: { itemHeight:10, right: '10', top:'0', data: factoryNames //data: ['大华','华赛','烽火'] }, xAxis: { type: 'category', axisLabel: { interval:0, show: true, textStyle: { color: 'rgba(0,0,0,0.5)', fontSize:'12px', fontFamily:'微软雅黑' } }, axisTick: { show: false, }, splitLine:{ lineStyle:{ color:'rgba(0,0,0,0.1)', } }, axisLine: { show: true, lineStyle: { color: 'rgba(0,0,0,0.1)', // width: 1,//这里是为了突出显示加上的 } }, data: factoryTurnOverXDatas //data: ['0次','1次','2-5次','5-10次','10-20次','20-50次','50次以上'] }, grid: { top: '13%', left: '1%', right: '3%', bottom: '2%', containLabel: true }, yAxis: { type: 'value', axisLabel: { show: true, textStyle: { color: 'rgba(0,0,0,0.5)', fontSize:'12px', fontFamily:'微软雅黑' } }, axisTick: { show: false, }, splitLine:{ lineStyle:{ color:'rgba(0,0,0,0.1)', } }, axisLine: { show: true, lineStyle: { color: 'rgba(0,0,0,0.1)', // width: 1,//这里是为了突出显示加上的 } }, }, series: datas }; lineecharts.setOption(lineoption,true); lineecharts.resize(); }, //默认生成表格数据 zzlcreateTableData: function() { $('#zzlrecordtable').bootstrapTable('destroy').bootstrapTable({ striped: true, //表格显示条纹 pagination: true, //启动分页 pageNumber: 1, //当前第几页 // showColumns: true, pageSize: 10, //每页显示的记录数 pageList: [10, 15, 20], //记录数可选列表 sidePagination: 'server', //表示服务端分页 queryParamsType: 'limit', method: 'POST', //请求方法 // fixedColumns:true, // fixedNumber:1, // leftFixedColumns: true, // leftFixedNumber: 2, // selectItemName: 'personCustName', paginationPreText: '<', paginationNextText: '>', ajax: zzltableLoadRequest, //自定义ajax加载数据 uniqueId: 'id', columns: [ { field: 'plName', title: ' 车场名称', width: '10%', visible: true, align: 'left', formatter: commonObj.replacenull }, { field: 'normalNum0', title: ' 0次', width: '10%', align: 'left', formatter: commonObj.replacenull }, { field: 'normalNum1', title: ' 1次', width: '10%', align: 'left', formatter: commonObj.replacenull }, { field: 'normalNum2', title: ' 2-5次', width: '10%', align: 'left', formatter: commonObj.replacenull }, { field: 'normalNum3', title: ' 5-10次', width: '10%', align: 'left', formatter: commonObj.replacenull }, { field: 'normalNum4', title: ' 10-20次', width: '10%', align: 'left', formatter: commonObj.replacenull }, { field: 'normalNum5', title: ' 20-50次', width: '10%', align: 'left', formatter: commonObj.replacenull }, { field: 'normalNum6', title: ' 50次以上', width: '10%', align: 'left', formatter: commonObj.replacenull }, ] }); }, //详细-次数初始化 initTurnOverTimes:function(){ var html; $.each(parkTurnOver,function(index,item){ html+=''; }); $("#zzl-number").empty(); $("#zzl-number").append(html); $("#zzl-number").selectpicker('refresh'); $("#zzl-number").selectpicker('val',0); }, //初始化周转次数详细弹窗 loadTurnOverDetailTable:function (){ //初始化停车场 var plno = $('#zzl-parkIds').val(); $('#parkIds1').selectpicker('val',plno); //zzlfun.initParkSelect(); //初始化日期选择 //zzlfun.initSelectDates(); //初始化次数 zzlfun.initTurnOverTimes(); //初始化泊位区间 zzlfun.setBerthRange([]); //加载数据 zzlfun.zzlcreateTurnoverData(); }, isOnlineFormatter:function(value){ if(value==null){ return ""; } else if(value == "0"){ return "在线"; } else if(value == "1"){ return "离线"; } else{ return "故障"; } }, //单个停车场周转次数 zzlcreateTurnoverData: function() { $('#turnoveroentab').bootstrapTable('destroy').bootstrapTable({ striped: true, //表格显示条纹 pagination: true, //启动分页 pageNumber: 1, //当前第几页 // showColumns: true, pageSize: 10, //每页显示的记录数 pageList: [10, 15, 20], //记录数可选列表 sidePagination: 'server', //表示服务端分页 queryParamsType: 'limit', method: 'POST', //请求方法 // fixedColumns:true, // fixedNumber:1, // leftFixedColumns: true, // leftFixedNumber: 2, // selectItemName: 'personCustName', paginationPreText: '<', paginationNextText: '>', ajax: zzltableDetailLoadRequest, //自定义ajax加载数据 uniqueId: 'id', columns: [ { field: 'plAreaBlockName', title: '街道办事处', width: '10%', visible: true, align: 'left' }, { field: 'plName', title: '车场名称', width: '10%', align: 'left', }, { field: 'parkAreaName', title: '泊位区间', width: '10%', align: 'left', }, { field: 'berthNo', title: '泊位编号', width: '10%', align: 'left', }, { field: 'eqpNo', title: '地磁编号', width: '10%', align: 'left', }, { field: 'factoryName', title: '传感器厂商', width: '10%', align: 'left', }, { field: 'eqpIsOnline', title: '地磁状态', width: '15%', align: 'left', formatter:zzlfun.isOnlineFormatter }, { field: 'num', title: '周转次数', width: '10%', align: 'left', } ] }); }, }; zzlfun.init(); //导出 var InterValObj; //timer变量,控制时间 var count = 8; //间隔函数,1秒执行 var curCount;//当前剩余秒数 function sendMessage() { curCount = count; //设置button效果,开始计时 $("#exportPark").attr("disabled", "true"); $(".ITD-export-btn").css("width", "138px"); $("#exportPark").val(curCount + "秒后可再次导出"); InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次 } //timer处理函数 function SetRemainTime() { if (curCount == 0) { window.clearInterval(InterValObj);//停止计时器 $("#exportPark").removeAttr("disabled");//启用按钮 $(".ITD-export-btn").css("width", "72px"); $("#exportPark").val("导出"); } else { curCount--; $("#exportPark").val(curCount + "秒后可再次导出"); } } //导出excle documentBindFunc.on('click','#exportPark',function (){ //获取table所有行数据 var parkLot = $("#zzlrecordtable").bootstrapTable('getData'); //获取table总条数 var numTotal = $("#zzlrecordtable").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(); //导出函数 zzlfun.exportEqpInOutParkAllStatisticExcel(); }); // 全部停车场详情 弹窗 documentBindFunc.on('click','#openparkAll',function () { var dateValue = $("#zzl-daterange-btn input").val(); var dates=dateValue.split(" - "); var beginTime = dates[0]+" 00:00:00"; beginTime = new Date(beginTime.replace(new RegExp(/-/gm) ,"/")); if(beginTime