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