var fun = { init: function () { fun.querySettleOrg(); //时间初始化 fun.dateInit(); //汇总 fun.summarySettle(); //table 公司 fun.createTableData(); }, dateInit: function () { $('#compa-daterange-btnsta').val(moment().subtract('months', 0).format('YYYY-MM')); // $('#compa-daterange-btnend').val(moment().subtract('days', 2).format('YYYY-MM-DD')); //开始日期 $("#compa-daterange-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" }) }, //表格 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: settleOrderTableRequest, //自定义ajax加载数据 uniqueId: 'id', columns: [ [ { field: 'orgName', title: '公司', width: '10%', visible: true, align: "left", valign: "middle", rowspan: 2, formatter: function (value, row, index) { return '
' + commonObj.replacenull(value) + '
' } }, { field: 'checkDate', title: '日期', width: '10%', align: "left", valign: "middle", rowspan: 2, formatter: function (value, row, index) { return '
' + commonObj.yearMonthFormatter(value) + '
' } }, { field: 'settlementActFee', title: '总收入', width: '10%', align: "left", valign: "middle", rowspan: 2, formatter: function (value, row, index) { var settlementActFee = parseFloat(value)-parseFloat(row.aliRefundFee) - parseFloat(row.wxRefundFee) return '
' + commonObj.moneyFormatter(settlementActFee) + '
' } }, { field: 'settlementTotalFee', title: '应结金额', width: '10%', align: "left", valign: "middle", rowspan: 2, formatter: function (value, row, index) { var jsmoneyTotal = fun.getSettleFee(row); return '
' + jsmoneyTotal+ '
' } }, { field: 'settlementTotalFee', title: '总服务费', width: '10%', align: "left", valign: "middle", rowspan: 2, formatter: function (value, row, index) { var allSrvFee = fun.getSrvFee(row); return '
' + allSrvFee + '
' } }, { field: 'caseRefundFee', title: '找零金额', width: '10%', align: "left", rowspan: 2, formatter: commonObj.moneyFormatter }, { field: '', title: '微信', valign: "middle", align: "center", width: '20%', colspan: 2, rowspan: 1, }, { field: '', title: '支付宝', valign: "middle", align: "center", width: '20%', colspan: 2, rowspan: 1, }, { field: 'checkStatus', title: '状态', width: '10%', align: "left", valign: "middle", rowspan: 2, formatter: function (value, row, index) { return '
' + fun.checkStatusFormatter(value) + '
' } }, { field: 'settlementActFee', title: '操作', width: '10%', align: "left", valign: "middle", rowspan: 2, formatter: function (value, row, index) { // if(row.checkStatus == 200){ // return '
打款
' // } var html = '-'; if(row.checkStatus == 200){ html = "打款"; } return html; } }, ], [ // { // field: 'caseRefundServFee', // title: '服务费', // width: '10%', // align: "left", // formatter: commonObj.moneyFormatter // }, { field: 'wxFee', title: '应结金额', width: '10%', align: "left", formatter: function (value, row, index) { return commonObj.moneyFormatter(parseFloat(value)-parseFloat(row.wxRefundFee)); } }, { field: 'wxSrvFee', title: '服务费', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'aliFee', title: '应结金额', width: '10%', align: "left", formatter: function (value, row, index) { return commonObj.moneyFormatter(parseFloat(value)-parseFloat(row.aliRefundFee)); } }, { field: 'aliSrvFee', title: '服务费', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, ] ] }); }, //获取结算金额 getSettleFee:function(row){ var settle = row; var settlementTotalFee = commonObj.moneyFormatter(settle.settlementTotalFee); var settlementActFee = commonObj.moneyFormatter(settle.settlementActFee); //支付宝费用 var aliFee = commonObj.moneyFormatter(settle.aliFee); var aliSrvFee = commonObj.moneyFormatter(settle.aliSrvFee); var aliRefundFee = commonObj.moneyFormatter(settle.aliRefundFee); var aliChargeNum = commonObj.numberFormatter(settle.aliChargeNum); //微信费用 var wxFee = commonObj.moneyFormatter(settle.wxFee); var wxSrvFee = commonObj.moneyFormatter(settle.wxSrvFee); var wxRefundFee = commonObj.moneyFormatter(settle.wxRefundFee); var wxChargeNum = commonObj.numberFormatter(settle.wxChargeNum); //现金费用 var caseRefundFee = commonObj.moneyFormatter(settle.caseRefundFee); var caseRefundServFee = commonObj.moneyFormatter(settle.caseRefundServFee); var caseRefundNum = commonObj.numberFormatter(settle.caseRefundNum); //余额 var balanceFee = commonObj.moneyFormatter(settle.balanceFee); var balanceSrvFee = commonObj.moneyFormatter(settle.balanceSrvFee); var balanceChargeNum = commonObj.numberFormatter(settle.balanceChargeNum); var allSrvFee = commonObj.moneyFormatter((parseFloat(aliSrvFee) + parseFloat(wxSrvFee))*100); var allRefundFee = commonObj.moneyFormatter((parseFloat(wxRefundFee) + parseFloat(aliRefundFee))*100); //var allSrvFee = parseFloat(aliSrvFee) + parseFloat(wxSrvFee) + parseFloat(balanceSrvFee); var alltransNum = aliChargeNum + wxChargeNum + balanceChargeNum; var jsmoneyTotal=commonObj.moneyFormatter(row.settlementActFee)-allSrvFee - allRefundFee -caseRefundFee; if(jsmoneyTotal == NaN || jsmoneyTotal == null || jsmoneyTotal==""){ return "0.00"; } return jsmoneyTotal.toFixed(2); }, //获取服务费 getSrvFee:function(row){ var settle = row; var aliSrvFee = commonObj.moneyFormatter(settle.aliSrvFee); var wxSrvFee = commonObj.moneyFormatter(settle.wxSrvFee); var caseRefundServFee = commonObj.moneyFormatter(settle.caseRefundServFee); var balanceSrvFee = commonObj.moneyFormatter(settle.balanceSrvFee); var allSrvFee = commonObj.moneyFormatter((parseFloat(aliSrvFee) + parseFloat(wxSrvFee) + parseFloat(balanceSrvFee) + parseFloat(caseRefundServFee))*100); return allSrvFee; }, //核账结果状态:100-待结算;200:待打款;300:已打款;400:打款驳回 checkStatusFormatter:function(value, row, index){ if(value == null || value == ''){ return '-'; }else if(value == 100){ return '待结算'; }else if(value == 200){ return '待打款'; }else if(value == 300){ return '已打款'; }else if(value == 400){ return '打款驳回'; } return '-'; }, //弹窗表格 createCompanyTableData: function () { $('#companytable').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: CompanyOrderTableRequest, //自定义ajax加载数据 uniqueId: 'id', columns: [ [{ field: 'orgName', title: '公司', width: '10%', visible: true, align: "left", valign: "middle", rowspan: 2, formatter: function (value, row, index) { return '
' + commonObj.replacenull(value) + '
' } }, { field: 'checkDate', title: '时间', width: '15%', visible: true, align: "left", valign: "middle", rowspan: 2, formatter: function (value, row, index) { return '
' + commonObj.timeOneFormatter(value) + '
' } }, { field: 'settlementActFee', title: '总收入', width: '10%', align: "left", valign: "middle", rowspan: 2, formatter: function (value, row, index) { var settlementActFee = parseFloat(value)-parseFloat(row.aliRefundFee) - parseFloat(row.wxRefundFee) return '
' + commonObj.moneyFormatter(settlementActFee) + '
' } }, { field: 'settlementTotalFee', title: '结算总金额', width: '10%', align: "left", valign: "middle", rowspan: 2, formatter: function (value, row, index) { var jsmoneyTotal = fun.getSettleFee(row); return '
' + jsmoneyTotal+ '
' } }, { field: 'settlementTotalFee', title: '总服务费', width: '10%', align: "left", valign: "middle", rowspan: 2, formatter: function (value, row, index) { var allSrvFee = fun.getSrvFee(row); return '
' +allSrvFee + '
' } }, { field: 'caseRefundFee', title: '找零金额', width: '10%', align: "left", rowspan: 2, formatter: commonObj.moneyFormatter }, { field: '', title: '微信', valign: "middle", align: "center", width: '20%', colspan: 2, rowspan: 1, }, { field: '', title: '支付宝', valign: "middle", align: "center", width: '20%', colspan: 2, rowspan: 1, }, { field: 'checkStatus', title: '状态', width: '10%', align: "left", valign: "middle", rowspan: 2, formatter: function (value, row, index) { return '
' + fun.checkStatusFormatter(value) + '
' } }, ], [ // { // field: 'caseRefundServFee', // title: '服务费', // width: '10%', // align: "left", // formatter: commonObj.moneyFormatter // }, { field: 'wxFee', title: '应结金额', width: '10%', align: "left", formatter: function (value, row, index) { return commonObj.moneyFormatter(parseFloat(value)-parseFloat(row.wxRefundFee)); } }, { field: 'wxSrvFee', title: '服务费', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, { field: 'aliFee', title: '应结金额', width: '10%', align: "left", formatter: function (value, row, index) { return commonObj.moneyFormatter(parseFloat(value)-parseFloat(row.aliRefundFee)); } }, { field: 'aliSrvFee', title: '服务费', width: '10%', align: "left", formatter: commonObj.moneyFormatter }, ] ] }); }, //查询组织ID querySettleOrg: function () { $('#company_type').empty(); var req = { sysCode: sysComm.sysCode, }; var html = ''; var allOrgIds = [-967]; //防止为空,后台报错 var opt = { method: 'post', url: dataUrl.util.queryToOrgListByFromOrg(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', async: false, success: function (res) { console.log('查询组织:') console.log(res); if (res.code == '8888') { $.each(res.data, function (index, item) { allOrgIds.push(item.toOrgId); // html += ' '; html += ""; }); html = ' ' + html; $('#company_type').append(html); //公司 初始化 $('#company_type').selectpicker('render'); } } }; sysAjax(opt); }, //汇总 summarySettle: function () { var dates=$('#compa-daterange-btnsta').val() var startDate,endDate; if (null != dates && dates != '') { startDate = dates + '-01 00:00:00'; startDate = new Date(startDate.replace(new RegExp(/-/gm), "/")) } endDate = startDate; if (null != endDate && endDate != '') { endDate = getMonthLastDay(startDate); } var orgIds = $("#company_type").val(); orgIds = JSON.parse(orgIds); var req = { sysCode: sysComm.sysCode, orgIds: orgIds, startDate: startDate, endDate: endDate }; var opt = { method: 'post', url: dataUrl.util.querySettlementRecordSumforOrgId(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { console.log('查询汇总:') console.log(res); if (res.code == '8888') { var settle = res.data; var settlementTotalFee = commonObj.moneyFormatter(settle.settlementTotalFee); var settlementActFee = commonObj.moneyFormatter(settle.settlementActFee); var aliFee = commonObj.moneyFormatter(settle.aliFee); var aliSrvFee = commonObj.moneyFormatter(settle.aliSrvFee); var aliRefundFee = commonObj.moneyFormatter(settle.aliRefundFee); var aliChargeNum = commonObj.numberFormatter(settle.aliChargeNum); var wxFee = commonObj.moneyFormatter(settle.wxFee); var wxSrvFee = commonObj.moneyFormatter(settle.wxSrvFee); var wxRefundFee = commonObj.moneyFormatter(settle.wxRefundFee); var wxChargeNum = commonObj.numberFormatter(settle.wxChargeNum); var caseRefundFee = commonObj.moneyFormatter(settle.caseRefundFee); var caseRefundServFee = commonObj.moneyFormatter(settle.caseRefundServFee); var caseRefundNum = commonObj.numberFormatter(settle.caseRefundNum); var balanceFee = commonObj.moneyFormatter(settle.balanceFee); var balanceSrvFee = commonObj.moneyFormatter(settle.balanceSrvFee); var balanceChargeNum = commonObj.numberFormatter(settle.balanceChargeNum); var allSrvFee = commonObj.moneyFormatter((parseFloat(aliSrvFee) + parseFloat(wxSrvFee) + parseFloat(balanceSrvFee))*100); //var allSrvFee = commonObj.moneyFormatter(parseFloat(aliSrvFee) + parseFloat(wxSrvFee) + parseFloat(balanceSrvFee)); var alltransNum = aliChargeNum + wxChargeNum + balanceChargeNum; // $('#allSettleFee').text((parseFloat(settlementActFee)-parseFloat(aliRefundFee) - parseFloat(wxRefundFee)).toFixed(2)); $('#allServFee').text(allSrvFee); $('#alltransNum').text(alltransNum); //应结金额 = 微信支付+支付宝支付 - 找零 - 总服务费-微信退费-支付宝退费 $('#wxAlSettleFee').text((parseFloat(wxFee)+parseFloat(aliFee) - parseFloat(caseRefundFee)- parseFloat(aliSrvFee)-parseFloat(wxSrvFee)-parseFloat(aliRefundFee)-parseFloat(wxRefundFee)).toFixed(2)); //$('#wxiAliServFee').text((parseFloat(wxSrvFee)+parseFloat(aliSrvFee)).toFixed(2)); $('#wxiAlitransNum').text(parseInt(wxChargeNum)+parseInt(aliChargeNum)); //总服务费 $('#aliWxALLServFee').text((parseFloat(wxSrvFee)+parseFloat(aliSrvFee)).toFixed(2)); //$('#aliServFee').text(aliSrvFee); $('#aliWxAllpaytransNum').text(0); $('#yeSettleFee').text(balanceFee); $('#inServFee').text(balanceSrvFee); $('#yetransNum').text(balanceChargeNum); $('#noSettleFee').text(caseRefundFee); $('#noTotalFee').text(caseRefundServFee); $('#noServFee').text(caseRefundNum); } } }; sysAjax(opt); }, }; fun.init(); //查询 documentBindFunc.on('click', '#compa-queryBtn', function () { fun.createTableData(); // fun.createCompanyTableData(); fun.summarySettle(); }); var detailOrgId; //明细table 弹窗 documentBindFunc.on('click', '.compopBtn', function () { detailOrgId = ($(this).attr('orgid')); fun.createCompanyTableData(); $('#compop_alertmodel').modal('show'); }); //打款 弹窗 documentBindFunc.on('click', '.makemoneyBtn', function () { /* $('#park_out0').parent().removeClass('checked'); $('#park_out1').parent().removeClass('checked'); $('#park_out1').parent().addClass('checked'); $('#park_out0')[0].checked = true;//初始化*/ $("#settleBeginTime").val(''); $("#settleEndTime").val(''); $("#settleOrgId").val(''); $("#tolltorNum").text(''); $("#tolltorsum").text(''); $("#tolltor_amount").val(''); //初始化 var orgId = $(this).attr('orgid'); var rowStr = $(this).attr('row'); var row = JSON.parse(rowStr); console.log(row); var checkDate = row.checkDate; if(checkDate == undefined || checkDate == 'null' ||orgId == undefined || orgId == 'null'){ console.log("参数为空"); return; } var date = new Date(parseInt(checkDate)); $("#settleBeginTime").val(commonObj.yearMonthFormatter(date)+'-01'); $("#settleEndTime").val(commonObj.timeOneFormatter(getMonthLastDay(date))); $("#settleOrgId").val(orgId); $("#tolltorNum").text(commonObj.yearMonthFormatter(date)); $("#tolltorsum").text(fun.getSettleFee(row)); $('#recharge_error').addClass('display-none').text(""); $('#parking_forcemodel').modal('show'); }); //提交结算 documentBindFunc.on('click', '#parking_forcesubmit', function () { // var checkStatus = $("input[name='park_out']:checked").val(); // if(checkStatus == null || checkStatus == undefined || checkStatus == ''){ // $('#recharge_error').removeClass('display-none').text("请选择是否驳回!"); // return; // } submitTheSettle(300); }); documentBindFunc.on('click', '#parking_forcefsubmit', function () { submitTheSettle(400); }); function submitTheSettle(checkStatus){ var remark = $("#tolltor_amount").val(); if(remark == null || remark == undefined || remark == ''){ $('#recharge_error').removeClass('display-none').text("请输入备注信息!"); return; } var req = {}; req.orgId = $("#settleOrgId").val(); req.beginTime = $("#settleBeginTime").val(); req.endTime = $("#settleEndTime").val(); req.checkStatus = checkStatus; req.remark = remark; req.sysCode = sysComm.sysCode; req.settlementMonth = $("#tolltorNum").text(); req.settlementTotalFee = ($("#tolltorsum").text())*100; req.settlementActFee = ($("#tolltorsum").text())*100; var opt = { method: 'post', url: dataUrl.util.updateSettlementRecordCheckStatusByOrgIdAndTime(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function(res) { console.log(res); if(res.code == '8888') { if(res.data){ $('#recharge_error').removeClass('display-none').text("提交成功!"); $('#parking_forcemodel').modal('hide'); fun.createTableData(); fun.summarySettle(); }else{ console.log(res); } }else{ console.log(res); } } }; sysAjax(opt); } function getMonthLastDay(date){ var current=date; var currentMonth=current.getMonth(); var nextMonth=++currentMonth; var nextMonthDayOne =new Date(current.getFullYear(),nextMonth,1); var minusDate=1000; return new Date(nextMonthDayOne.getTime()-minusDate); } /** * 客户结算表格请求函数 * @param params */ function settleOrderTableRequest(params) { var startDate = $('#compa-daterange-btnsta').val(); if (null != startDate && startDate != '') { startDate = startDate + '-01 00:00:00'; startDate = new Date(startDate.replace(new RegExp(/-/gm), "/")) } var endDate = startDate; if (null != endDate && endDate != '') { endDate = getMonthLastDay(startDate); } var orgIds = $("#company_type").val(); orgIds = JSON.parse(orgIds); //设置请求参数 var pageNum = (params.data.offset / params.data.limit) + 1; var req = { baseRequest: { pageNum: pageNum, pageSize: params.data.limit }, sysCode: sysComm.sysCode, orgIds: orgIds, startDate: startDate, endDate: endDate }; var opt = { method: 'post', url: dataUrl.util.querySettlementRecordSumByOrgIdforOrgId(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { console.log('客户结算'); console.log(res); if (res.code == '8888') { params.success(res.data); } } }; sysAjax(opt); } /** * 公司结算表格请求函数 * @param params */ function CompanyOrderTableRequest(params) { var startDate = $('#compa-daterange-btnsta').val(); if (null != startDate && startDate != '') { startDate = startDate + '-01 00:00:00'; startDate = new Date(startDate.replace(new RegExp(/-/gm), "/")) } var endDate = startDate; if (null != endDate && endDate != '') { endDate = getMonthLastDay(startDate); } var orgIds = $("#company_type").val(); // orgIds = JSON.parse(orgIds); //设置请求参数 var pageNum = (params.data.offset / params.data.limit) + 1; var req = { baseRequest: { pageNum: pageNum, pageSize: params.data.limit }, orgIds: [detailOrgId], sysCode: sysComm.sysCode, startDate: startDate, endDate: endDate }; var opt = { method: 'post', url: dataUrl.util.querySettlementRecordListByOrgIds(), 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 = $("#companytable").bootstrapTable('getData'); //获取table总条数 var numTotal = $("#companytable").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 startDate = $('#compa-daterange-btnsta').val(); if (null != startDate && startDate != '') { startDate = startDate + '-01 00:00:00'; startDate = new Date(startDate.replace(new RegExp(/-/gm), "/")) } var endDate = startDate; if (null != endDate && endDate != '') { endDate = getMonthLastDay(startDate); } var orgIds = $("#company_type").val(); orgIds = JSON.parse(orgIds); //设置请求参数 var req = { sysCode: sysComm.sysCode, orgIds: orgIds, startDate: startDate, endDate: endDate }; var startDate = DateUtils.long2String(req.startDate, 7); var endDate = DateUtils.long2String(req.endDate, 7); var url = dataUrl.util.exportSettlementRecordSumByOrgIdforOrgId(); var forms = exportIncomeDetailFormforbill(url, startDate, endDate, req.orgIds, req.sysCode ); forms.submit(); }); function exportIncomeDetailFormforbill(url, startDate, endDate, orgIds, 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 = "startDate"; input.value = startDate; form.appendChild(input); var input2 = document.createElement("input"); input2.name = "endDate"; input2.value = endDate; form.appendChild(input2); var input3 = document.createElement("input"); input3.name = "orgIds"; input3.value = orgIds; form.appendChild(input3); var input16 = document.createElement("input"); input16.name = "sysCode"; input16.value = sysCode; form.appendChild(input16); return form; };