// 搜索日期切换 //日 周 月 切换 var reportDateTag=1; var srzbechartsPie; $('#parkincome-toptab li').on('click',function () { var _index = $(this).index(); switch (_index){ case 0: $('.parkincome-choosedatemonth').addClass('display-none'); $('.parkincome-choosedateweek').addClass('display-none'); $('.parkincome-choosedateday').removeClass('display-none'); $('#parkincome-toptab li').eq(0).addClass('ITD-graynav-topbaractive').siblings().removeClass('ITD-graynav-topbaractive'); // incomeparkFun.dayDate(); reportDateTag=1; tabFunction(reportDateTag); break; case 1: $('.parkincome-choosedateday').addClass('display-none'); $('.parkincome-choosedatemonth').addClass('display-none'); $('.parkincome-choosedateweek').removeClass('display-none'); $('#parkincome-toptab li').eq(1).addClass('ITD-graynav-topbaractive').siblings().removeClass('ITD-graynav-topbaractive'); // incomeparkFun.weekDate(); reportDateTag=2; tabFunction(reportDateTag); break; case 2: $('.parkincome-choosedateday').addClass('display-none'); $('.parkincome-choosedateweek').addClass('display-none'); $('.parkincome-choosedatemonth').removeClass('display-none'); $('#parkincome-toptab li').eq(2).addClass('ITD-graynav-topbaractive').siblings().removeClass('ITD-graynav-topbaractive'); // incomeparkFun.monthDate(); reportDateTag=3; tabFunction(reportDateTag); break; } }) //切换tcb事件 function tabFunction(reportDateTag){ incomeparkFun.incomeparkTotal(reportDateTag); incomeparkFun.queryIncomeParkForPayType(); var index = $("#srzb-tabbar .srzb-active").index(); if(index==0){ //临停数据 incomeparkFun.ltsrcreateTableData(); $("#reportLi").css({display:"block"}); }else{ //会员卡数据 incomeparkFun.vipcreateTableData(); $("#reportLi").css({display:"none"}); } } //支付方式占比 var incomeparkFun={ init:function(){ //incomeparkFun.srzbChartsFun(); incomeparkFun.dayDate(); incomeparkFun.weekDate(); incomeparkFun.monthDate(); //汇总查询 incomeparkFun.incomeparkTotal(1); incomeparkFun.queryIncomeParkForPayType(); //临停数据 incomeparkFun.ltsrcreateTableData(); }, //汇总查询 incomeparkTotal:function(reportTabTag){ //获取停车场信息 //获取停车场信息 var data = fn.getParkLot(); var plNos = []; for (var i = 0; i < data.length; i++) { plNos.push(data[i].code); } var reportDate=""; var reportTabTag=reportDateTag; if(reportTabTag==1){ reportDate=$("#incomepark-daydaterange-btnsta").val(); }else if(reportTabTag==2){ var reportDateStr=$("#incomepark-weekdaterange-btnsta").attr('data-text'); reportDate=reportDateStr.substring(11,21); }else if(reportTabTag==3){ reportDate=$("#incomepark-monthdaterange-btnsta").val(); } var reportTabTagName = ""; if("1" ==reportTabTag){ reportTabTagName="日"; $("#reportDateTitle").text(reportDate); }else if("2" ==reportTabTag){ reportTabTagName="周"; }else{ reportTabTagName="月"; } //条件查询 var req = { reportDate:reportDate, plNos:plNos, reportTabTag:reportTabTag, sysCode:sysComm.sysCode }; var opt = { method: 'post', url: dataUrl.util.queryIncomeParkAndVipForTotal(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if("8888" == res.code){ var data = res.data; console.log(data) if(data.orgName==null || data.orgName==undefined || data.orgName ==''){ data.orgName=" "; } $("#orgName").val(data.orgName); $("#orgNameTitle").text(data.orgName+" 停车场统计"+reportTabTagName+"报"); if(reportTabTagName=='周'){ console.log(reportTabTagName); $("#reportDateTitle").text($("#incomepark-weekdaterange-btnsta").html()) }else{ $("#reportDateTitle").text(reportDate); } $("#parkTotalNum").text(data.parkTotalNum); //停车场总个数 $("#pBerthTotalNum").text(data.pBerthTotalNum); //泊位总个数 $("#orderActFeeTotal").text(moneyFormatter(data.orderActFeeTotal)); //总收入 $("#orderActFeeParkTotal").text(moneyFormatter(data.orderActFeeParkTotal)); //临时停车总收入 $("#orderActFeeVipCardTotal").text(moneyFormatter(data.orderActFeeVipCardTotal)); //会员卡总收入 //明细 var incomeParkAndVipDetailList = data.incomeParkAndVipDetailList; $.each(incomeParkAndVipDetailList,function(index,row){ if("1" ==row.plType){//路侧停车场 $("#OutparkNum").text(row.parkNum); //路测停车场个数 $("#OutpBerthNum").text(row.pBerthNum); //路测泊位个数 $("#OutorderActFeeToal").text(moneyFormatter(row.orderActFeeToal)); //路测总收入 $("#OutorderActFeePark").text(moneyFormatter(row.orderActFeePark)); //路测临停车收入 $("#OutorderActFeeVipCard").text(moneyFormatter(row.orderActFeeVipCard)); //路测会员卡收入 }else{ $("#InparkNum").text(row.parkNum); //封闭停车场个数 $("#InpBerthNum").text(row.pBerthNum); //封闭泊位个数 $("#InorderActFeeToal").text(moneyFormatter(row.orderActFeeToal)); //封闭总收入 $("#InorderActFeePark").text(moneyFormatter(row.orderActFeePark)); //封闭临停车收入 $("#InorderActFeeVipCard").text(moneyFormatter(row.orderActFeeVipCard)); //封闭会员卡收入 } }); } } }; sysAjax(opt); }, dayDate:function() { $('#incomepark-daydaterange-btnsta').val(moment().subtract('days', 1).format('YYYY-MM-DD')); $('#incomepark-daydaterange-btnsta').datetimepicker({ endDate: moment().subtract('days', 1).format('YYYY-MM-DD'), format: 'yyyy-mm-dd', autoclose: true, startView: 2, //maxDate:moment().subtract('months', 3), minView: 2, forceParse: false, locale: "zh-CN", language: 'zh-CN', pickerPosition: "bottom-right" }) }, weekDate:function() { $('#incomepark-weekdaterange-btnsta').attr('data-text',moment().subtract('days', 7).format('YYYY-MM-DD')+'-'+moment().subtract('days', 1).format('YYYY-MM-DD')) $('#incomepark-weekdaterange-btnsta').html(moment().subtract('days', 7).format('YYYY-MM-DD')+' 至 '+moment().subtract('days', 1).format('YYYY-MM-DD')); }, monthDate:function() { $('#incomepark-monthdaterange-btnsta').val(moment().subtract('months', 1).format('YYYY-MM')); $('#incomepark-monthdaterange-btnsta').datetimepicker({ endDate: moment().subtract('months', 1).format('YYYY-MM'), format: 'yyyy-mm', autoclose: true, startView: 3, //maxDate:moment().subtract('months', 3), minView: 3, forceParse: false, locale: "zh-CN", language: 'zh-CN', pickerPosition: "bottom-right" }) }, //默认生成表格数据-临停收入 ltsrcreateTableData: function () { $('#incomepark-billtable').bootstrapTable('destroy').bootstrapTable({ striped: true,//表格显示条纹 pagination: true, //启动分页 pageNumber: 1, //当前第几页 pageSize: 10, //每页显示的记录数 pageList: [10, 15, 20], //记录数可选列表 sidePagination: 'server',//表示服务端分页 queryParamsType: 'limit', sortable: true, //是否启用排序 sortOrder: "asc", method: 'POST',//请求方法 paginationPreText: '<', paginationNextText: '>', ajax: incomeparktableLoadRequest,//自定义ajax加载数据 // uniqueId:'id', columns: [ { field: 'number', title: '排名', width: '2%', align: "left", formatter:function(value,row,index){ //return index+1; //序号正序排序从1开始 var pageSize=$('#incomepark-billtable').bootstrapTable('getOptions').pageSize;//通过表的#id 可以得到每页多少条 var pageNumber=$('#incomepark-billtable').bootstrapTable('getOptions').pageNumber;//通过表的#id 可以得到当前第几页 var operStr=''; var topNo=pageSize * (pageNumber - 1) + index + 1; if(topNo==1){ operStr =''+topNo+''; return operStr; //返回每条的序号: 每页条数 * (当前页 - 1 )+ 序号 }else if(topNo==2){ operStr =''+topNo+''; return operStr; //返回每条的序号: 每页条数 * (当前页 - 1 )+ 序号 }else if(topNo==3){ operStr =''+topNo+''; return operStr; //返回每条的序号: 每页条数 * (当前页 - 1 )+ 序号 }else { operStr =''+topNo+''; return operStr; //返回每条的序号: 每页条数 * (当前页 - 1 )+ 序号 } } }, { field: 'plName', title: '车场名称', width: '10%', align: "left", formatter:commonObj.replacenull }, { field: 'plType', title: '车场类型', width: '3%', align: "left", formatter: incomeparkFun.plTypeFormatter }, { field: 'berthNum', title: '泊位数', width: '2%', align: "left", formatter: incomeparkFun.numberFormatter }, { field: 'chargerNum', title: '收费员人数', width: '2%', align: "left", formatter: incomeparkFun.numberFormatter }, { field: 'wxFee', title: '微信', width: '2%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'aliFee', title: '支付宝', width: '2%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'balanceFee', title: '余额', width: '2%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'cashFee', title: '现金', width: '2%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'actFee', title: '总收入', width: '2%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'totalFee', title: '应收金额', width: '2%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'actFee', title: '泊位平均收益', width: '2%', align: "left", formatter: incomeparkFun.avgFeeFormatter }, { field: 'totalFee', title: '泊位平均应收收益', width: '2%', align: "left", formatter: incomeparkFun.avgFeeFormatter }, ] }); }, //表格数据-会员卡收入 vipcreateTableData: function () { $('#incomepark-billtable').bootstrapTable('destroy').bootstrapTable({ striped: true,//表格显示条纹 pagination: true, //启动分页 pageNumber: 1, //当前第几页 pageSize: 10, //每页显示的记录数 pageList: [10, 15, 20], //记录数可选列表 sidePagination: 'server',//表示服务端分页 queryParamsType: 'limit', sortable: true, //是否启用排序 sortOrder: "asc", method: 'POST',//请求方法 paginationPreText: '<', paginationNextText: '>', ajax: incomeviptableLoadRequest,//自定义ajax加载数据 // uniqueId:'id', columns: [ { field: 'number', title: '排名', width: '2%', align: "left", formatter:function(value,row,index){ //return index+1; //序号正序排序从1开始 var pageSize=$('#incomepark-billtable').bootstrapTable('getOptions').pageSize;//通过表的#id 可以得到每页多少条 var pageNumber=$('#incomepark-billtable').bootstrapTable('getOptions').pageNumber;//通过表的#id 可以得到当前第几页 var operStr=''; var topNo=pageSize * (pageNumber - 1) + index + 1; if(topNo==1){ operStr =''+topNo+''; return operStr; //返回每条的序号: 每页条数 * (当前页 - 1 )+ 序号 }else if(topNo==2){ operStr =''+topNo+''; return operStr; //返回每条的序号: 每页条数 * (当前页 - 1 )+ 序号 }else if(topNo==3){ operStr =''+topNo+''; return operStr; //返回每条的序号: 每页条数 * (当前页 - 1 )+ 序号 }else { operStr =''+topNo+''; return operStr; //返回每条的序号: 每页条数 * (当前页 - 1 )+ 序号 } } }, { field: 'plName', title: '车场名称', width: '10%', align: "left", formatter:commonObj.replacenull }, { field: 'plType', title: '车场类型', width: '5%', align: "left", formatter: incomeparkFun.plTypeFormatter }, { field: 'berthNum', title: '泊位数', width: '2%', align: "left", formatter: incomeparkFun.numberFormatter }, { field: 'actFee', title: '总收入', width: '2%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'wxFee', title: '微信', width: '2%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'aliFee', title: '支付宝', width: '2%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'balanceFee', title: '余额', width: '2%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'cashFee', title: '现金', width: '2%', align: "left", formatter: commonObj.moneyFormatter }, // { // field: 'actFee', // title: '泊位平均收益', // width: '2%', // align: "left", // formatter: incomeparkFun.avgFeeFormatter // }, ] }); }, //数量处理 numberFormatter: function (value) { // console.log(typeof value) if (value == 0 || value == undefined || value == null||value =='') { return 0; } else { return value; } }, //停车场类型 plTypeFormatter: function (value) { if (value == undefined || value == null||value =='') { return ''; } else if(value==1){ return "路侧"; }else if(value==2){ return "封闭"; } }, //泊位平均收益 avgFeeFormatter: function (value,row,index) { var days = incomeparkFun.incomeparkgetQueryParam().days; if (value == undefined || value == null ||value =='') { return commonObj.moneyFormatter(0); } if(row.berthNum == undefined || row.berthNum == null || row.berthNum == 0){ return commonObj.moneyFormatter(value); } else { var avgFee = (value/row.berthNum/days).toFixed(2); return commonObj.moneyFormatter(avgFee); } }, /*获取查询参数*/ incomeparkgetQueryParam: function () { var days = 1;//查询间隔天数 var dayArray = [1,31,28,31,30,31,30,31,31,30,31,30,31]//每月的天数 //0,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10,11,12 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 reportTabTag=reportDateTag; if(reportTabTag==1){ var reportDate=$("#incomepark-daydaterange-btnsta").val(); days = 1; }else if(reportTabTag==2){ var reportDate=$("#incomepark-weekdaterange-btnsta").attr('data-text'); reportDate=reportDate.substring(11,21); days = 7; }else if(reportTabTag==3){ var reportDate=$("#incomepark-monthdaterange-btnsta").val(); var i = reportDate.substring(5,7); i=Number(i); days = dayArray[i]; } var req = { sysCode: sysComm.sysCode, plNos: plNos, reportDate: reportDate, reportTabTag:reportTabTag, days:days }; return req; }, //查询支付方式收费饼图 queryIncomeParkForPayType: function () { $("#outwxfee").text("0.00"); $("#outalifee").text("0.00"); $("#outcashfee").text("0.00"); $("#outbalancefee").text("0.00"); $("#inwxfee").text("0.00"); $("#inalifee").text("0.00"); $("#incashfee").text("0.00"); $("#inbalancefee").text("0.00"); $("#allwxfee").text("0.00"); $("#allalifee").text("0.00"); $("#allcashfee").text("0.00"); $("#allbalancefee").text("0.00"); var req = incomeparkFun.incomeparkgetQueryParam(); req.baseRequest = { pageNum: 1, pageSize: 0 }; var index = $("#disPrint").val(); console.log(index); var url = dataUrl.util.queryIncomeParkForPayType(); if (1 == parseInt(index)) { url = dataUrl.util.queryIncomeParkForPayType(); } else { url = dataUrl.util.queryIncomeVipForPayType(); } var opt = { method: 'POST', url: url, 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; if (data != null && data.length > 0) { for(var index in data){ if(1==parseInt(data[index].plType)){ $("#outwxfee").text(commonObj.moneyFormatter(data[index].wxFee)); $("#outalifee").text(commonObj.moneyFormatter(data[index].aliFee)); $("#outcashfee").text(commonObj.moneyFormatter(data[index].cashFee)); $("#outbalancefee").text(commonObj.moneyFormatter(data[index].balanceFee)); }else if(2==parseInt(data[index].plType)){ $("#inwxfee").text(commonObj.moneyFormatter(data[index].wxFee)); $("#inalifee").text(commonObj.moneyFormatter(data[index].aliFee)); $("#incashfee").text(commonObj.moneyFormatter(data[index].cashFee)); $("#inbalancefee").text(commonObj.moneyFormatter(data[index].balanceFee)); }else{ $("#allwxfee").text(commonObj.moneyFormatter(data[index].wxFee)); $("#allalifee").text(commonObj.moneyFormatter(data[index].aliFee)); $("#allcashfee").text(commonObj.moneyFormatter(data[index].cashFee)); $("#allbalancefee").text(commonObj.moneyFormatter(data[index].balanceFee)); dataValue=[ {value:commonObj.moneyFormatter(data[index].aliFee), name:'支付宝'}, {value:commonObj.moneyFormatter(data[index].wxFee), name:'微信'}, {value:commonObj.moneyFormatter(data[index].balanceFee), name:'余额'}, {value:commonObj.moneyFormatter(data[index].cashFee), name:'现金'}, ] incomeparkFun.srzbChartsFun(dataValue); // srzbChartsFun(dataValue); } } }else{ dataValue=[ {value:0, name:'支付宝'}, {value:0, name:'微信'}, {value:0, name:'余额'}, {value:0, name:'现金'} ]; //console.log(dataValue); incomeparkFun.srzbChartsFun(dataValue); } } else { dataValue=[ {value:0, name:'支付宝'}, {value:0, name:'微信'}, {value:0, name:'余额'}, {value:0, name:'现金'} ]; //console.log(dataValue); incomeparkFun.srzbChartsFun(dataValue); // srzbChartsFun(dataValue); } } }; sysAjax(opt); }, srzbChartsFun:function (dataValue) { console.log(dataValue); srzbechartsPie = echarts.init(document.getElementById('srzb-echarts')); srzboption = { color:['#1E95CD','#5fe98f','#fdc94d','#50c0f5'], title: { // subtext: "" + totalFee, // text: '总计', textStyle: { color: '#c2c2c2', fontSize: '14', align: 'middle', verticalAlign: 'middle', }, subtextStyle: { color: '#000', fontSize: '24', align: 'middle', verticalAlign: 'middle', }, left: 'center', top: '60', }, tooltip: { trigger: 'item', formatter: "{a}
{b}: {c} ({d}%)" }, legend: { selectedMode:false, orient: 'horizontal', bottom: '0', 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 } ] } srzbechartsPie.setOption(srzboption, true); window.srzbechartsPie=srzbechartsPie; //自适应 window.onresize = function(){ srzbechartsPie.resize(); }; } }; incomeparkFun.init(); //临停 会员卡收入 切换 documentBindFunc.on('click', "#srzb-tabbar div", function () { var index = $(this).index(); //console.log(index); $(this).addClass('srzb-active').siblings('div').removeClass('srzb-active'); //加载临停数据 index=0 if(index==0){ incomeparkFun.ltsrcreateTableData(); $('#disPrint').attr('data-size','1'); $('#disPrint').val(1); $("#reportLi").css({display:"block"}); }else{ incomeparkFun.vipcreateTableData(); $('#disPrint').val(2); $("#reportLi").css({display:"none"}); } incomeparkFun.queryIncomeParkForPayType(); }); // 收入明细 /** * 默认table 函数 * 自定义table AJAX请求 * @param {Object} params */ function incomeparktableLoadRequest(params) { var req = incomeparkFun.incomeparkgetQueryParam(); //设置请求参数 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.queryParkIncomeForPage(), 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); } /** * 默认table 函数 * 自定义table AJAX请求 * @param {Object} params */ function incomeviptableLoadRequest(params) { var req = incomeparkFun.incomeparkgetQueryParam(); //设置请求参数 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.queryVipCardIncomeForPage(), 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); } /** * 金额处理 * @param value * @returns {*} */ function moneyFormatter (value) { // console.log(typeof value) if (value == 0 || value == undefined || value == null) { return "0.00"; } else { return (value / 100).toFixed(2); } } //打印 //打印功能 documentBindFunc.on('click','#incomeParkPrint',function () { //printTarget();网页打印 //; var data = fn.getParkLot(); var plNos = []; for (var i = 0; i < data.length; i++) { plNos.push(data[i].code); } var userName = fn.getUserName(); var reportDate=""; var reportTabTag = $("#parkincome-toptab").find("li.ITD-graynav-topbaractive").attr('reportdatetabtag'); if(reportTabTag==1){ reportDate=$("#incomepark-daydaterange-btnsta").val(); }else if(reportTabTag==2){ var reportDateStr=$("#incomepark-weekdaterange-btnsta").attr('data-text'); reportDate=reportDateStr.substring(11,21); }else if(reportTabTag==3){ reportDate=$("#incomepark-monthdaterange-btnsta").val(); } var indexparkAndVipTag = $("#srzb-tabbar .srzb-active").index(); //明细切换 0:临时停车 1:会员卡 var orgName = $("#orgName").val(); var orgId = fn.getOrgId(); //begin调用打印 var url = dataUrl.util.incomeParkAndVipPrint(); var openUrl = "";//弹出窗口的url var iWidth=800; //弹出窗口的宽度; var iHeight=800; //弹出窗口的高度; var iTop = (window.screen.availHeight-80-iHeight)/2; //获得窗口的垂直位置; var iLeft = (window.screen.availWidth-10-iWidth)/2; //获得窗口的水平位置; var win= window.open('','_blank',"height="+iHeight+", width="+iWidth+", top="+iTop+", left="+iLeft+",location=no,resizable=no"); var html="收入报表
"; html+=""; html+=""; html+=""; html+=""; html+=""; html+=""; html+=""; html+=""; html+="
"; html += "