var fun = {
init: function () {
commSelect.plName_select("#_parkIds",true);
fun.dateInit();
fun.createTableData();
fun.initSummaryFeeData();
},
//时间初始化
dateInit: function () {
$('#bill-daterange-btnsta').val(moment().subtract('days', 1).format('YYYY-MM-DD 00:00:00'));
$('#bill-daterange-btnend').val(moment().subtract('days', 1).format('YYYY-MM-DD 23:59:59'));
//开始日期
$("#bill-daterange-btnsta").datetimepicker({
weekStart: 1,
autoclose: true,
startView: 2,
forceParse: false,
minView: 0,
minuteStep:1,//分钟间隔1分钟
// showMeridian: 1,
format: 'yyyy-mm-dd hh:ii:ss',
endDate: moment().subtract('days', 1).format('YYYY-MM-DD 23:59:59'),
language: 'zh-CN',
clearBtn: true, //添加清除按钮,可选值:true/false
pickerPosition: "bottom-right"
})
$("#bill-daterange-btnend").datetimepicker({
weekStart: 1,
autoclose: true,
startView: 2,
forceParse: false,
minView: 0,
minuteStep:1,//分钟间隔1分钟
// showMeridian: 1,
format: 'yyyy-mm-dd hh:ii:ss',
endDate: moment().subtract('days', 1).format('YYYY-MM-DD 23:59:59'),
language: 'zh-CN',
clearBtn: true, //添加清除按钮,可选值:true/false
pickerPosition: "bottom-right"
});
// $('#odd-daterange-btnsta').val(moment().subtract('days', 1).format('YYYY-MM-DD 00:00:00'));
// $('#odd-daterange-btnend').val(moment().subtract('days', 1).format('YYYY-MM-DD 23:59:59'));
//开始日期
$("#odd-daterange-btnsta").datetimepicker({
weekStart: 1,
autoclose: true,
startView: 2,
forceParse: false,
minView: 0,
minuteStep:1,//分钟间隔1分钟
// showMeridian: 1,
format: 'yyyy-mm-dd hh:ii:ss',
endDate: moment().subtract('days', 1).format('YYYY-MM-DD 23:59:59'),
language: 'zh-CN',
clearBtn: true, //添加清除按钮,可选值:true/false
pickerPosition: "bottom-right"
})
$("#odd-daterange-btnend").datetimepicker({
weekStart: 1,
autoclose: true,
startView: 2,
forceParse: false,
minView: 0,
minuteStep:1,//分钟间隔1分钟
// showMeridian: 1,
format: 'yyyy-mm-dd hh:ii:ss',
endDate: moment().subtract('days', 1).format('YYYY-MM-DD 23:59:59'),
language: 'zh-CN',
clearBtn: true, //添加清除按钮,可选值:true/false
pickerPosition: "bottom-right"
})
},
/*获取查询参数*/
getQueryParams: function () {
var plnos = JSON.parse($("#_parkIds").val());
var payTypes = [];
var payTypesStr = $("#payType").val();
if(payTypesStr != null && payTypesStr != undefined && payTypesStr != ''){
payTypes = JSON.parse(payTypesStr);
}
/*投币 开始时间*/
var beginTime;
/*结束时间*/
var endTime;
/*找零 开始时间*/
var payBeginTime;
/*结束时间*/
var payEndTime;
//日
beginTime = $("#bill-daterange-btnsta").val();
endTime = $("#bill-daterange-btnend").val();
payBeginTime = $("#odd-daterange-btnsta").val();
payEndTime = $("#odd-daterange-btnend").val();
beginTime = beginTime == null || beginTime.length == 0 ? null : new Date((beginTime).replace(/-/g, "/"));
endTime = endTime == null || endTime.length == 0 ? null : new Date((endTime).replace(/-/g, "/"));
payBeginTime = payBeginTime == null || payBeginTime.length == 0 ? null : new Date((payBeginTime).replace(/-/g, "/"));
payEndTime = payEndTime == null || payEndTime.length == 0 ? null : new Date((payEndTime).replace(/-/g, "/"));
// var payOrderState =$("#tab-btn-wrap").find(".tabAction").val();/**20-未找零 40-已找零*/
var req = {
orgId:fn.getOrgId(),
plNos: plnos,
payTypes: payTypes,
beginTime: beginTime,
endTime: endTime,
payBeginTime: payBeginTime,
payEndTime: payEndTime,
};
req.sysCode = sysComm.sysCode;
//console.log(req);
return req;
},
initSummaryFeeData:function(){
$("[id$='Fee']").text(commonObj.moneyFormatter(0));
var req=fun.getQueryParams();
//条件查询
req.baseRequest = {
pageNum: 1,
pageSize: 0
};
var opt = {
method: 'post',
url: dataUrl.util.queryCashRefundForTotal(),
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){
$("#orderActFee").text(commonObj.moneyFormatter(data.orderActFee));
$("#wxPaidFee").text(commonObj.moneyFormatter(data.wxPaidFee));
$("#aliPaidFee").text(commonObj.moneyFormatter(data.aliPaidFee));
$("#nonePaidFee").text(commonObj.moneyFormatter(data.nonePaidFee));
}
}
}
};
sysAjax(opt);
},
//生成表格数据
createTableData: function () {
$('#recordtable').bootstrapTable('destroy').bootstrapTable({
striped: true, //表格显示条纹
pagination: true, //启动分页
pageNumber: 1, //当前第几页
pageSize: 10, //每页显示的记录数
pageList: [10, 15, 20], //记录数可选列表
sidePagination: 'server', //表示服务端分页
queryParamsType: 'limit',
method: 'POST', //请求方法
paginationPreText: '<',
paginationNextText: '>',
ajax: tableLoadRequest, //自定义ajax加载数据
// uniqueId:'id',
columns: [
{
field: 'parkOutTime',
title: '投币时间',
valign: "middle",
align: 'left',
formatter: commonObj.timeFormatter
//width: '20%'
},
{
field: 'plName',
title: '车场名称',
valign: "middle",
align: 'left',
formatter: commonObj.replacenull
//width: '20%'
},
{
field: 'carNumber',
title: '车牌号',
valign: "middle",
align: 'left',
formatter: commonObj.replacenull
//width: '20%'
},
{
field: 'parkInTime',
title: '进场时间',
valign: "middle",
align: 'left',
formatter: commonObj.timeFormatter
//width: '20%'
},
{
field: 'orderActFee',
title: '投币金额',
align: 'left',
valign: "middle",
formatter: commonObj.moneyFormatter
},
{
field: 'orderTotalFee',
title: '现金应缴',
align: 'left',
valign: "middle",
formatter: commonObj.moneyFormatter
},
{
field: 'payType',
title: '找零类型',
align: 'left',
valign: "middle",
formatter: commonObj.discPayTypeFormatter
},
{
field: 'orderActFee',
title: '找零金额',
align: 'left',
valign: "middle",
// formatter: commonObj.moneyFormatter
formatter: function (value, row, index) {
if(row.payOrderState == 40){
var actFee = (row.orderActFee == null ? 0 :row.orderActFee);
var totalFee = (row.orderTotalFee == null ? 0 :row.orderTotalFee);
return commonObj.moneyFormatter(actFee - totalFee);
}else{
return '-';
}
}
},
{
field: 'payFinishTime',
title: '找零时间',
valign: "middle",
align: 'left',
formatter: commonObj.timeFormatter
//width: '20%'
},
{
field: 'payOrderState',
title: '找零状态',
align: 'left',
valign: "middle",
formatter: function (value, row, index) {
if(row.payOrderState == 40){
return '已找零';
}else{
return '未找零';
}
}
},
{
field: 'remark',
title: '备注',
align: 'left',
valign: "middle",
formatter: commonObj.replacenull
},
]
});
},
};
fun.init();
//查询
documentBindFunc.on('click', '#bill-queryBtn', function () {
fun.createTableData();
fun.initSummaryFeeData();
});
//切换 全部 有差异 无差异
/*$('#tab-btn-wrap li').on('click',function () {
//因后面逻辑需要,一定要线切换 tabAction 样式, 然后在调用 对应的函数
$(this).addClass('tabAction').siblings().removeClass('tabAction');
fun.createTableData();
});*/
/**
* 自定义table AJAX请求
* @param {Object} params
*/
function tableLoadRequest(params) {
var req = fun.getQueryParams();
//设置请求参数
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.queryCashRefundForPage(),
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);
}
//导出
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.getQueryParams();
var beginTime = DateUtils.long2String(req.beginTime, 7);
var endTime = DateUtils.long2String(req.endTime, 7);
var payBeginTime = DateUtils.long2String(req.payBeginTime, 7);
var payEndTime = DateUtils.long2String(req.payEndTime, 7);
if(beginTime == "-"){
beginTime = null;
}
if(endTime == "-"){
endTime = null;
}
if(payBeginTime == "-"){
payBeginTime = null;
}
if(payEndTime == "-"){
payEndTime = null;
}
var url = dataUrl.util.exportCashRefundList();
var forms = exportIncomeDetailFormforbill(url,req.plNos, beginTime, endTime,payBeginTime,payEndTime,fn.getOrgId(), req.payTypes, req.sysCode
);
forms.submit();
});
function exportIncomeDetailFormforbill(url,plNos, beginTime, endTime,payBeginTime,payEndTime,orgId, payTypes, sysCode
) {
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.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");
input3.name = "payBeginTime";
input3.value = payBeginTime;
form.appendChild(input3);
var input4 = document.createElement("input");
input4.name = "payEndTime";
input4.value = payEndTime;
form.appendChild(input4);
var input5 = document.createElement("input");
input5.name = "orgId";
input5.value = orgId;
form.appendChild(input5);
var input1 = document.createElement("input");
input1.name = "plNos";
input1.value = plNos;
form.appendChild(input1);
var input6 = document.createElement("input");
input6.name = "payTypes";
input6.value = payTypes;
form.appendChild(input6);
var input7 = document.createElement("input");
input7.name = "sysCode";
input7.value = sysCode;
form.appendChild(input7);
return form;
};