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