var fun = { init:function(){ fun.queryParkRealTimeDatasByPlNos(); fun.initPark(); fun.createTableData(); }, //初始化停车场下拉框 initPark: function () { var data = fn.getParkLot(); $("#caryard_parkIds").empty(); var html = ''; plNos = []; for (var i = 0; i < data.length; i++) { plNos.push(data[i].code); html += ""; } var plnosStr = JSON.stringify(plNos); html = '' + html; $("#caryard_parkIds").append(html); $('#caryard_parkIds').selectpicker('render'); }, /*获取查询参数*/ getQueryParam: function() { //停车场 var plnos = JSON.parse($("#caryard_parkIds").val()); var plType = $('#caryard_parkTypes').val(); var filterPark = fn.getParkLot(); var filterPlNos = []; for (var i = 0; i < filterPark.length; i++) { if(filterPark[i].type == plType || plType == '-1'){ filterPlNos.push(filterPark[i].code); } } var resultPlNos = []; $.each(plnos,function (index,item) { console.log(item) console.log(filterPlNos.indexOf(item)) if(filterPlNos.indexOf(item)>=0){ resultPlNos.push(item); } }) if(resultPlNos.length == 0){ resultPlNos.push('X'); } var req = { plNos: resultPlNos, }; return req; }, //占用率 rateEchart: function (chartRate, berthNum, useBerthNum) { console.log(chartRate); console.log(berthNum); console.log(useBerthNum); var chart = echarts.init(document.getElementById('caryard-parking-echart')); var option = { title: { text: chartRate + '%', textStyle: { color: '#000', fontSize: '18', align: 'center', fontFamily: '微软雅黑' }, top: '60', left: 'center' }, legendHoverLink: false, series: [ { name: '', type: 'pie', radius: '65%', center: ['50%', '50%'], legendHoverLink: false, avoidLabelOverlap: false, startAngle: 180, hoverAnimation: false, label: {normal: {show: false}}, data: [ { value: 50, name: '', itemStyle: {normal: {color: '#edf7fb'}, emphasis: {color: '#edf7fb'}}, label: {normal: {show: false}} }, { value: 50, name: '', itemStyle: {normal: {color: '#edf7fb'}, emphasis: {color: '#edf7fb'}}, label: {normal: {show: false}} } ] }, { name: '具体比例', type: 'pie', radius: ['75%', '85%'], //radius: ['50%', '50%'], center: ['50%', '50%'], legendHoverLink: false, avoidLabelOverlap: false, hoverAnimation: false, // hoverOffset:0, startAngle: 180, color: ['#5fe98f', '#cccc'], label: { normal: { show: false, position: 'inside', formatter: '{c}%' }, emphasis: { show: false, textStyle: { fontSize: '30', fontWeight: 'bold' } } }, labelLine: { normal: { show: false } }, data: [ { value: useBerthNum, name: '20~25岁', itemStyle: {normal: {color: '#5fe98f'}, emphasis: {color: '#5fe98f'}}, label: {normal: {show: false}} }, { value: (berthNum-useBerthNum), name: '25~30岁', itemStyle: {normal: {color: '#cccc'}, emphasis: {color: '#cccc'}}, label: {normal: {show: false}} }, // { // value: 25, // name: '20~25岁', // itemStyle: {normal: {color: '#5fe98f'}, emphasis: {color: '#5fe98f'}}, // label: {normal: {show: false}} // }, // { // value: 5, // name: '25~30岁', // itemStyle: {normal: {color: '#cccc'}, emphasis: {color: '#cccc'}}, // label: {normal: {show: false}} // }, // {value:4, name:'',itemStyle:{normal:{color:'#fff'},emphasis:{color:'#fff'}}, label:{normal: {show: false}}} ] } ] }; chart.setOption(option, true); //自适应 /* window.onresize = function(){ chart.resize(); };*/ }, //利用率 usageEchart: function (xTimeDatas,occupyDatas) { var mychart = echarts.init(document.getElementById('berth-usage-echart')); var option = { color: ['#5fe98f'], animationDuration:2000, tooltip : { trigger: 'axis', textStyle:{ fontSize:'12px' }, padding:[10,10,10,10], formatter: function (params) { //return params[0].value+'%' return (params[0].value*100).toFixed(2) +'%' }, }, grid: { top: '10%', left: '2%', right: '2%', bottom: '0%', containLabel: true }, // legend: { // top: '0', // right: '24', // // }, xAxis: { type: 'category', boundaryGap: true, data: xTimeDatas, // nameGap:'2', // boundaryGap:['2%','2%'], axisLabel: { // interval:0, show: true, textStyle: { color: 'rgba(0,0,0,0.8)', fontSize: '12px', fontFamily: '微软雅黑' }, }, // splitNumber:2, // // minInterval:2, 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,//这里是为了突出显示加上的 } }, }, yAxis: { type: 'value', splitNumber: 2, // minInterval:2, axisLabel: { show: true, textStyle: { color: 'rgba(0,0,0,0.8)', fontSize: '12px', fontFamily: '微软雅黑' }, formatter: function (value) { return value*100 +'%' }, }, axisTick: { show: false, }, axisLine: { lineStyle: { color: 'rgba(0,0,0,0.1)', width: 1,//这里是为了突出显示加上的 } }, splitLine:{ lineStyle:{ // type:'dashed', color:'rgba(0,0,0,0.1)', } } }, series: [ { name: '24小时泊位占用率', type: 'line', data: occupyDatas, symbol: 'circle', symbolSize: 10, itemStyle: { normal: { lineStyle: { color: '#f0f0f2', } } }, areaStyle: { normal: { color: '#effdf4' } }, lineStyle: { normal: { color: '#5fe98f', width: 2, } } }, ] }; mychart.setOption(option, true); // 自适应 window.onresize = mychart.resize; }, queryParkRealTimeDatasByPlNos: function () { var data = fn.getParkLot(); var plNos = []; var openParkCount = 0; var closeParkCount = 0; var allParkCount = data.length; var berthsNum = 0; for (var i = 0; i < data.length; i++) { plNos.push(data[i].code); if (parseInt(data[i].type) == 1) { openParkCount += 1; } else { closeParkCount += 1; } berthsNum += parseInt(data[i].berthsNum); } $("#allParkCount").text(allParkCount); $("#openParkCount").text(openParkCount); $("#closeParkCount").text(closeParkCount); if (plNos.length < 1) { plNos.push("-1X"); } var req = { sysCode: sysComm.sysCode, plNos: plNos }; var opt = { method: 'post', url: dataUrl.util.queryParkRealTimeDatasByPlNos(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { var data = res.data; var berthFreeNum = data.berthFreeNum; var berthNum = data.berthNum; var parkIncome = data.parkIncome; var allIncome=data.allIncome; var useBerthNum = parseInt(berthNum) - parseInt(berthFreeNum); var rate = (useBerthNum * 100 / berthNum).toFixed(2); var parkOnLinePayNum=data.parkOnLinePayNum==null?0:data.parkOnLinePayNum; var parkOffLinePayNum=data.parkOffLinePayNum==null?0:data.parkOffLinePayNum; var vipPayNum=data.vipCardChargeNum==null?0:data.vipCardChargeNum; $("#allParkBerthNum").text(berthsNum); $("#allFreeBerthNum").text(berthFreeNum); $("#incomeCount").text(parkOnLinePayNum+parkOffLinePayNum+vipPayNum); $("#parkIncome").text(fun.money(allIncome)); if(isNaN(rate)){ rate = 0; } $("#rate").text(rate); } } }; sysAjax(opt); }, money:function (value) { if(value==null || value==undefined || value =="0.00"){ return 0.00; }else{ return (value/100).toFixed(2); } }, //生成表格数据 createTableData: function () { $('#recordtable').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: 3, //rightFixedColumns: true, //rightFixedNumber: 1, // selectItemName: 'personCustName', paginationPreText: '<', paginationNextText: '>', ajax: tableLoadRequest, //自定义ajax加载数据 uniqueId: 'id', columns: [ { field: 'plName', title: '车场基本信息', width: '10%', visible: true, align: "left", formatter: function (value, row, index) { // console.log(row.plNo) if(row.plAddress==null||row.plAddress==undefined||row.plAddress==''){ row.plAddress = '-' } if(value==null||value==undefined||value==''){ value = '-' } return '
' + value + '
' + '
' + row.plAddress + '
' } }, { field: 'carNumber', title: '泊位信息', width: '10%', align: "left", formatter: function (value, row, index) { var berthNum = row.berthNum; var freeBerthNum = row.berthFreeNum; if(freeBerthNum==undefined || freeBerthNum ==null || freeBerthNum==""){ freeBerthNum = 0; } if(berthNum==undefined || berthNum ==null || berthNum==""){ berthNum = 0; } var useBerthNum = berthNum - freeBerthNum; console.log(berthNum+','+freeBerthNum) var rate = 0; if(berthNum!=undefined && berthNum !=null && berthNum!=0){ rate=useBerthNum * 100 / berthNum; } if(berthNum == 0){ rate = 100; } if (rate < 40) { return '
占用' + useBerthNum + '个充足
总共' + berthNum + '个 占用率 : ' + rate.toFixed(2) + '%
' } else if (rate >= 40 && rate <= 60) { return '
占用' + useBerthNum + '个平衡
总共' + berthNum + '个 占用率 : ' + rate.toFixed(2) + '%
' } else { return '
占用' + useBerthNum + '个紧张
总共' + berthNum + '个 占用率 : ' + rate.toFixed(2) + '%
' } } }, { field: 'cardType', title: '车流量', width: '10%', align: "left", formatter: function (value, row, index) { var incarNum = row.inCarNum; if(incarNum==undefined || incarNum ==null || incarNum==""){ incarNum = 0; } var outCarNum = row.outCarNum; if(outCarNum==undefined || outCarNum ==null || outCarNum==""){ outCarNum = 0; } return '
入场:' + incarNum + '辆
' + '
出场:' + outCarNum + '辆
' } }, { field: 'num', title: '设备信息', width: '10%', align: "left", formatter: function (value, row, index) { var onlinePDACount = row.onlinePDACount == null ? 0 : row.onlinePDACount; var allPDACount = row.allPDACount == null ? 0 : row.allPDACount; var onlineEqpCount = row.onlineEqpCount == null ? 0 : row.onlineEqpCount; var allEqpCount = row.allEqpCount == null ? 0 : row.allEqpCount; var signInTollCollector = row.signInTollCollector == null ? 0 : row.signInTollCollector; return '
地磁:在线' + onlineEqpCount + '/' + allEqpCount + '
' + '
PDA:在线' + signInTollCollector + '
' } }, { field: 'price', title: '人员信息', width: '10%', align: "left", formatter: function (value, row, index) { var allTollCollector = row.allTollCollector == null ? 0 : row.allTollCollector; var signInTollCollector = row.signInTollCollector == null ? 0 : row.signInTollCollector; return '
收费员:
' + '
应签到:' + allTollCollector + '人    实签到:' + signInTollCollector + '人
' } }, ] }); }, alertIfo: function (plNo, plName) { plNo = $("#dataplno").val(); //初始化 $("#basePlName").text(''); $("#basePlType").text(''); $("#baseDeviceType").text(''); $("#baseBerthNum").text('0个'); $("#baseInOutNum").text("2出2入"); $("#baseBusiCircle").text(''); $("#baseAddress").text(''); $("#baseParkImg").empty(); $("#baseMaxCarTwo").text('0'); $("#baseMaxCarThree").text('0'); $("#baseMaxCarFirst").text('0'); $("#baseSmallCarFirst").text('0'); $("#baseSmallCarTwo").text('0'); $("#baseSmallCarThree").text('0'); var req = { sysCode: sysComm.sysCode, pklNo: plNo }; var getParkLotEqpCountChart = { method: "post", url: dataUrl.util.queryParkingBaseInfo(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { var result = res.data; console.log(result); $("[data-toggle='tooltip']").tooltip({ delay: {show: 500, hide: 100}, }); //停车类型 var parkType; var eqpName; if (1 == result.plType) { parkType = '路侧'; eqpName = '地磁'; } else if (2 == result.plType) { parkType = '封闭'; eqpName = '道闸'; } else { parkType = '未知'; eqpName = '地磁'; } //商圈属性1:商场、2:医院、3:小区、4:学校、5:写字楼、6:景区、7:交通场站、8:其他 var busiCircle; if (1 == result.busiCircle) { busiCircle = '商场' } else if (2 == result.busiCircle) { busiCircle = '医院' } else if (3 == result.busiCircle) { busiCircle = '小区' } else if (4 == result.busiCircle) { busiCircle = '学校' } else if (5 == result.busiCircle) { busiCircle = '写字楼' } else if (6 == result.busiCircle) { busiCircle = '景区' } else if (7 == result.busiCircle) { busiCircle = '交通场站' } else { busiCircle = '其他' } $("#basePlName").text(result.plName); $("#basePlType").text(parkType); $("#baseDeviceType").text(eqpName); $("#baseBerthNum").text(result.plBerthNum + '个'); $("#baseInOutNum").text((result.plExitNum == null ? 0 : result.plExitNum) + "出" + (result.plEntranceNum == null ? 0 : result.plEntranceNum) + "入"); $("#baseBusiCircle").text(busiCircle); $("#baseAddress").text(result.plAddress); // photoList var photos = result.picUrls; var html = ''; $.each(photos, function (index, item) { html += "
  • "; }); html += '
    '; $("#baseParkImg").html(html); var plRate=result.plRate; if(plRate==null || plRate==undefined || plRate==''||plRate==='[]'){ $("#plRate").empty(); var htmlnew='
  • '+ '
    '+ // '
    '+ '
    暂未配置
    '+ '
    暂未配置
    '+ '
  • '; $("#plRate").html(htmlnew); }else{ plRate = JSON.parse(plRate); console.log(plRate); $("#plRate").empty(); var htmlnew=''; for(var index in plRate){ htmlnew += '
  • '+ '
    '+ // '
    '+ '
    '+plRate[index].standard+'
    '+ '
    '+plRate[index].standardInfo+'
    '+ ''; } $("#plRate").html(htmlnew); $("[data-toggle='tooltip']").tooltip({ delay: {show: 500, hide: 100}, }); } } } }; sysAjax(getParkLotEqpCountChart); // $('#m_r_bar li').eq(0).click(); $('#caryard_alertmodel').modal('show'); }, //根据停车场编码获取车位信息 getBerthInfoByPlNo: function (plNo) { //数据初始化 $('#allBerthNum').text(''); $('#freeBerthNum').text(''); $('#useBerthNum').text(''); $('#caryard-berth-ifo-main').html(''); //判断是否为封闭停车场 var plTypeStr = $("#basePlType").text(); if(plTypeStr == '封闭'){ plNo = $("#dataplno").val(); var plName = $("#dataplname").val(); $("#parkDataPlName").text(plName); /**1、查询实时停车场数据 **/ var plNos = []; plNos.push(plNo); var req = { sysCode: sysComm.sysCode, plNos: plNos }; var opt = { method: 'post', url: dataUrl.util.queryParkRealTimeDatasByPlNos(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { console.log(res); if (res.code == '8888') { var data = res.data; var berthFreeNum = data.berthFreeNum; var berthNum = data.berthNum; var useBerthNum = parseInt(berthNum) - parseInt(berthFreeNum); $('#allBerthNum').text(berthNum); $('#freeBerthNum').text(berthFreeNum); $('#useBerthNum').text(useBerthNum); $('#caryard-berth-ifo-main').html('
    封闭停车场暂无泊位数据
    '); } } }; sysAjax(opt); return; } plNo = $("#dataplno").val(); var allBerths = 0; var freeBerths = 0; var req = { baseRequest: { pageNum: 1, pageSize: 0 }, sysCode: sysComm.sysCode, plNo: plNo } var opt = { method: 'post', url: dataUrl.util.queryBerthByBerthForPage(), data: JSON.stringify(req), success: function (res) { if (res.code == '8888') { var data = res.data.rows; $('#caryard-berth-ifo-main').empty(); var _html = ''; // var allBerthData=[]; var freeBerthData = []; var useBerthData = []; if (data != null && data.length > 0) { for (var m = data.length - 1; m >= 0; m--) { allBerths += 1; // allBerthData.push(data[m].berthNo); if (parseInt(data[m].isOccupy) == 2) { freeBerths += 1; freeBerthData.push(data[m].berthNo); } else if (parseInt(data[m].isOccupy) == 1) { useBerthData.push(data[m].berthNo); } } } $('#allBerthNum').text(allBerths); $('#freeBerthNum').text(freeBerths); $('#useBerthNum').text(parseInt(allBerths) - parseInt(freeBerths)); var number = data.length; var num = Math.ceil(number / 9); console.log(num); // var number = 45; // var num = Math.ceil(number/15); // $('#caryard-berth-ifo-main').empty(); // var _html = ''; for(var i=0;i=0;k--){ if (parseInt(data[number-1-k].isOccupy) == 2) { _html += '
    ' + data[number-1-k].berthNo + '
    '; } else if (parseInt(data[number-1-k].isOccupy) == 1) { _html += '
    ' + data[number-1-k].berthNo + '
    '; } } }else{ for(var j=0;j<9;j++){ if (parseInt(data[9*i+j].isOccupy) == 2) { _html += '
    ' + data[9*i+j].berthNo + '
    '; } else if (parseInt(data[9*i+j].isOccupy) == 1) { _html += '
    ' + data[9*i+j].berthNo + '
    '; } } } _html += '
  • '; } // for(var i=0;i= 0; m--) { // if (parseInt(data[m].isOccupy) == 2) { // _html += '
    ' + data[m].berthNo + '
    '; // } else if (parseInt(data[m].isOccupy) == 1) { // _html += '
    ' + data[m].berthNo + '
    '; // } // } // _html += ''; // }else{ // // } // } //for(var i=0;i= 0; m--) { // if (parseInt(data[m].isOccupy) == 2) { // _html += '
    ' + data[m].berthNo + '
    '; // } else { // _html += '
    ' + data[m].berthNo + '
    '; // } // } // //} // } //} // for (var i = 0; i < num; i++) { // _html += '
  • '; // if (i != (num - 1)) { // for (var k = 0; k < useBerthData.length; k++) { // _html += '
    ' + useBerthData[k] + '
    '; // } // } else { // for (var j = 0; j < freeBerthData.length; j++) { // _html += '
    ' + freeBerthData[j] + '
    '; // } // } // // _html += '
  • '; // } // $('#caryard-berth-ifo-main').html(_html); } } } sysAjax(opt); }, turnOverRateOccupyCarFlowLineCharts:function () { var plNos = []; var plNo = $("#dataplno").val(); plNos.push(plNo); if (plNos.length < 1) { plNos.push("-1X"); } var req = { sysCode: sysComm.sysCode, plNos: plNos, } var opt = { method: 'post', url: dataUrl.util.queryTodayVehicleFlowOccupyRateAndTurnOver(), async: false, data: JSON.stringify(req), success: function (res) { if (res.code == '8888') { //获取数据成功 var data = res.data; var xAxisData = []; var seriesData = []; var time = new Date().getHours() + 1; for (var i = 0; i < time; i++) { var item = data[i]; var hour = item.hour + ''; if (hour.length == 1) { hour = '0' + hour; } hour += ':00'; xAxisData.push(hour); seriesData.push(item.avgTurnoverRate.toFixed(2)); } } } } sysAjax(opt); }, loadParkDatas: function (plNo) { plNo = $("#dataplno").val(); var plName = $("#dataplname").val(); $("#parkDataPlName").text(plName); /**1、查询实时停车场数据 **/ var plNos = []; plNos.push(plNo); var req = { sysCode: sysComm.sysCode, plNos: plNos }; var opt = { method: 'post', url: dataUrl.util.queryParkRealTimeDatasByPlNos(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { console.log(res); if (res.code == '8888') { var data = res.data; var berthFreeNum = data.berthFreeNum; var berthNum = data.berthNum; var useBerthNum = parseInt(berthNum) - parseInt(berthFreeNum); var rate = 0; if(berthNum!=undefined && berthNum !=null && berthNum!=0){ rate = parseInt(useBerthNum * 100 / berthNum); } $("#parkDataFreeBerthNum").text(berthNum); var parkDataAllIncome = data.allIncome; $("#parkDataAllIncome").text(fun.money(parkDataAllIncome)); var parkOnLinePayNum=data.parkOnLinePayNum==null?0:data.parkOnLinePayNum; var parkOffLinePayNum=data.parkOffLinePayNum==null?0:data.parkOffLinePayNum; var vipPayNum=data.vipCardChargeNum==null?0:data.vipCardChargeNum; $("#parkDataIncomeCount").text(parkOnLinePayNum+parkOffLinePayNum+vipPayNum); /**今日交易 **/ var parkIncome = data.parkIncome; var parkWxIncome=data.parkWxIncome; var parkAliIncome = data.parkAliIncome; var parkCashIncome=data.parkCashIncome; var parkBalanceIncome = data.parkBalanceIncome; if(parseInt(parkIncome)==0){ var wxRate=0; var aliRate=0; var cashRate=0; var otherRate=0; }else{ var wxRate=parseInt(parkWxIncome*100/parkIncome); var aliRate=parseInt(parkAliIncome*100/parkIncome); var cashRate=parseInt(parkCashIncome*100/parkIncome); var otherRate=parseInt(parkBalanceIncome*100/parkIncome); } $("#wxRate").css("width",wxRate+'%'); $("#aliRate").css("width",aliRate+'%'); $("#cashRate").css("width",cashRate+'%'); $("#otherRate").css("width",otherRate+'%'); /**占用率 **/ fun.rateEchart(rate, berthNum, useBerthNum); } } }; sysAjax(opt); //2左下角设备状态 $("#eqpInfo").empty(); //初始化 $("#eqpInfo").html('
  • 岗亭服务器' + '' + ' 无
  • ' + '
  • 地磁' + '' + ' 无
  • ' + '
  • 视频桩' + '' + ' 无
  • ' + '
  • 地锁' + '' + ' 无
  • ' + '
  • 网关' + '' + ' 无
  • ' + '
  • 道闸' + '' + ' 无
  • ' + '
  • PDA' + '' + ' 无
  • '); fun.queryParkData(plNo); }, queryParkData:function (plNo) { var occupydData=getOccupyXDatas(); var req = { sysCode: sysComm.sysCode, pklNo: plNo, }; var opttwo={ method: "post", url: dataUrl.util.queryParkingdatas(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', async: true, success: function (res) { console.log(res); if (res.code == '8888') { var parkDatas = res.data; //console.log(displayCountry); //1-地磁;2-视频桩;3-地锁,4-网关,5-中继器等' 9-PDA var eqpType = [0, 1, 2, 3, 4, 5, 9]; $.each(parkDatas.deviceVoList, function (index, item) { var sub = eqpType.indexOf(item.type); if (sub != -1) { var html = $("#eqpInfo").find('li').eq(sub).html(); html = html.replace("无", "在线"); if (item.onlineCount < item.allCount) { html = html.replace("ITD-common-color000", "color-status-abnormal").replace("在线", "故障"); } $("#eqpInfo").find('li').eq(sub).html(html); } }); if(parkDatas.statisList != null && (parkDatas.statisList).length >0){ $.each(parkDatas.statisList, function (index, item) { var curDate = new Date(); curDate.setTime(item.statisticEndTime); for(inData in occupydData.xTimeDatas){ if(occupydData.xTimeDatas[inData] == (curDate.getHours()+':00')){ occupydData.occupyDatas[inData]=(1-(item.freeRatio < 0 ? 0 : item.freeRatio)).toFixed(2); occupydData.turnOverDatas[inData]=item.turnoverRatio < 0 ? 0 : (item.turnoverRatio).toFixed(2); } } }); //第一、二个数后台未返回,补零 //occupydData.occupyDatas[0]=0; //occupydData.turnOverDatas[0]=0; } // console.log(occupydData.xTimeDatas); // console.log(occupydData.occupyDatas); /**24小时利用率 **/ fun.usageEchart(occupydData.xTimeDatas,occupydData.occupyDatas); } }}; sysAjax(opttwo); }, }; fun.init(); //查询 事件 documentBindFunc.on('click', '#caryard_queryBtn', function () { fun.createTableData(); }); setInterval(function () { fun.queryParkRealTimeDatasByPlNos(); },commonObj.refreshDataTime); /*弹窗js---------------------------------------------------------------------------*/ //上下滚动播报 (function ($) { $.fn.myScroll = function (options) { //榛樿閰嶇疆 var defaults = { speed: 40, rowHeight: 24 //姣忚鐨勯珮搴� }; var opts = $.extend({}, defaults, options), intId = []; function marquee(obj, step) { obj.find("ul").animate({ marginTop: '-=1' }, 0, function () { var s = Math.abs(parseInt($(this).css("margin-top"))); if (s >= step) { $(this).find("li").slice(0, 1).appendTo($(this)); $(this).css("margin-top", 0); } }); } this.each(function (i) { var sh = opts["rowHeight"], speed = opts["speed"], _this = $(this); intId[i] = setInterval(function () { if (_this.find("ul").height() <= _this.height()) { clearInterval(intId[i]); } else { marquee(_this, sh); } }, speed); _this.hover(function () { clearInterval(intId[i]); }, function () { intId[i] = setInterval(function () { if (_this.find("ul").height() <= _this.height()) { clearInterval(intId[i]); } else { marquee(_this, sh); } }, speed); }); }); } })(jQuery); $("div.list_lh").myScroll({ speed: 40, //数值越大,速度越慢 rowHeight: 28 //li的高度 }); // $(document).delegate('.info-alert', 'click', function () { // // var plNo = $(this).attr("dataplno"); // // var plName = $(this).attr("dataplname"); // // console.log(plNo); // // $("#dataplno").val(plNo); // // $("#dataplname").val(plName); // // $('#ITD-alert-tab-wrap li').eq(0).click(); // // fun.alertIfo(); // }); $('#recordtable').on('click-row.bs.table', function (e, row, element) { //$(element).css({"color":"blue","font-size":"16px;"}); console.log(row); var plNo = row.plNo; var plName = row.plName; console.log(plNo); $("#dataplno").val(plNo); $("#dataplname").val(plName); $('#ITD-alert-tab-wrap li').eq(0).click(); }); /** *弹窗切换 **/ $('#ITD-alert-tab-wrap li').on('click', function () { var _index = $(this).index(); $('#ITD-alert-tab-wrap>li').eq(_index).addClass('ITD-alert-tab-active').siblings().removeClass('ITD-alert-tab-active'); $('#ITD-alertcon-tab-wrap>li').eq(_index).removeClass('display-none').siblings().addClass('display-none'); if (0 == _index) { fun.alertIfo(); } else if (1 == _index) { fun.getBerthInfoByPlNo(); } else { console.log(33333); fun.loadParkDatas(); } }); /** * 自定义table AJAX请求 * @param {Object} params */ function tableLoadRequest(params) { var req = fun.getQueryParam(); //设置请求参数 var pageNum = (params.data.offset / params.data.limit) + 1; //条件查询 req.baseRequest = { pageNum: pageNum, pageSize: params.data.limit }; req.sysCode = sysComm.sysCode; var opt = { method: 'post', url: dataUrl.util.queryParkinglotBasicFactsByPlNos(), 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); } } }; sysAjax(opt); } //导出 var InterValObj; //timer变量,控制时间 var count = 8; //间隔函数,1秒执行 var curCount;//当前剩余秒数 function sendMessage() { curCount = count; //设置button效果,开始计时 $("#caryardReport").attr("disabled", "true"); $(".ITD-export-btn").css("width", "138px"); $("#caryardReport").val(curCount + "秒后可再次导出"); InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次 } //timer处理函数 function SetRemainTime() { if (curCount == 0) { window.clearInterval(InterValObj);//停止计时器 $("#caryardReport").removeAttr("disabled");//启用按钮 $(".ITD-export-btn").css("width", "72px"); $("#caryardReport").val("导出"); } else { curCount--; $("#caryardReport").val(curCount + "秒后可再次导出"); } } //导出excle documentBindFunc.on('click','#caryardReport',function (){ //获取table所有行数据 var parkLot = $("#recordtable").bootstrapTable('getData'); //获取table总条数 var numTotal = $("#recordtable").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; } 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(); var data = fn.getParkLot(); var plNos = []; for (var i = 0; i < data.length; i++) { plNos.push(data[i].code); } if (plNos.length < 1) { plNos.push("-1X"); } var plNos = fun.getQueryParam().plNos; var url = dataUrl.util.exportParkinglotBasicFactsByPlNos(); var form = caryardForm(url, plNos); console.log(form); form.submit(); }); function caryardForm(url,plNos){ var form = document.createElement("form"); form.style.display='none';; form.action = url; form.method="post"; document.body.appendChild(form); var input = document.createElement("input"); //input.type = "hidden"; input.name = "plNos"; input.value = plNos; form.appendChild(input); return form; } //费率转换 function parsePlRate(plRate) { if (null == plRate) { return []; } var plRateData = JSON.parse(plRate); console.log(plRateData); var result = []; var patrn = /\d+(\.\d+)?/g; $.each(plRateData, function (index, item) { var temp = item.standard; var data = {}; data.carType = temp.substring(0, temp.indexOf(":")); var nums = temp.match(patrn); data.first = nums[0];//第一小时10元 data.second = nums[1];//后1.5元/半小时 temp = item.standardInfo; nums = temp.match(patrn); data.third = nums[0];//24小时 data.four = nums[1];//60元 result.push(data); }) return result; } //5、24小时占用率x时间轴获取 function getOccupyXDatas(){ var occupyDatas=[]; var turnOverDatas=[]; var xTimeDatas=[]; var curDate = new Date(); for (var i=0;i<24;i++){ curDate.setTime(curDate.getTime()+60*60*1000); xTimeDatas.push(curDate.getHours()+':00'); occupyDatas[i]=0; turnOverDatas[i]=0; } var occupydData={ occupyDatas:occupyDatas, turnOverDatas:turnOverDatas, xTimeDatas:xTimeDatas } return occupydData; }