var plNos=[];var plNos1=[];var plNos2=[]; var chartData; var generalFun={ init:function () { // generalFun.generalIncomeTotal(); generalFun.getParkNums(); generalFun.getRealTimeDatas(); generalFun.turnOverRateOccupyCarFlowLineCharts(); generalFun.zfzbChartsFun(); //统计设备数量 generalFun.staticEqpNums(); }, /*获取查询参数*/ getQueryParam: function () { 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 req = { sysCode: sysComm.sysCode, plNos: plNos, }; return req; }, //获取停车场数量 getParkNums:function(){ //获取停车场 plNos=[];plNos1=[];plNos2=[]; var data = fn.getParkLotByPlType(1); for (var i = 0; i < data.length; i++) { plNos1.push(data[i].code); } //获取封闭的停车场 data = fn.getParkLotByPlType(2); for (var i = 0; i < data.length; i++) { plNos2.push(data[i].code); } plNos=plNos.concat(plNos1); plNos=plNos.concat(plNos2); $("#parkTotalNum").html(plNos.length); $("#OutparkNum").html(plNos1.length); $("#inParkNum").html(plNos2.length); // $("#OutparkNum").attr('title',plNos1.length+"/"+plNos2.length); }, //查询停车场实时运行情况数据-泊位个数、占用率、周转次数 getRealTimeDatas:function(){ var outBerthNum = 0; var inBerthNum = 0; var outAllIncome = 0; var inAllIncome = 0; var outBerthFreeNum = 0; var inBerthFreeNum = 0; var outOutCarNum = 0; var inOutCarNum = 0; var req = { sysCode: sysComm.sysCode, plNos: plNos, }; var realTimeAjax = { method: "post", url: dataUrl.util.queryParkRealTimeListByPlNos(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { var data = res.data; if (data != null && data.length > 0) { $.each(data, function(index,item) { if(plNos1.indexOf(item.plNo) > -1){ outBerthNum+=item.berthNum; outAllIncome+=item.allIncome; outBerthFreeNum+=item.berthFreeNum; outOutCarNum+=item.outCarNum; }else if(plNos2.indexOf(item.plNo) > -1){ inBerthNum+=item.berthNum; inAllIncome+=item.allIncome; inBerthFreeNum+=item.berthFreeNum; inOutCarNum+=item.outCarNum; } }); //泊位数 $("#pBerthTotalNum").text(outBerthNum + inBerthNum); $("#OutpBerthNum-side").text(outBerthNum ); $("#OutpBerthNum-close").text(inBerthNum); // $("#OutpBerthNum").attr('title',outBerthNum +"/"+ inBerthNum); //占用率 $("#orderActFeeTotal").attr('title',generalFun.moneyFomatter(outAllIncome + inAllIncome)) $("#orderActFeeTotal").text(generalFun.moneyFomatter(outAllIncome + inAllIncome)); $("#OutorderActFeeToal-side").text(generalFun.moneyFomatter(outAllIncome)); $("#OutorderActFeeToal-close").text(generalFun.moneyFomatter(inAllIncome)); var berthNum = inBerthNum+outBerthNum; var berthFreeNum = inBerthFreeNum+outBerthFreeNum; $("#orderActFeeParkTotal").text(((berthNum - berthFreeNum)*100/(berthNum<1?1:berthNum)).toFixed(2)+"%"); var outOccupyRate = (((outBerthNum - outBerthFreeNum)*100/(outBerthNum<1?1:outBerthNum)).toFixed(2)); var inOccupyRate = (((inBerthNum - inBerthFreeNum)*100/(inBerthNum<1?1:inBerthNum)).toFixed(2)); $("#OutorderActFeePark-side").text(outOccupyRate +"%"); $("#OutorderActFeePark-close").text(inOccupyRate+"%"); //周转次数 var outCarNum = inOutCarNum+outOutCarNum; $("#orderActFeeVipCardTotal").text(outCarNum); $("#OutorderActFeeVipCard-side").text(outOutCarNum ); $("#OutorderActFeeVipCard-close").text(inOutCarNum); } } else { console.log(res); } } }; sysAjax(realTimeAjax); }, //总收入 generalIncomeTotal:function () { var req = generalFun.getQueryParam(); var opt = { method: 'post', //url: dataUrl.util.queryParkRealTimeDatasByPlNos(), async:false, data: JSON.stringify(req), success: function (res) { if (res.code == '8888') { //获取数据成功 } } } sysAjax(opt); }, moneyFomatter:function(value){ if(value==null){ return "0.00"; } else{ return (value/100).toFixed(2); } }, //支付方式占比 zfzbChartsFun:function () { var dataValue=[ {value: 5000, name: "支付宝"}, {value: 8000, name: "微信"}, {value: 2000, name: "余额"}, {value: 5000, name: "现金"} ]; var allIncome=0; var req = generalFun.getQueryParam(); var opt = { method: 'post', url: dataUrl.util.queryParkRealTimeDatasByPlNos(), async:false, data: JSON.stringify(req), success: function (res) { if (res.code == '8888') { //获取数据成功 var data = res.data; dataValue[0].value=generalFun.moneyFomatter(data.allAliIncome); dataValue[1].value=generalFun.moneyFomatter(data.allWxIncome); dataValue[2].value=generalFun.moneyFomatter(data.allBalanceIncome); dataValue[3].value=generalFun.moneyFomatter(data.allCashIncome); allIncome = generalFun.moneyFomatter(data.allIncome); } } } sysAjax(opt); // var zfzbecharts = echarts.init(document.getElementById('zfzb-echarts')); // zfzboption = { // color:['#1e95cd','#5fe98f','#fdc94d','#50c0f5'], // title: { // subtext: "" + allIncome, // //subtext: "20000", // text: '总金额', // textStyle: { // color: 'rgba(0,0,0,0.45)', // fontSize: '14', // align: 'middle', // verticalAlign: 'middle', // }, // subtextStyle: { // color: 'rgba(0,0,0,0.85)', // fontSize: '24', // align: 'middle', // verticalAlign: 'middle', // }, // left: 'center', // top: '105', // // }, // tooltip: { // trigger: 'item', // formatter: "{a}
{b}: {c} ({d}%)" // }, // legend: { // selectedMode:false, // orient: 'horizontal', // bottom: '30', // icon:'circle', // data:['支付宝','微信','余额','现金'] // }, // series: [ // { // name:'支付方式占比', // type:'pie', // radius: ['55%', '65%'], // center: ['50%', '40%'], // hoverAnimation: false, // avoidLabelOverlap: false, // legendHoverLink: false, // label: { // normal: { // show: false, // position: 'center' // }, // emphasis: { // show: false, // textStyle: { // fontSize: '14', // } // } // }, // labelLine: { // normal: { // show: false // } // }, // data:dataValue // // data:[ // // {value: 5000, name: "支付宝"}, // // {value: 8000, name: "微信"}, // // {value: 2000, name: "余额"}, // // {value: 5000, name: "现金"} // // ] // } // ] // } // zfzbecharts.setOption(zfzboption, true); // //自适应 // window.onresize = function(){ // zfzbecharts.resize(); // }; }, //车流量、占用率、周转次数折线图 按停车场类型 turnOverRateOccupyCarFlowLineCharts:function() { var req = generalFun.getQueryParam(); var opt = { method: 'post', url: dataUrl.util.queryTodayVehicleFlowOccupyRateAndTurnOver(), data: JSON.stringify(req), success: function (res) { if (res.code == '8888') { //获取数据成功 chartData = res.data; //车流量 cllEcharts(chartData); //占用率 //zylEcharts(chartData); } } } sysAjax(opt); }, //统计设备数量 staticEqpNums:function() { var req = generalFun.getQueryParam(); req.eqpTypes=[-1];/**设备类型:-1 全部 1-地磁;2-视频桩;3-地锁,4-网关,5-中继器 9-PDA,10-道闸*/ var opt = { method: 'post', url: dataUrl.util.statisticParkLotEqpCountByPlNos(), async:false, data: JSON.stringify(req), success: function (res) { var ydata = ['地磁', 'PDA','道闸']; var onLineEqpNum = [0,0,0];//在线 var offLineEqpNum = [0,0,0];//掉线 var faultEqpNum = [0,0,0];//故障 if (res.data != null) { for (var i = 0; i < res.data.length; i++) { //eqpType 1:地磁 9:POS机 if (res.data[i].eqpType == 1) {//地磁 //eqpState 设备状态:1-掉线,0-在线 if (res.data[i].eqpState == 0) { onLineEqpNum[0] = res.data[i].eqpNum; } else if(res.data[i].eqpState == 1){ offLineEqpNum[0] += res.data[i].eqpNum; }else if(res.data[i].eqpState == 2){ faultEqpNum[0] += res.data[i].eqpNum; } } else if (res.data[i].eqpType == 9) {//pos机 if (res.data[i].eqpState == 0) { onLineEqpNum[1] = res.data[i].eqpNum; }else if(res.data[i].eqpState == 1){ offLineEqpNum[1] += res.data[i].eqpNum; }else if(res.data[i].eqpState == 2){ faultEqpNum[1] += res.data[i].eqpNum; } }else if (res.data[i].eqpType == 10) {//道闸 if (res.data[i].eqpState == 0) { onLineEqpNum[2] = res.data[i].eqpNum; }else if(res.data[i].eqpState == 1){ offLineEqpNum[2] += res.data[i].eqpNum; }else if(res.data[i].eqpState == 2){ faultEqpNum[2] += res.data[i].eqpNum; } } } //汇总数据 //总数 var allGeoNum = onLineEqpNum[0]+offLineEqpNum[0]+faultEqpNum[0]; var allPdaNum = onLineEqpNum[1]+offLineEqpNum[1]+faultEqpNum[1]; var allDZNum = onLineEqpNum[2]+offLineEqpNum[2]+faultEqpNum[2]; //地磁 var onLineGeoRate = ((onLineEqpNum[0]*100)/(allGeoNum<1?1:allGeoNum)).toFixed(2)+"%"; var offLineGeoRate = ((offLineEqpNum[0]*100)/(allGeoNum<1?1:allGeoNum)).toFixed(2)+"%"; var faultGeoRate = ((faultEqpNum[0]*100)/(allGeoNum<1?1:allGeoNum)).toFixed(2)+"%"; //pda var onLinePdaRate = ((onLineEqpNum[1]*100)/(allPdaNum<1?1:allPdaNum)).toFixed(2)+"%"; var offLinePdaRate = ((offLineEqpNum[1]*100)/(allPdaNum<1?1:allPdaNum)).toFixed(2)+"%"; var faultPdaRate = ((faultEqpNum[1]*100)/(allPdaNum<1?1:allPdaNum)).toFixed(2)+"%"; //道闸 var onLineDZRate = ((onLineEqpNum[2]*100)/(allDZNum<1?1:allDZNum)).toFixed(2)+"%"; var offLineDZRate = ((offLineEqpNum[2]*100)/(allDZNum<1?1:allDZNum)).toFixed(2)+"%"; var faultDZRate = ((faultEqpNum[2]*100)/(allDZNum<1?1:allDZNum)).toFixed(2)+"%"; if(fn.getUserId() == 10146){ //应武警、金洋要求,市政处账号 演示时,固定设备数 allPdaNum = 301; var onLinePDANum = 103; var offLinePDANum = allPdaNum - onLinePDANum; var faultPDANum = 0; onLinePdaRate = (onLinePDANum*100/allPdaNum).toFixed(2)+"%"; offLinePdaRate = (offLinePDANum*100/allPdaNum).toFixed(2)+"%"; faultPdaRate = (faultPDANum*100/allPdaNum).toFixed(2)+"%"; allGeoNum = 3006; var onLineGeoNum = 2750; var offLineGeoNum = allGeoNum - onLineGeoNum; var faultGeoNum = 0; onLineGeoRate = (onLineGeoNum*100/allGeoNum).toFixed(2)+"%"; offLineGeoRate = (offLineGeoNum*100/allGeoNum).toFixed(2)+"%"; faultGeoRate = (faultGeoNum*100/allGeoNum).toFixed(2)+"%"; allDZNum = 28; var onLineDZNum = 26; var offLineDZNum = allDZNum - onLineDZNum; var faultDZNum = 0; onLineDZRate = (onLineDZNum*100/allDZNum).toFixed(2)+"%"; offLineDZRate = (offLineDZNum*100/allDZNum).toFixed(2)+"%"; faultDZRate = (faultDZNum*100/allDZNum).toFixed(2)+"%"; } $("#allGeoNum").text(allGeoNum+" / "+onLineGeoRate); $("#onlineGeoNum").css("width",onLineGeoRate); $("#offLineGeoNum").css("width",offLineGeoRate); $("#faultGeoNum").css("width",faultGeoRate); $("#allPdaNum").text(allPdaNum+" / "+onLinePdaRate); $("#onlinePdaNum").css("width",onLinePdaRate); $("#offLinePdaNum").css("width",offLinePdaRate); $("#faultPdaNum").css("width",faultPdaRate); $("#allDZNum").text(allDZNum+" / "+onLineDZRate); $("#onlineDZNum").css("width",onLineDZRate); $("#offLineDZNum").css("width",offLineDZRate); $("#faultDZNum").css("width",faultDZRate); } } } sysAjax(opt); }, }; generalFun.init(); setInterval(function () { generalFun.init(); },commonObj.refreshDataTime); // -----------------------------------------支付方式 // -----------------------------------------实时统计 //切换 车流量 占用率 周转次数 $('#tab-btn-wrap li').on('click',function () { var _index = $(this).index(); if(_index==0){ cllEcharts(chartData); }else if(_index==1){ zylEcharts(chartData); }else{ zzlEcharts(chartData); }; $(this).addClass('tabAction').siblings().removeClass('tabAction'); }); //车流量 function cllEcharts(data) { var xAxisData = []; var inseriesData = []; var outseriesData = []; var time = new Date().getHours()+1; for(var i=0;i