/** * Created by mac on 18/5/19. */ var fun = { init:function () { //fun.initParkBlock(); //收费员初始化 $('#tollincome-person').selectpicker('render'); commSelect.area_Pl_LinkedSelect("#tollincome-plAreaBlockIds", "#tollincome-parkIds",null,"",1); //块下拉框变化,停车场下拉框变化 //fun.queryBlockChange(); //停车场下拉框变化,收费员下拉框变化 fun.queryParkChange(); fun.initChargerSelect(); fun.dateInit(); fun.monthdateInit(); fun.createTableData(); fun.incomecasierTotal(); }, dateInit:function () { // 日 $('#temtob-daterange-btnsta').val(moment().subtract('days', 1).format('YYYY-MM-DD')); $('#temtob-daterange-btnend').val(moment().subtract('days', 1).format('YYYY-MM-DD')); //开始日期 $("#temtob-daterange-btnsta").datetimepicker({ endDate: moment().subtract('days', 1).format('YYYY-MM-DD'), format: 'yyyy-mm-dd', autoclose: true, startView: 2, minView: 2, forceParse: false, locale: "zh-CN", language: 'zh-CN', pickerPosition: "bottom-right" }); $("#temtob-daterange-btnend").datetimepicker({ endDate: moment().subtract('days', 1).format('YYYY-MM-DD'), //startDate:startVal, format: 'yyyy-mm-dd', weekStart: 1, autoclose: true, startView: 2, minView: 2, forceParse: false, locale: "zh-CN", language: 'zh-CN', pickerPosition: "bottom-right" }); }, monthdateInit: function () { /** 月 时间初始化 **/ $('#temtob-monthdaterange-btnsta').val(moment().subtract('months', 1).format('YYYY-MM')); $('#temtob-monthdaterange-btnend').val(moment().subtract('months', 1).format('YYYY-MM')); //开始日期 $("#temtob-monthdaterange-btnsta").datetimepicker({ endDate: moment().subtract('months', 1).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" }) //结束日期 $("#temtob-monthdaterange-btnend").datetimepicker({ endDate: moment().subtract('months', 1).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" }) }, //停车区域-块 initParkBlock: function () { var data = fn.getParkBlock(); var html = ''; var htmls = ''; var blockIds = [-1]; for (var i = 0; i < data.length; i++) { blockIds.push(data[i].code); html += ""; } var blockIdsStr = JSON.stringify(blockIds); htmls = '' + html; $("#tollincome-plAreaBlockIds").empty(); $("#tollincome-plAreaBlockIds").append(htmls); $('#tollincome-plAreaBlockIds').selectpicker('render'); //加载下拉框 fun.initParkSelect(); }, //根据块信息查询停车场信息 initParkSelect:function(){ //停车场下拉框 var data = fun.getParkingLotMsg(); var htmls = ''; var html = ''; var plNos = []; for (var i = 0; i < data.length; i++) { plNos.push(data[i].plNo); html += ""; } var plnosStr = JSON.stringify(plNos); htmls = '' + html; $("#tollincome-parkIds").empty(); $("#tollincome-parkIds").append(htmls); $('#tollincome-parkIds').selectpicker('refresh'); /*$("#parkIds1").empty(); $("#parkIds1").append(htmls); $('#parkIds1').selectpicker('refresh');*/ //收费员初始化 fun.initChargerSelect(); }, //根据停车场编号查询收费员信息 initChargerSelect:function(){ //停车场下拉框 var data = fun.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; $("#tollincome-person").empty(); $("#tollincome-person").append(htmls); $('#tollincome-person').selectpicker('refresh'); }, getParkingLotMsg:function(){ var plAreaBlockIds; plAreaBlockIds = JSON.parse($("#tollincome-plAreaBlockIds").val()); var parkLot = ""; var req = { sysCode:sysComm.sysCode, areaBlockIds: plAreaBlockIds }; var opt = { async: false, data:JSON.stringify(req), method: "POST", //contentType:"application/x-www-form-urlencoded; charset=UTF-8", url: dataUrl.util.getParkListByBlockIds(), success: function (res) { if (res.code == '8888') { parkLot = JSON.stringify(res.data); } } } sysAjax(opt); return JSON.parse(parkLot); }, getChargerMsg:function(){ var plNos; plNos = JSON.parse($("#tollincome-parkIds").val()); var plNo = ""; // if (plNos.length > 1) { // plNo = ""; // } else { // plNo = plNos[0]; // } var chargers = ""; var req = { baseRequest:{pageNum: 1, pageSize: 1000}, plNo: plNo, parkAreaCode: "", groupCode: "", onduty: "", status: "", nameOrNo: "", // chargerCodes:fn.getChargerCodes(), 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); }, //块改变查询停车场 queryBlockChange:function(){ $("#tollincome-plAreaBlockIds").change(function(){ fun.initParkSelect(); }); }, //停车场改变查询收费员 queryParkChange:function(){ $("#tollincome-parkIds").change(function(){ fun.initChargerSelect(); }); }, //结算记录表格 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: 'staticDateStr', title: '时间', width: '10%', visible: true, align: "left", formatter: function (value, row, index) { return '
' + commonObj.replacenull(value) + '
' } }, { field: 'sourceName', title: '收费员名称', width: '10%', align: "left", formatter: function (value, row, index) { return '
' + commonObj.replacenull(value) + '
' } }, { field: 'plName', title: '车场名称', width: '10%', align: "left", formatter: function (value, row, index) { return '
' + commonObj.replacenull(value) + '
' } }, { field: 'plType', title: '车场类型', width: '10%', visible: false, align: "left", formatter: function (value, row, index) { var result = ""; if(value==1){ result = "路侧"; }else{ result = "封闭"; } return '
' + commonObj.replacenull(result) + '
' } }, { field: 'berthRangeName', title: '泊位区间', width: '10%', align: "left", formatter: function (value, row, index) { return '
' + commonObj.replacenull(value) + '
' } }, { field: 'actFee', title: '总收入', width: '10%', align: "left", formatter: function (value, row, index) { return '
' + commonObj.moneyFormatter(value) + '
' } }, { field: 'errorOrderNum', title: '异常订单数', width: '10%', align: "left", formatter: function (value, row, index) { return '
' + fun.numberFormatter(value) + '
' } }, { field: 'errorFee', title: '异常金额', width: '10%', align: "left", formatter: function (value, row, index) { return '
' + commonObj.moneyFormatter(value) + '
' } }, { field: 'backActFee', title: '补缴收入', width: '10%', visible: false, align: "left", formatter: function (value, row, index) { return '
' + commonObj.moneyFormatter(value) + '
' } }, ] }); }, /*获取查询参数*/ getQueryParam: function () { var plBlockIds = JSON.parse($("#tollincome-plAreaBlockIds").val()); var plNos = []; var plnos = $("#tollincome-parkIds").val(); if(plnos==null||plnos==''){ plNos.push("-1X"); } else{ plNos = JSON.parse(plnos); } var chargerCodes = []; var chargercodes = $("#tollincome-person").val(); if(chargercodes==null||chargercodes==''){ chargerCodes.push("-1X"); } else{ chargerCodes = JSON.parse(chargercodes); } if(chargerCodes.length ==0){ chargerCodes = null; } var reportDate,reportDateEnd,TabTag; if($('#tollIncomeType').val()==1){ reportDate = $("#temtob-daterange-btnsta").val(); reportDateEnd = $("#temtob-daterange-btnend").val(); TabTag=0; }else { reportDate = $("#temtob-monthdaterange-btnsta").val(); reportDateEnd = $("#temtob-monthdaterange-btnend").val(); TabTag=4; } var req = { sysCode: sysComm.sysCode, plNos: plNos, reportDate: reportDate, reportDateEnd: reportDateEnd, sourceCodes:chargerCodes, reportTabTag: TabTag }; return req; }, //初始化 initDatas: function () { $("[id$='Num']").html(fun.numberFormatter(0)); $("[id$='Fee']").html(fun.moneyFormatter(0)); }, //汇总查询 incomecasierTotal: function (reportTabTag) { //初始化 fun.initDatas(); var req = fun.getQueryParam(); var opt = { async: false, method: 'post', url: dataUrl.util.queryIncomeParkSourceForTotal(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if ("8888" == res.code) { var data = res.data; //开始渲染汇总数据 var orderActFeeTotal = 0; var abnormalOrderNum = 0; var abnormalActFeeTotal = 0; var chargerNum = 0; //明细 $.each(data, function (index, row) { if (row.plType == 1) { orderActFeeTotal += row.orderActFeeTotal; chargerNum += row.chargerNum; $("#outTotalFee").text(fun.moneyFormatter(row.orderActFeeTotal)); $("#outChargerNum").text(fun.numberFormatter(row.chargerNum)); abnormalActFeeTotal += row.abnormalActFeeTotal; $("#outAbnormalActFee").text(fun.moneyFormatter(row.abnormalActFeeTotal)); abnormalOrderNum += row.abnormalOrderNum; $("#outAbnormalOrderNum").text(fun.numberFormatter(row.abnormalOrderNum)); } else if (row.plType == 2) { orderActFeeTotal += row.orderActFeeTotal; chargerNum += row.chargerNum; $("#inTotalFee").text(fun.moneyFormatter(row.orderActFeeTotal)); $("#inChargerNum").text(fun.numberFormatter(row.chargerNum)); abnormalActFeeTotal += row.abnormalActFeeTotal; $("#inAbnormalActFee").text(fun.moneyFormatter(row.abnormalActFeeTotal)); abnormalOrderNum += row.abnormalOrderNum; $("#inAbnormalOrderNum").text(fun.numberFormatter(row.abnormalOrderNum)); } $("#allTotalFee").text(fun.moneyFormatter(orderActFeeTotal)); $("#allChargerNum").text(fun.numberFormatter(chargerNum)); $("#allAbnormalActFee").text(fun.moneyFormatter(abnormalActFeeTotal)); $("#allAbnormalOrderNum").text(fun.numberFormatter(abnormalOrderNum)); }); } } }; sysAjax(opt); }, //金额格式化 moneyFormatter: function (value) { // console.log(typeof value) if (value == 0 || value == undefined || value == null) { return "0.00"; } else { return (value / 100).toFixed(2); } }, //字符串格式化 strFormatter: function (value) { // console.log(typeof value) if ( value == undefined || value == null) { return "-"; } else { return value; } }, //金额格式化 numberFormatter: function (value) { // console.log(typeof value) if (value == 0 || value == undefined || value == null) { return 0; } else { return parseInt(value); } }, //导出函数 exportChargerStaticExcel:function(){ //校验日期 var url = ""; var req = fun.getQueryParam(); if(req.sourceCodes == null || req.sourceCodes.length == 0){ url = dataUrl.util.exportIncomeParkSourceEveryDayForPage() + '?reportTabTag=' + req.reportTabTag + '&reportDate=' + req.reportDate + '&reportDateEnd=' + req.reportDateEnd + '&plNos=' + req.plNos + '&sourceCodes=&sysCode='+sysComm.sysCode; }else{ url = dataUrl.util.exportIncomeParkSourceEveryDayForPage() + '?reportTabTag=' + req.reportTabTag + '&reportDate=' + req.reportDate + '&reportDateEnd=' + req.reportDateEnd + '&plNos=' + req.plNos + '&sourceCodes=' + req.sourceCodes +'&sysCode='+sysComm.sysCode; } window.downloadFile(url); }, }; //日月切换 点击事件s //日 点击 documentBindFunc.on('click', '#temtobdaytype', function () { $('.bill-choosedateday').removeClass('display-none'); $('.bill-choosedatemonth').addClass('display-none'); $('#temtobmonthtype').removeClass('ITD-graynav-topbaractive'); $('#temtobdaytype').addClass('ITD-graynav-topbaractive'); $('#tollIncomeType').attr('data-value', '1'); $("#tollIncomeType").val(1); fun.createTableData(); fun.incomecasierTotal(); }); //月 点击 documentBindFunc.on('click', '#temtobmonthtype', function () { $('.bill-choosedatemonth').removeClass('display-none'); $('.bill-choosedateday').addClass('display-none'); $('#temtobdaytype').removeClass('ITD-graynav-topbaractive'); $('#temtobmonthtype').addClass('ITD-graynav-topbaractive'); $('#tollIncomeType').attr('data-value', '2'); $("#tollIncomeType").val(2); fun.createTableData(); fun.incomecasierTotal(); }); //导出 var InterValObj; //timer变量,控制时间 var count = 8; //间隔函数,1秒执行 var curCount;//当前剩余秒数 function sendMessage() { curCount = count; //设置button效果,开始计时 $("#tollincomereportBtn").attr("disabled", "true"); $(".ITD-export-btn").css("width", "138px"); $("#tollincomereportBtn").val(curCount + "秒后可再次导出"); InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次 } //timer处理函数 function SetRemainTime() { if (curCount == 0) { window.clearInterval(InterValObj);//停止计时器 $("#tollincomereportBtn").removeAttr("disabled");//启用按钮 $(".ITD-export-btn").css("width", "72px"); $("#tollincomereportBtn").val("导出"); } else { curCount--; $("#tollincomereportBtn").val(curCount + "秒后可再次导出"); } } //导出excle documentBindFunc.on('click','#tollincomereportBtn',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(); fun.exportChargerStaticExcel(); }); /** * 结算记录表格请求函数 * @param params */ function settleOrderTableRequest(params) { var req = fun.getQueryParam(); //设置请求参数 var pageNum = (params.data.offset / params.data.limit) + 1; req .baseRequest= { pageNum: pageNum, pageSize: params.data.limit }; var opt = { async: false, method: 'post', url: dataUrl.util.queryParkChargerIncomeForPage(), 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); } fun.init(); //查询 documentBindFunc.on('click', '#temtob-queryBtn', function () { fun.createTableData(); fun.incomecasierTotal(); }); //导出功能 window.downloadFile = function (sUrl) { //iOS devices do not support downloading. We have to inform user about this. if (/(iP)/g.test(navigator.userAgent)) { alert('Your device does not support files downloading. Please try again in desktop browser.'); return false; } //If in Chrome or Safari - download via virtual link click if (window.downloadFile.isChrome || window.downloadFile.isSafari) { //Creating new link node. var link = document.createElement('a'); link.href = sUrl; if (link.download !== undefined) { //Set HTML5 download attribute. This will prevent file from opening if supported. var fileName = sUrl.substring(sUrl.lastIndexOf('/') + 1, sUrl.length); link.download = fileName; } //Dispatching click event. if (document.createEvent) { var e = document.createEvent('MouseEvents'); e.initEvent('click', true, true); link.dispatchEvent(e); return true; } } // Force file download (whether supported by server). if (sUrl.indexOf('?') === -1) { sUrl += '?download'; } window.open(sUrl, '_self'); return true; } window.downloadFile.isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; window.downloadFile.isSafari = navigator.userAgent.toLowerCase().indexOf('safari') > -1;