var plOrCar;
var fun = {
init:function(){
commSelect.area_Pl_LinkedSelect("#bill-parkArea", "#caryard_parkIds");
fun.monthdateInit();
fun.queryArrearTotalByCondition();
fun.createTableData();
fun.rcreateTableData();
fun.onchangeInput();
},
monthdateInit: function () {
/** 月 时间初始化 **/
$('#bill-monthdaterange-btnsta').val(moment().subtract('months', 5).format('YYYY-MM'));
$('#bill-monthdaterange-btnend').val(moment().subtract('months', 0).format('YYYY-MM'));
//开始日期
$("#bill-monthdaterange-btnsta").datetimepicker({
endDate: moment().subtract('months', 0).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',0).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"
})
},
onchangeInput:function () {
documentBindFunc.on('change', '#bus_type', function () {
fun.createTableData();
fun.rcreateTableData();
})
},
/*获取查询参数*/
getQueryParam: function() {
//停车场
var plNos = JSON.parse($("#caryard_parkIds").val());
var minArrearageFee = $("#bus_type").val();
var carNumber = $("#carNumber").val();
var beginTime;
var endTime;
beginTime = $("#bill-monthdaterange-btnsta").val();
endTime = $("#bill-monthdaterange-btnend").val();
beginTime = beginTime + "-01 00:00:00";
var endMonth = endTime.substr(5,7);
var month = '-31';
if(endMonth == '04' ||endMonth == '06' ||endMonth == '09' ||endMonth == '11'){
month = '-30';
}else if(endMonth == '02'){
month = '-29';
}
endTime = endTime + month+" 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, "/"));
if (plNos.length < 0 || plNos == null || plNos == undefined) {
plNos.push(-1);
}
if(minArrearageFee == undefined || minArrearageFee == null || minArrearageFee == 'ALL'){
minArrearageFee = null;
}
var req = {
plNos: plNos,
carNumber:carNumber,
beginTime: beginTime,
endTime: endTime,
minArrearageFee:minArrearageFee,
maxArrearageFee:null,
sysCode:sysComm.sysCode
};
return req;
},
queryArrearTotalByCondition: function () {
$("#arrearageFee").text(0);
$("#carNum").text(0);
$("#arrearageNum").text(0);
var req = fun.getQueryParam();
var opt = {
method: 'post',
url: dataUrl.util.queryArrearTotalByCondition(),
data: JSON.stringify(req),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (res) {
if (res.code == '8888') {
var data = res.data;
$("#arrearageFee").text(commonObj.moneyFormatter(data.arrearageFee));
$("#carNum").text(commonObj.numberFormatter(data.carNum));
$("#arrearageNum").text(commonObj.numberFormatter(data.arrearageNum));
}
}
};
sysAjax(opt);
},
//生成表格数据 停车场
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: tableLoadRequestForPark, //自定义ajax加载数据
uniqueId: 'id',
columns: [
{
field: 'plName',
title: '车场名称',
width: '10%',
visible: true,
align: "left",
formatter: function (value, row, index) {
return '
' +
'
' + commonObj.replacenull(row.plName) + '
' +
'
';
}
},
{
field: 'arrearageFee',
title: '欠费金额',
width: '10%',
align: "left",
sortable: true,
formatter: commonObj.moneyFormatter
},
{
field: 'arrearageNum',
title: '次数',
width: '10%',
align: "left",
sortable: true,
formatter: commonObj.numberFormatter
},
]
});
},
//生成表格数据 车牌号
rcreateTableData: function () {
$('#recordtable1').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: tableLoadRequestForCar, //自定义ajax加载数据
uniqueId: 'id',
columns: [
{
field: 'carNumber',
title: '车牌号',
width: '10%',
visible: true,
align: "left",
formatter: function (value, row, index) {
return '' +
'
' + commonObj.replacenull(row.carNumber) + '
' +
'
';
}
},
{
field: 'arrearageFee',
title: '欠费金额',
width: '10%',
align: "left",
sortable: true,
formatter: commonObj.moneyFormatter
},
{
field: 'arrearageNum',
title: '次数',
width: '10%',
align: "left",
sortable: true,
formatter: commonObj.numberFormatter
},
]
});
},
//弹窗 生成表格数据 停车场 按月
parkPopcreateTableData: function (plNo) {
$('#garparktable').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: tableLoadRequestForParkDetail, //自定义ajax加载数据
uniqueId: 'id',
columns: [
{
field: 'staticDate',
title: '时间',
width: '10%',
visible: true,
align: "left",
formatter: commonObj.yearMonthFormatter
},
{
field: 'plName',
title: '车场名称',
width: '10%',
visible: true,
align: "left",
formatter: commonObj.replacenull
},
{
field: 'arrearageFee',
title: '欠费金额',
width: '10%',
align: "left",
formatter: commonObj.moneyFormatter
},
{
field: 'arrearageNum',
title: '次数',
width: '10%',
align: "left",
formatter: commonObj.numberFormatter
},
]
});
},
//弹窗 生成表格数据 车牌号 按月
carPopcreateTableData: function () {
$('#garcartable').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: tableLoadRequestForCarDetail, //自定义ajax加载数据
uniqueId: 'id',
columns: [
{
field: 'staticDate',
title: '时间',
width: '10%',
visible: true,
align: "left",
formatter: commonObj.yearMonthFormatter
},
{
field: 'carNumber',
title: '车牌号',
width: '10%',
visible: true,
align: "left",
formatter: commonObj.replacenull
},
{
field: 'arrearageFee',
title: '欠费金额',
width: '10%',
align: "left",
formatter: commonObj.moneyFormatter
},
{
field: 'arrearageNum',
title: '次数',
width: '10%',
align: "left",
formatter: commonObj.numberFormatter
},
]
});
},
};
fun.init();
//查询 事件
documentBindFunc.on('click', '#caryard_queryBtn', function () {
fun.queryArrearTotalByCondition();
fun.createTableData();
fun.rcreateTableData();
});
//停车场维度 弹窗
documentBindFunc.on('click', '.records_popparkMsg', function () {
var plNo = $(this).attr('data-id');
console.log(plNo);
plOrCar = plNo;
fun.parkPopcreateTableData();
$("#parkpopmodel").modal('show');
});
//车牌号维度 弹窗
documentBindFunc.on('click', '.records_popcarMsg', function () {
var carNumber = $(this).attr('data-id');
plOrCar = carNumber;
fun.carPopcreateTableData();
$("#carpopmodel").modal('show');
});
/**
* 自定义table AJAX请求
* @param {Object} params
*/
function tableLoadRequestForPark(params) {
var req = fun.getQueryParam();
//设置请求参数
var pageNum = (params.data.offset / params.data.limit) + 1;
//条件查询
req.baseRequest = {
pageNum: pageNum,
pageSize: params.data.limit,
sortOrder:params.data.order,//排序
sortName:params.data.sort,//排序字段
};
req.type = 0;//查询维度 0-停车场 1-车主
req.dateFlag = 1;//是否按月汇总 1-是 0-否
var opt = {
method: 'post',
url: dataUrl.util.queryArrearListForParkOrCarNumber(),
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);
}
function tableLoadRequestForCar(params) {
var req = fun.getQueryParam();
//设置请求参数
var pageNum = (params.data.offset / params.data.limit) + 1;
//条件查询
req.baseRequest = {
pageNum: pageNum,
pageSize: params.data.limit,
sortOrder:params.data.order,//排序
sortName:params.data.sort,//排序字段
};
req.type = 1;//查询维度 0-停车场 1-车主
req.dateFlag = 1;//是否按月汇总 1-是 0-否
var opt = {
method: 'post',
url: dataUrl.util.queryArrearListForParkOrCarNumber(),
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
*/
function tableLoadRequestForParkDetail(params) {
var req = fun.getQueryParam();
//设置请求参数
var pageNum = (params.data.offset / params.data.limit) + 1;
//条件查询
req.baseRequest = {
pageNum: pageNum,
pageSize: params.data.limit
};
req.type = 0;//查询维度 0-停车场 1-车主
req.dateFlag = 0;//是否按月汇总 1-是 0-否
req.minArrearageFee = null;
req.plNos = [plOrCar];
var opt = {
method: 'post',
url: dataUrl.util.queryArrearListForParkOrCarNumber(),
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);
}
function tableLoadRequestForCarDetail(params) {
var req = fun.getQueryParam();
//设置请求参数
var pageNum = (params.data.offset / params.data.limit) + 1;
//条件查询
req.baseRequest = {
pageNum: pageNum,
pageSize: params.data.limit
};
req.type = 1;//查询维度 0-停车场 1-车主
req.dateFlag = 0;//是否按月汇总 1-是 0-否
req.minArrearageFee = null;
req.carNumber = plOrCar;
var opt = {
method: 'post',
url: dataUrl.util.queryArrearListForParkOrCarNumber(),
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效果,开始计时
$("#caryardReport").attr("disabled", "true");
$(".ITD-export-btn").css("width", "138px");
$("#caryardReport").val(curCount + "秒后可再次导出");
InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
}
//timer处理函数
function SetRemainTime() {
if (curCount == 0) {
window.clearInterval(InterValObj);//停止计时器
$("#caryardReport").removeAttr("disabled");//启用按钮
$(".ITD-export-btn").css("width", "72px");
$("#caryardReport").val("导出");
}
else {
curCount--;
$("#caryardReport").val(curCount + "秒后可再次导出");
}
}
//导出excle
documentBindFunc.on('click','#caryardReport',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;
}
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.getQueryParam();
var beginTime = DateUtils.long2String(req.beginTime, 7);
var endTime = DateUtils.long2String(req.endTime, 7);
var url = dataUrl.util.exportArrearListForParkAndCarNumber();
var form = caryardForm(url,req.plNos,beginTime,endTime,req.carNumber,fn.getOrgId(),req.minArrearageFee,req.maxArrearageFee);
console.log(form);
form.submit();
});
//隐藏显示 查询条件 搜索框 hide-common-style
documentBindFunc.on('click', ".ITD-search-morebtn", function () {
$(".hide-common-style").toggleClass("display-none");
});
function caryardForm(url,plNos,beginTime,endTime,carNumber,orgId,minArrearageFee,maxArrearageFee){
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 = "plNos";
input.value = plNos;
form.appendChild(input);
var input2 = document.createElement("input");
input2.name = "beginTime";
input2.value = beginTime;
form.appendChild(input2);
var input3 = document.createElement("input");
input3.name = "endTime";
input3.value = endTime;
form.appendChild(input3);
var input4 = document.createElement("input");
input4.name = "carNumber";
input4.value = carNumber;
form.appendChild(input4);
var input5 = document.createElement("input");
input5.name = "orgId";
input5.value = orgId;
form.appendChild(input5);
var input6 = document.createElement("input");
input6.name = "minArrearageFee";
input6.value = minArrearageFee;
form.appendChild(input6);
var input7 = document.createElement("input");
input7.name = "maxArrearageFee";
input7.value = maxArrearageFee;
form.appendChild(input7);
return form;
}