var fun = {
init: function () {
commSelect.area_Pl_LinkedSelect("#bill-parkArea", "#bill-parkIds");
fun.dateInit();
fun.monthdateInit();
fun.createTableData();
fun.initSummaryFeeData();
//弹窗
documentBindFunc.on('click', '[lookOper]', function() {
fun.lookOper(this);
});
},
//时间初始化
dateInit: function () {
$('#bill-daterange-btnsta').val(moment().subtract('days', 1).format('YYYY-MM-DD'));
$('#bill-daterange-btnend').val(moment().subtract('days', 1).format('YYYY-MM-DD'));
//开始日期
$("#bill-daterange-btnsta").datetimepicker({
endDate: moment().subtract('days', 1).format('YYYY-MM-DD'),
format: 'yyyy-mm-dd',
autoclose: true,
startView: 2,
minView: 2,
forceParse: false,
locale: "zh-CN",
language: 'zh-CN',
pickerPosition: "bottom-right"
})
$("#bill-daterange-btnend").datetimepicker({
endDate: moment().subtract('days', 1).format('YYYY-MM-DD'),
//startDate:startVal,
format: 'yyyy-mm-dd',
weekStart: 1,
autoclose: true,
startView: 2,
minView: 2,
forceParse: false,
locale: "zh-CN",
language: 'zh-CN',
pickerPosition: "bottom-right"
})
},
monthdateInit: function () {
/** 月 时间初始化 **/
$('#bill-monthdaterange-btnsta').val(moment().subtract('months', 1).format('YYYY-MM'));
$('#bill-monthdaterange-btnend').val(moment().subtract('months', 1).format('YYYY-MM'));
//开始日期
$("#bill-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"
})
//结束日期
$("#bill-monthdaterange-btnend").datetimepicker({
endDate: moment().subtract('months', 1).format('YYYY-MM'),
//startDate:startVal,
format: 'yyyy-mm',
weekStart: 1,
autoclose: true,
startView: 3,
minView: 3,
forceParse: false,
locale: "zh-CN",
language: 'zh-CN',
pickerPosition: "bottom-right"
})
},
/*获取查询参数*/
queryParamForBillManage: function () {
var plNos = JSON.parse($("#bill-parkIds").val());
if (plNos.length < 0 || plNos == null || plNos == undefined) {
plNos.push(-1);
}
/**统计分类 1、日 2、 月**/
var timeType = 1;
/*开始时间*/
var beginTime;
/*结束时间*/
var endTime;
timeType = $("#queryType").val();
if (1 == parseInt(timeType)) {
//日
beginTime = $("#bill-daterange-btnsta").val();
endTime = $("#bill-daterange-btnend").val();
beginTime = beginTime + " 00:00:00";
endTime = endTime + " 23:59:59";
} else {
timeType = 2;
beginTime = $("#bill-monthdaterange-btnsta").val() + "-01 00:00:00";
endTime = $("#bill-monthdaterange-btnend").val();
var dates = endTime.split("-");
if (dates[1] == '02') {
endTime = endTime + "-28 23:59:59";
} else if (dates[1] == '01' || dates[1] == '03' || dates[1] == '05' || dates[1] == '07'
|| dates[1] == '08' || dates[1] == '10' || dates[1] == '12') {
endTime = endTime + "-31 23:59:59";
} else {
endTime = endTime + "-30 23:59:59";
}
}
beginTime = beginTime == null || beginTime.length == 0 ? null : new Date((beginTime).replace(/-/g, "/"));
endTime = endTime == null || endTime.length == 0 ? null : new Date((endTime).replace(/-/g, "/"));
var detailType =$("#tab-btn-wrap").find(".tabAction").val();///**1.停车场;2:办事处.*/
//alert(detailType)
var req = {
plNos: plNos,
beginTime: beginTime,
endTime: endTime,
timeType: timeType,
detailType:detailType
};
//console.log(req);
return req;
},
initSummaryFeeData:function(){
$("#park_actFeeForRefund").text("0.00");
$("#park_actFee").text("0.00");
$("#vip_actFee").text("0.00");
$("#back_actFee").text("0.00");
$("#park_dicountFee").text("0.00");
$("#back_dicountFee").text("0.00");
$("#vip_dicountFee").text("0.00");
$("#park_totalFee").text("0.00");
$("#vip_totalFee").text("0.00");
$("#back_totalFee").text("0.00");
$("#all_totalFee").text("0.00");
$("#all_actFee").text("0.00");
$("#all_dicountFee").text("0.00");
$("#all_otherFee").text("0.00");
$("#all_qfFee").text("0.00");
$("#qfRefund").text("0.00");
$('#historyOrderBackTotalFee').text("0.00");//补缴应收=实收+优惠
$("#historyOrderBackFee").text("0.00");//历史补缴=总补缴 - 当天补缴
$("#historyOrderBackDicountFee").text("0.00");//历史补缴优惠=总补缴优惠 - 当天补缴优惠
var req=fun.queryParamForBillManage();
//条件查询
req.baseRequest = {
pageNum: 1,
pageSize: 0
};
req.sysCode = sysComm.sysCode;
var opt = {
method: 'post',
url: dataUrl.util.querySummaryFeeByTypeNew(),
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){
/********************begin实收*****************************/
//临停应收=临停实收+临停优惠
var parkTotalFee=data.parkTotalFee==null?0:data.parkTotalFee;
//临停实收
var parkActFee=data.parkActFee==null?0:data.parkActFee;
//临停折扣=临停优惠
var parkDicountFee=data.parkDicountFee==null?0:data.parkDicountFee;
//会员卡应收=会员卡实收+会员卡优惠
var vipTotalFee=data.vipTotalFee==null?0:data.vipTotalFee;
//会员卡实收
var vipActFee=data.vipActFee==null?0:data.vipActFee;
//会员卡折扣
var vipDicountFee=data.vipDicountFee==null?0:data.vipDicountFee;
//临停欠费
var orderArrearageFee=data.arrearageFeeTotal==null?0:data.arrearageFeeTotal;
//会员卡欠费
var vipArrearageFee=0;
//补缴卡欠费
var arrearageFeeForBack=0;
//总补缴实收
var backActFeeALL=data.backActFeeTotal==null?0:data.backActFeeTotal;
//当天补缴实收
var backActFee=data.currentBackActFeeTotal==null?0:data.currentBackActFeeTotal;
//总补缴折扣
var backDicountFeeAll=data.backDicountFeeTotal==null?0:data.backDicountFeeTotal;
//当天补缴折扣
var backDicountFee=data.currentBackDicountFeeTotal==null?0:data.currentBackDicountFeeTotal;
//总应收=总应收=临停实收+临停优惠+当天补缴实收+当天补缴优惠+会员卡实收+会员卡折扣+欠费
var totalFee = data.totalFee==null?0:data.totalFee;
//总实收 = 临停实收 + 会员卡实收+总补缴
var actFeeTotal= data.actFeeTotal==null?0:data.actFeeTotal;
//总优惠=临停优惠+会员卡优惠+总补缴优惠
var dicountFeeTotal = data.dicountFeeTotal==null?0:data.dicountFeeTotal;
/******************************begin赋值操作******************************************/
//应收
$("#all_totalFee").text(fun.money(totalFee)); //总应收
$("#park_totalFee").text(fun.money(parkTotalFee+orderArrearageFee+backActFee+backDicountFee));//临停应收
$("#vip_totalFee").text(fun.money(vipTotalFee));//会员卡应收
//实收
$("#all_actFee").text(fun.money(actFeeTotal));//实收汇总
$("#park_actFee").text(fun.money(parkActFee+backActFee)); //临停实收=当日临停+当日补缴
$("#vip_actFee").text(fun.money(vipActFee)); //会员卡实收
$("#historyOrderBackFee").text(fun.money(backActFeeALL - backActFee));//历史补缴=总补缴 - 当天补缴
//折扣 ==dicountFeeTotal
$("#all_dicountFee").text(fun.money(parkDicountFee+vipDicountFee+backDicountFeeAll)); //汇总折扣
$("#park_dicountFee").text(fun.money(parkDicountFee+backDicountFee));//临停折扣==当日临停+当日补缴
$("#vip_dicountFee").text(fun.money(vipDicountFee));//会员卡折扣
$("#historyOrderBackDicountFee").text(fun.money(backDicountFeeAll - backDicountFee));//历史补缴优惠=总补缴优惠 - 当天补缴优惠
//欠费
$('#all_qfFee').text(fun.money(orderArrearageFee));//总欠费
$('#qfRefund').text(fun.money(orderArrearageFee));//临停欠费
}
}
}
};
sysAjax(opt);
},
//办事处 table 默认
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: 'checkDate',
title: '日期',
align: 'left',
rowspan: 2,
valign: "middle",
formatter: commonObj.replacenull
//width: '20%'
},
{
field: 'areaName',
title: '办事处',
align: 'left',
rowspan: 2,
valign: "middle",
//formatter: commonObj.replacenull
formatter: fun.operFormatter
},
{
field: 'totalFee',
title: '应收',
align: 'left',
rowspan: 2,
valign: "middle",
width: '10%',
formatter: commonObj.moneyFormatter
},
{
field: '',
title:'总实收',
valign: "middle",
align: "center",
colspan: 5,
rowspan: 1
},
{
field: 'arrearageFeeTotal',
title: '欠费',
align: 'left',
rowspan: 2,
valign: "middle",
width: '10%',
formatter: commonObj.moneyFormatter
},
{ field: 'actFeeForRefund',
title: '退费',
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
return commonObj.moneyFormatter(fun.refundFeeFormatter(value,row,index));
}
},
{
field: 'dicountFeeTotal',
title: '折扣',
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: commonObj.moneyFormatter
},
/**{
field: 'backFee',
title: '历史补缴',
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
return commonObj.moneyFormatter(fun.backHisFeeFormatter(value,row,index));
}
},
{
field: 'backFee',
title: '历史补缴折扣',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
return commonObj.moneyFormatter(fun.backDisHisFeeFormatter(value,row,index));
}
},**/
{
field: 'berthNum',
title: '泊位数',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: commonObj.numberFormatter
},
{
field: 'avgBerthsTotalFee',
title: '泊位平均应收',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
if(value == null){
return "0.00"
}
return (value / 100).toFixed(2);
}
},
{
field: 'avgBerthsActFee',
title: '泊位平均实收',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
if(value == null){
return "0.00"
}
return (value / 100).toFixed(2);
}
},
{
field: 'backFee',
title: '线上支付率 ',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
return fun.rateFormatter(fun.aliActFeeFormatter(value, row, index)
+fun.wxActFeeFormatter(value, row, index)+fun.balanceActFeeFormatter(value, row, index),row.actFeeTotal)
}
},
{
field: 'arrearageFeeTotal',
title: '欠费率 ',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
return fun.rateFormatter((row.arrearageFeeTotal),row.totalFee);
}
},
],
[
{
field: 'wxFee',
title: '微信',
width: '10%',
align: "left",
formatter:function (value, row, index) {
return commonObj.moneyFormatter(fun.wxActFeeFormatter(value,row,index));
}
},
{
field: 'aliFee',
title: '支付宝',
width: '10%',
align: "left",
formatter:function (value, row, index) {
return commonObj.moneyFormatter(fun.aliActFeeFormatter(value,row,index));
}
},
{
field: 'cashFee',
title: '现金',
width: '10%',
align: "left",
formatter: function (value, row, index) {
return commonObj.moneyFormatter(fun.cashActFeeFormatter(value,row,index));
}
},
{
field: 'balanceFee',
title: '余额',
width: '10%',
align: "left",
formatter:function (value, row, index) {
return commonObj.moneyFormatter(fun.balanceActFeeFormatter(value,row,index));
}
},
{
field: 'actFeeTotal',
title: '合计',
width: '10%',
align: "left",
formatter:commonObj.moneyFormatter
},
],
]
});
},
rateFormatter:function(value,value1){
if(value == null || value <= 0 ){
return "0%";
}else if (value1 == null || value1 <= 0){
value1 = 100;
}
return (value * 100 /value1).toFixed(2) + "%";
},
//合计
orderActFeeFormatter:function(value, row, index){
var resultFee = value;
if(row.backActFeeTotal != null){
resultFee += row.backActFeeTotal;
}
if(row.currentBackActFeeTotal != null){
resultFee -= row.currentBackActFeeTotal;
}
return resultFee;
},
//微信实收
wxActFeeFormatter:function(value, row, index){
//实收=临停实收+总补缴补缴+会员卡
var resultFee = 0;
if(row.parkWxFee != null){
resultFee += row.parkWxFee;
}
if(row.backWxFee != null){
resultFee += row.backWxFee;
}
if(row.vipWxFee != null){
resultFee += row.vipWxFee;
}
return (resultFee);
},
//支付宝实收
aliActFeeFormatter:function(value, row, index){
//实收=临停实收+当天补缴+会员卡
var resultFee = 0;
if(row.parkAliFee != null){
resultFee += row.parkAliFee;
}
if(row.backAliFee != null){
resultFee += row.backAliFee;
}
if(row.vipAliFee != null){
resultFee += row.vipAliFee;
}
return (resultFee);
},
//现金实收
cashActFeeFormatter:function(value, row, index){
//实收=临停实收+当天补缴+会员卡
var resultFee = 0;
if(row.parkCashFee != null){
resultFee += row.parkCashFee;
}
if(row.backCashFee != null){
resultFee += row.backCashFee;
}
if(row.vipCashFee != null){
resultFee += row.vipCashFee;
}
return (resultFee);
},
//余额实收
balanceActFeeFormatter:function(value, row, index){
//实收=临停实收+当天补缴+会员卡
var resultFee = 0;
if(row.parkBalanceFee != null){
resultFee += row.parkBalanceFee;
}
if(row.backBalanceFee != null){
resultFee += row.backBalanceFee;
}
if(row.vipBalanceFee != null){
resultFee += row.vipBalanceFee;
}
return (resultFee);
},
//合计实收
actFeeFormatter:function(value, row, index){
//实收=临停实收+补缴+会员卡
var resultFee = 0;
if(row.parkActFee != null){
resultFee += row.parkActFee;
}
if(row.backActFeeTotal != null){
resultFee += row.backActFeeTotal;
}
if(row.vipActFee != null){
resultFee += row.vipActFee;
}
return (resultFee);
},
//欠费
//arrearageFeeTotal
//退费
refundFeeFormatter:function(value, row, index){
//退费=临停退费+会员卡退费
var resultFee = 0;
if(row.refundParkFee != null){
resultFee += row.refundParkFee;
}
if(row.refundVipFee != null){
resultFee += row.refundVipFee;
}
return (resultFee);
},
//折扣
dicountFeeFormatter:function(value, row, index){
//折扣=临停折扣+折扣+会员卡折扣
var resultFee = 0;
if(row.parkDicountFee != null){
resultFee += row.parkDicountFee;
}
if(row.currentBackDicountFeeTotal != null){//因为
resultFee -= row.currentBackDicountFeeTotal;
}
if(row.backDicountFeeAll != null){//因为
resultFee += row.backDicountFeeAll;
}
if(row.vipDicountFee != null){
resultFee += row.vipDicountFee;
}
return (resultFee);
},
//历史补缴
backHisFeeFormatter:function(value, row, index){
//补缴=总补缴-当天补缴(支付宝、微信、余额、现金)
var resultFee = 0;
if(row.backActFeeTotal != null){
resultFee += row.backActFeeTotal;
}
if(row.currentBackAliFee != null){
resultFee -= row.currentBackAliFee;
}
if(row.currentBackWxFee != null){
resultFee -= row.currentBackWxFee;
}
if(row.currentBackCashFee != null){
resultFee -= row.currentBackCashFee;
}
if(row.currentBackBalanceFee != null){
resultFee -= row.currentBackBalanceFee;
}
return (resultFee);
},
//历史补缴折扣
backDisHisFeeFormatter:function(value, row, index){
//历史补缴折扣=总补缴折扣-当天补缴折扣(支付宝、微信、余额、现金)
var resultFee = 0;
if(row.backDicountFeeTotal != null){
resultFee += row.backDicountFeeTotal;
}
if(row.currentBackDicountFeeTotal != null){
resultFee -= row.currentBackDicountFeeTotal;
}
return (resultFee);
},
//停车场 table 维度
createbscTableData: 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: 'checkDate',
title: '日期',
align: 'left',
rowspan: 2,
valign: "middle",
formatter: commonObj.replacenull
//width: '20%'
},
{
field: 'areaName',
title: '办事处',
align: 'left',
rowspan: 2,
valign: "middle",
//formatter: fun.operFormatter
formatter: commonObj.replacenull
},
{
field: 'plName',
title: '停车场',
valign: "middle",
align: 'left',
rowspan: 2
},
{
field: 'totalFee',
title: '应收',
align: 'left',
rowspan: 2,
valign: "middle",
width: '10%',
formatter: commonObj.moneyFormatter
},
{
field: '',
title:'实收',
valign: "middle",
align: "center",
colspan: 5,
rowspan: 1
},
{
field: 'arrearageFeeTotal',
title: '欠费',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
formatter: commonObj.moneyFormatter
},
{ field: 'actFeeForRefund',
title: '退费',
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
return commonObj.moneyFormatter(fun.refundFeeFormatter(value,row,index));
}
},
{
field: 'dicountFeeTotal',
title: '折扣',
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: commonObj.moneyFormatter
},
/** {
field: 'backFee',
title: '历史补缴',
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
return commonObj.moneyFormatter(fun.backHisFeeFormatter(value,row,index));
}
},
{
field: 'backFee',
title: '历史补缴折扣',
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
return commonObj.moneyFormatter(fun.backDisHisFeeFormatter(value,row,index));
}
},*/
{
field: 'berthNum',
title: '泊位数',
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: commonObj.numberFormatter
},
{
field: 'avgBerthsTotalFee',
title: '泊位平均应收',
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
if(value == null){
return "0.00"
}
return (value / 100).toFixed(2);
}
},
{
field: 'avgBerthsActFee',
title: '泊位平均实收',
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
if(value == null){
return "0.00"
}
return (value / 100).toFixed(2);
}
},
{
field: 'backFee',
title: '线上支付率',
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
return fun.rateFormatter(fun.aliActFeeFormatter(value, row, index)
+fun.wxActFeeFormatter(value, row, index)+fun.balanceActFeeFormatter(value, row, index),row.actFeeTotal)
}
},
{
field: 'arrearageFeeTotal',
title: '欠费率',
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
return fun.rateFormatter((row.arrearageFeeTotal),row.totalFee);
}
},
],
[
{
field: 'wxFee',
title: '微信',
width: '10%',
align: "left",
formatter:function (value, row, index) {
return commonObj.moneyFormatter(fun.wxActFeeFormatter(value,row,index));
}
},
{
field: 'aliFee',
title: '支付宝',
width: '10%',
align: "left",
formatter:function (value, row, index) {
return commonObj.moneyFormatter(fun.aliActFeeFormatter(value,row,index));
}
},
{
field: 'cashFee',
title: '现金',
width: '10%',
align: "left",
formatter: function (value, row, index) {
return commonObj.moneyFormatter(fun.cashActFeeFormatter(value,row,index));
}
},
{
field: 'balanceFee',
title: '余额',
width: '10%',
align: "left",
formatter:function (value, row, index) {
return commonObj.moneyFormatter(fun.balanceActFeeFormatter(value,row,index));
}
},
{
field: 'actFeeTotal',
title: '合计',
width: '10%',
align: "left",
formatter: commonObj.moneyFormatter
},
],
]
});
},
//操作显示
operFormatter: function(value, row, index) {
var areaName="-";
if(row.areaName!=null){
areaName=row.areaName;
}
var areaId="-";
if(row.areaId!=null){
areaId=row.areaId;
}
var operStr = ''+ areaName +'';
return operStr;
},
money:function (value) {
if(value==null || value==undefined || value =="0.00"){
return "0.00";
}else{
return (value/100).toFixed(2);
}
},
lookOper: function(element) {
$('#popAreaname').text('');
var areaName = $(element).attr('areaname');
areaId = $(element).attr('areaid');
var areadate = $(element).attr('datatime');
$('#popAreaname').text(areaName+'('+areadate+')');
if(areaName!=null && areaName !=undefined && areaName !="全部" && areaName!="-"){
var beginTime= $(element).attr('datatime');
if(beginTime.length>7){
beginTimeNew =new Date((beginTime + " 00:00:00").replace(/-/g, "/"));
endTimeNew =new Date((beginTime + " 23:59:59").replace(/-/g, "/"));
}else{
beginTimeNew =new Date((beginTime + "-01 00:00:00").replace(/-/g, "/"));
//console.log(beginTime);
var dates = beginTime.split("-");
//console.log(dates[1]);
if (dates[1] == '02') {
beginTime = beginTime + "-28 23:59:59";
} else if (dates[1] == '01' || dates[1] == '03' || dates[1] == '05' || dates[1] == '07'
|| dates[1] == '08' || dates[1] == '10' || dates[1] == '12') {
beginTime = beginTime + "-31 23:59:59";
} else {
beginTime = beginTime + "-30 23:59:59";
}
endTimeNew =new Date((beginTime).replace(/-/g, "/"));
}
var plNos = JSON.parse($("#bill-parkIds").val());
//console.log(plNos.length);
parkIdList = [];
if(parseInt(plNos.length)>=2){
parkIdList=fun.getPlNosByAreaName(areaName);
}else{
parkIdList=plNos;
}
//console.log(parkIdList);
fun.popCreateTableData();
$('#billmana-myModal').modal('show');
}
},
getPlNosByAreaName: function (areaName) {
//停车场
var data = fn.getParkLot();
var areaPlNos = {};
var areaNameList = [];
for (var i = 0; i < data.length; i++) {
var areaNameNew = data[i].areaName;
if (areaNameList.indexOf(areaNameNew) == -1) {
areaNameList.push(areaNameNew);
var plNos = [];
plNos.push(data[i].code);
areaPlNos[areaNameNew] = plNos;
} else {
var plNos = areaPlNos[areaNameNew];
if (plNos.indexOf(data[i].code) == -1) {
plNos.push(data[i].code);
areaPlNos[areaNameNew] = plNos;
}
}
}
return areaPlNos[areaName];
},
//账单列表明细
popCreateTableData: function () {
$('#billincometable').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: tableLoadRequestpop, //自定义ajax加载数据
uniqueId: 'id',
columns: [
[
// {
// field: 'checkDate',
// title: '日期',
// valign: "middle",
// align: 'left',
// rowspan: 2,
// valign: "middle",
// //width: '20%'
// },
{
field: 'plName',
title: '车场名称',
valign: "middle",
align: 'left',
rowspan: 2,
valign: "middle"
},
{
field: 'totalFee',
title: '应收',
valign: "middle",
align: 'left',
rowspan: 2,
valign: "middle",
width: '10%',
formatter: commonObj.moneyFormatter
},
{
field: '',
title:'实收',
valign: "middle",
align: "center",
colspan: 5,
rowspan: 1
},
{
field: 'arrearageFeeTotal',
title: '欠费',
valign: "middle",
align: 'left',
rowspan: 2,
valign: "middle",
width: '10%',
formatter: commonObj.moneyFormatter
},
{ field: 'actFeeForRefund',
title: '退费',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
return commonObj.moneyFormatter(fun.refundFeeFormatter(value,row,index));
}
},
{
field: 'dicountFeeTotal',
title: '折扣',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: commonObj.moneyFormatter
},
/**{
field: 'backFee',
title: '历史补缴',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
return commonObj.moneyFormatter(fun.backHisFeeFormatter(value,row,index));
}
},
{
field: 'backFee',
title: '历史补缴折扣',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
return commonObj.moneyFormatter(fun.backDisHisFeeFormatter(value,row,index));
}
},*/
{
field: 'berthNum',
title: '泊位数',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: commonObj.numberFormatter
},
{
field: 'avgBerthsTotalFee',
title: '泊位平均应收',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
if(value == null){
return "0.00"
}
return (value / 100).toFixed(2);
}
},
{
field: 'avgBerthsActFee',
title: '泊位平均实收',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
if(value == null){
return "0.00"
}
return (value / 100).toFixed(2);
}
},
{
field: 'backFee',
title: '线上支付率',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
return fun.rateFormatter(fun.aliActFeeFormatter(value, row, index)
+fun.wxActFeeFormatter(value, row, index)+fun.balanceActFeeFormatter(value, row, index),row.actFeeTotal)
}
},
{
field: 'arrearageFeeTotal',
title: '欠费率',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
valign: "middle",
formatter: function (value, row, index) {
return fun.rateFormatter((row.arrearageFeeTotal),row.totalFee);
}
},
],
[
{
field: 'wxFee',
title: '微信',
width: '10%',
align: "left",
formatter:function (value, row, index) {
return commonObj.moneyFormatter(fun.wxActFeeFormatter(value,row,index));
}
},
{
field: 'aliFee',
title: '支付宝',
width: '10%',
align: "left",
formatter:function (value, row, index) {
return commonObj.moneyFormatter(fun.aliActFeeFormatter(value,row,index));
}
},
{
field: 'cashFee',
title: '现金',
width: '10%',
align: "left",
formatter: function (value, row, index) {
return commonObj.moneyFormatter(fun.cashActFeeFormatter(value,row,index));
}
},
{
field: 'balanceFee',
title: '余额',
width: '10%',
align: "left",
formatter:function (value, row, index) {
return commonObj.moneyFormatter(fun.balanceActFeeFormatter(value,row,index));
}
},
{
field: 'actFeeTotal',
title: '合计',
width: '10%',
align: "left",
formatter: commonObj.moneyFormatter
},
],
]
});
},
};
fun.init();
//查询
documentBindFunc.on('click', '#bill-queryBtn', function () {
$('#tab-btn-wrap li').removeClass('tabAction');
$('.areaactive').addClass('tabAction');
fun.createTableData();
fun.initSummaryFeeData();
});
//切换 搜索部分 是否生效
documentBindFunc.on('click', "#bill-toptab div.ITD-graynav-topbar", function () {
var index = $(this).index();
$(this).addClass('ITD-graynav-topbaractive').siblings('div').removeClass('ITD-graynav-topbaractive');
//console.log(index);
//切换完后,调用查询表格
// fun.createTableData();
});
//日月切换 点击事件
//日 点击
documentBindFunc.on('click', '#billdayType', function () {
$('.bill-choosedateday').removeClass('display-none');
$('.bill-choosedatemonth').addClass('display-none');
$('#queryType').attr('data-value', '1');
$("#queryType").val(1);
fun.createTableData();
fun.initSummaryFeeData();
});
//月 点击
documentBindFunc.on('click', '#billmonthType', function () {
$('.bill-choosedatemonth').removeClass('display-none');
$('.bill-choosedateday').addClass('display-none');
$('#queryType').attr('data-value', '2');
$("#queryType").val(2);
fun.createTableData();
fun.initSummaryFeeData();
});
//切换 全部 有差异 无差异
$('#tab-btn-wrap li').on('click',function () {
var that=$(this).index();
//因后面逻辑需要,一定要线切换 tabAction 样式, 然后在调用 对应的函数
$(this).addClass('tabAction').siblings().removeClass('tabAction');
if(that==1){
//停车场 维度
fun.createbscTableData();
}else{
//办事处 维度
fun.createTableData();
}
});
/**
* 自定义table AJAX请求
* @param {Object} params
*/
function tableLoadRequest(params) {
var req = fun.queryParamForBillManage();
//设置请求参数
var pageNum = (params.data.offset / params.data.limit) + 1;
//条件查询
req.baseRequest = {
pageNum: pageNum,
pageSize: params.data.limit
};
req.sysCode = sysComm.sysCode;
req.checkFeeTypes=[100,103,300,301,302];
var opt = {
method: 'post',
url: dataUrl.util.queryDetailForAreaByTypeNew(),
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 AJAX请求
* @param {Object} params
*/
var parkIdList=[];
var areaId;
var beginTimeNew;
var endTimeNew;
function tableLoadRequestpop(params) {
var req = fun.queryParamForBillManage();
//设置请求参数
var pageNum = (params.data.offset / params.data.limit) + 1;
//条件查询
req.baseRequest = {
pageNum: pageNum,
pageSize: params.data.limit
};
req.beginTime=beginTimeNew;
req.endTime=endTimeNew;
req.plNos = null;
req.areaId = areaId;
req.sysCode = sysComm.sysCode;
req.checkFeeTypes=[100,103,300,301,302];
var cehicleFlowTableAjax = {
method: params.type,
url: dataUrl.util.queryDetailForParkByTypeNew(),
data: JSON.stringify(req),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(res) {
console.log(res.data);
if(res.code == '8888') {
//alert(res.data);
params.success(res.data);
} else {
}
}
};
sysAjax(cehicleFlowTableAjax);
}
//导出
var InterValObj; //timer变量,控制时间
var count = 8; //间隔函数,1秒执行
var curCount;//当前剩余秒数
function sendMessage() {
curCount = count;
//设置button效果,开始计时
$("#billmanageReport").attr("disabled", "true");
$(".ITD-export-btn").css("width", "138px");
$("#billmanageReport").val(curCount + "秒后可再次导出");
InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
}
//timer处理函数
function SetRemainTime() {
if (curCount == 0) {
window.clearInterval(InterValObj);//停止计时器
$("#billmanageReport").removeAttr("disabled");//启用按钮
$(".ITD-export-btn").css("width", "72px");
$("#billmanageReport").val("导出");
}
else {
curCount--;
$("#billmanageReport").val(curCount + "秒后可再次导出");
}
}
//导出excle
documentBindFunc.on('click','#billmanageReport',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;
}
//超1万条 缩短查询范围
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 req = fun.queryParamForBillManage();
var beginTime = DateUtils.long2String(req.beginTime, 7);
var endTime = DateUtils.long2String(req.endTime, 7);
var url = dataUrl.util.exportBillExcleforAllNew();
var forms = exportIncomeDetailFormforbill(url, beginTime, endTime, req.plNos, req.timeType
);
forms.submit();
});
function exportIncomeDetailFormforbill(url, beginTime, endTime, plNos, timeType
) {
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 = "beginTime";
input.value = beginTime;
form.appendChild(input);
var input2 = document.createElement("input");
input2.name = "endTime";
input2.value = endTime;
form.appendChild(input2);
var input3 = document.createElement("input");
//input2.type = "hidden";
input3.name = "plNos";
input3.value = plNos;
form.appendChild(input3);
var input16 = document.createElement("input");
//input15.type = "hidden";
input16.name = "timeType";
input16.value = timeType;
form.appendChild(input16);
return form;
};