var datanum = $('#toll-toptab').attr('data-value');
var inexpfun = {
init: function () {
//收费员初始化
inexpfun.tollperInit();
/**时间初始化*/
$('#tollinexp-daydaterange-btnsta').val(moment().subtract('days', 0).format('YYYY-MM-DD'));
$('#tollinexp-daydaterange-btnend').val(moment().subtract('days', 0).format('YYYY-MM-DD'));
//开始日期
$("#tollinexp-daydaterange-btnsta").datetimepicker({
endDate: moment().subtract('days', 0).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"
})
//结束日期
$("#tollinexp-daydaterange-btnend").datetimepicker({
endDate: moment().subtract('days', 0).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"
})
//充值记录
inexpfun.inexpcreateTableData();
//支出记录
inexpfun.expcreateTableData();
//统计汇总
inexpfun.chargerAcctRecordStatistic();
},
//获取接口收费员信息
getChargerMsg: function () {
var plNo = "";
var chargers = "";
var req = {
baseRequest: {pageNum: 1, pageSize: 0},
plNo: plNo,
parkAreaCode: "",
groupCode: "",
onduty: "",
status: "",
nameOrNo: "",
orgId: fn.getOrgId(),
sysCode: sysComm.sysCode
};
var opt = {
async: false,
data: JSON.stringify(req),
method: "POST",
url: dataUrl.util.queryCashierListInfo(),
success: function (res) {
if (res.code == '8888') {
chargers = JSON.stringify(res.data.rows);
}
}
}
sysAjax(opt);
return JSON.parse(chargers);
},
//收费员下拉框
tollperInit: function () {
var data = inexpfun.getChargerMsg();
var htmls = '';
var html = '';
var chargerCodes = [];
for (var i = 0; i < data.length; i++) {
chargerCodes.push(data[i].chargerCode);
html += "";
}
var chargerCodesStr = JSON.stringify(chargerCodes);
htmls = '' + html;
$("#tollinexp-tollper").empty();
$("#tollinexp-tollper").append(htmls);
$('#tollinexp-tollper').selectpicker('render');
},
//默认生成表格数据-充值记录
inexpcreateTableData: function () {
$('#tollinexp-billtable-pay').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: inexptableLoadRequest,//自定义ajax加载数据
// uniqueId:'id',
columns: [
{
field: 'custId',
title: ' 收费员编号',
width: '15%',
align: "left",
formatter: commonObj.replacenull
},
{
field: 'custName',
title: ' 收费员名称',
width: '15%',
align: "left",
formatter: commonObj.replacenull
},
{
field: 'rechargeFee',
title: ' 充值费用',
width: '15%',
align: "center",
formatter: commonObj.moneyFormatter
},
{
field: 'rechargeType',
title: ' 充值渠道',
width: '15%',
align: "center",
formatter: function (value) {
var rechargeTypeStr = '未知';
//充值类型 1-支付宝;2-微信;3-银联;4-微信公众号;6-现金;7-IC卡;2-微信; 5-账户余额;-5-个人账户余额退款
switch (value) {
case 1:
rechargeTypeStr = '支付宝';
break;
case 2:
rechargeTypeStr = '微信';
break;
case 5:
rechargeTypeStr = '余额';
break;
case 6:
rechargeTypeStr = '现金';
break;
default:
rechargeTypeStr = '未知';
break;
}
return rechargeTypeStr;
}
},
{
field: 'rechargeBalance',
title: ' 充值后余额',
width: '15%',
align: "center",
formatter: commonObj.moneyFormatter
},
{
field: 'rechargeTime',
title: ' 充值时间',
width: '15%',
align: "left",
formatter: commonObj.timeFormatter
},
{
field: 'rechargeRemark',
title: ' 备注',
width: '15%',
align: "left",
formatter: function (value, row, index) {
return '
' + commonObj.replacenull(value) + '
';
}
},
{
field: 'rechargeName',
title: ' 操作人',
width: '15%',
align: "left",
formatter: commonObj.replacenull
},
]
});
},
//收费员账户记录汇总
chargerAcctRecordStatistic: function () {
var req = inexpfun.inexpgetQueryParam();
var index = $('#toll-toptab div.ITD-graynav-topbaractive').index();
req.sysCode = sysComm.sysCode;
var url;
if (index == 0) {
url = dataUrl.util.statisticAcctRecharge();
} else {
url = dataUrl.util.statisticAcctPayOut();
}
var opt = {
method: 'post',
url: url,
data: JSON.stringify(req),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (res) {
if (res.code == '8888') {
var data = res.data;
if (index == 0) {
$('#all_totalFee').text(commonObj.moneyFormatter(data.positiveFee));
$('#all_wxFee').text(commonObj.numberFormatter(data.positiveNum));
$('#all_zfbFee').text(commonObj.moneyFormatter(data.negativeFee));
$('#all_otherFee').text(commonObj.numberFormatter(data.negativeNum));
} else {
$('#outall_totalFee').text(commonObj.moneyFormatter(data.positiveFee));
$('#outall_wxFee').text(commonObj.numberFormatter(data.positiveNum));
}
}
}
};
sysAjax(opt);
},
//生成表格数据-支出记录
expcreateTableData: function () {
$('#tollinexp-billtable-exp').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: inexptableLoadRequest,//自定义ajax加载数据
// uniqueId:'id',
columns: [
{
field: 'custId',
title: ' 收费员编号',
width: '15%',
align: "left",
formatter: commonObj.replacenull
},
{
field: 'custName',
title: ' 收费员名称',
width: '15%',
align: "left",
formatter: commonObj.replacenull
},
{
field: 'tradeFee',
title: ' 支出费用',
width: '15%',
align: "left",
formatter: commonObj.moneyFormatter
},
{
field: 'tradeBalance',
title: ' 支出后余额',
width: '15%',
align: "left",
formatter: commonObj.moneyFormatter
},
{
field: 'carNumber',
title: ' 车牌号',
width: '15%',
align: "left",
formatter: commonObj.replacenull
},
{
field: 'berthNo',
title: ' 泊位编号',
width: '15%',
align: "left",
formatter: commonObj.replacenull
},
{
field: 'tradeTime',
title: ' 支出时间',
width: '15%',
align: "left",
formatter: commonObj.timeFormatter
},
]
});
},
/*获取查询参数*/
inexpgetQueryParam: function () {
var tollPer = JSON.parse($("#tollinexp-tollper").val());
var rechargeTypeIndex = $('#tab-btn-wrap li.tabAction').index();
var rechargeType = null;
if (rechargeTypeIndex == 0) {
rechargeType = 10;
}
if (rechargeTypeIndex == 1) {
rechargeType = 20;
}
if (rechargeTypeIndex == 2) {
rechargeType = 30;
}
if (tollPer.length < 1) {
tollPer.push("-1X");
}
var beginTime = null;
var endTime = null;
var dateValue1 = $("#tollinexp-daydaterange-btnsta").val();
var dateValue2 = $("#tollinexp-daydaterange-btnend").val();
beginTime = dateValue1 + " 00:00:00";
endTime = dateValue2 + " 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 req = {
rechargeType: rechargeType,
sysCode: sysComm.sysCode,
beginTime: beginTime,
custIds: tollPer,
endTime: endTime
};
return req;
},
};
//默认页面初始执行函数
inexpfun.init();
//查询事件
documentBindFunc.on('click', "#tollinexp-Btn", function () {
var index = datanum;
//console.log(index);
if (0 == index) {
// console.log(index);
//充值记录
inexpfun.inexpcreateTableData();
} else {
//支出记录
inexpfun.expcreateTableData();
}
//统计汇总
inexpfun.chargerAcctRecordStatistic();
})
/**
* 默认table 函数
* 自定义table AJAX请求
* @param {Object} params
*/
function inexptableLoadRequest(params) {
var req = inexpfun.inexpgetQueryParam();
//设置请求参数
var pageNum = (params.data.offset / params.data.limit) + 1;
//条件查询
req.baseRequest = {
pageNum: pageNum,
pageSize: params.data.limit
};
req.sysCode = sysComm.sysCode;
var index = datanum;
console.log(index);
var url;
if (index == 0) {
url = dataUrl.util.queryAcctRechargeForPage();
} else {
url = dataUrl.util.queryAcctPayOutForPage();
}
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') {
params.success(res.data);
$("[data-toggle='tooltip']").tooltip({
delay: {show: 500, hide: 100},
});
}
}
};
sysAjax(opt);
};
//切换头部收入topbar
documentBindFunc.on('click', "#toll-toptab div", function () {
var index = $(this).index();
$(this).addClass('ITD-graynav-topbaractive').siblings('div').removeClass('ITD-graynav-topbaractive');
datanum = $("#toll-toptab").attr('data-value');
datanum = index;
if (index == 0) {
// tableByexp
/** 函数 表格数据 **/
inexpfun.inexpcreateTableData();
$('#tableByexp,#expout_card').addClass('display-none');
$('#tableByin,#expuse_card').removeClass('display-none');
window.clearInterval(InterValObj);//停止计时器
$("#expReport").removeAttr("disabled");//启用按钮
$("#inexpReport").removeAttr("disabled");//启用按钮
$(".ITD-export-btn").css("width", "72px");
$("#expReport").val("导出");
$("#inexpReport").val("导出");
} else {
/** 函数 表格数据 **/
inexpfun.expcreateTableData();
window.clearInterval(InterValObj);//停止计时器
$('#tableByin,#expuse_card').addClass('display-none');
$('#tableByexp,#expout_card').removeClass('display-none');
$("#expReport").removeAttr("disabled");//启用按钮
$("#inexpReport").removeAttr("disabled");//启用按钮
$(".ITD-export-btn").css("width", "72px");
$("#expReport").val("导出");
$("#inexpReport").val("导出");
}
//统计汇总
inexpfun.chargerAcctRecordStatistic();
});
//切换 全部 有差异 无差异
$('#tab-btn-wrap li').on('click', function () {
//因后面逻辑需要,一定要线切换 tabAction 样式, 然后在调用 对应的函数
$(this).addClass('tabAction').siblings().removeClass('tabAction');
inexpfun.inexpcreateTableData();
});
//导出 功能
//导出
var InterValObj; //timer变量,控制时间
var count = 8; //间隔函数,1秒执行
var curCount;//当前剩余秒数
function sendMessage() {
var tabindex = datanum;
console.log(tabindex)
if (tabindex == 0) {
curCount = count;
//设置button效果,开始计时
$("#inexpReport").attr("disabled", "true");
$(".ITD-export-btn").css("width", "138px");
$("#inexpReport").val(curCount + "秒后可再次导出");
InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
} else {
console.log(tabindex)
curCount = count;
//设置button效果,开始计时
$("#expReport").attr("disabled", "true");
$(".ITD-export-btn").css("width", "138px");
$("#expReport").val(curCount + "秒后可再次导出");
InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
}
}
//timer处理函数
function SetRemainTime() {
var tabindex = datanum;
if (curCount == 0) {
window.clearInterval(InterValObj);//停止计时器
if (tabindex == 0) {
$("#inexpReport").removeAttr("disabled");//启用按钮
$(".ITD-export-btn").css("width", "72px");
$("#inexpReport").val("导出");
} else {
$("#expReport").removeAttr("disabled");//启用按钮
$(".ITD-export-btn").css("width", "72px");
$("#expReport").val("导出");
}
} else {
curCount--;
if (tabindex == 0) {
$("#inexpReport").val(curCount + "秒后可再次导出");
} else {
$("#expReport").val(curCount + "秒后可再次导出");
}
}
}
//导出excle
documentBindFunc.on('click', '#inexpReport', function () {
//获取table所有行数据
var parkLot = $("#tollinexp-billtable-pay").bootstrapTable('getData');
//获取table总条数
var numTotal = $("#tollinexp-billtable-pay").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 = inexpfun.inexpgetQueryParam();
var beginTime = DateUtils.long2String(req.beginTime, 7);
var endTime = DateUtils.long2String(req.endTime, 7);
var url = dataUrl.util.exportAcctRechargeList();
var forms = exportIncomeDetailFormforbill(url, beginTime, endTime, req.custIds, req.rechargeType);
forms.submit();
});
//导出excle
documentBindFunc.on('click', '#expReport', function () {
//获取table所有行数据
var parkLot = $("#tollinexp-billtable-exp").bootstrapTable('getData');
//获取table总条数
var numTotal = $("#tollinexp-billtable-exp").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 = inexpfun.inexpgetQueryParam();
var beginTime = DateUtils.long2String(req.beginTime, 7);
var endTime = DateUtils.long2String(req.endTime, 7);
var url = dataUrl.util.exportAcctPayOutList();
console.log(beginTime + ',' + endTime)
var forms = exportIncomeDetailFormforbill(url, beginTime, endTime, req.custIds);
forms.submit();
});
function exportIncomeDetailFormforbill(url, beginTime, endTime, custIds, rechargeType) {
var form = document.createElement("form");
form.style.display = 'none';
form.action = url;
form.method = "get";
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 = "custIds";
input3.value = custIds;
form.appendChild(input3);
if (rechargeType != undefined && null != rechargeType) {
var input4 = document.createElement("input");
//input2.type = "hidden";
input4.name = "rechargeType";
input4.value = rechargeType;
form.appendChild(input4);
}
return form;
};