// 搜索日期切换
//日 周 月 切换
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="