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; }