var fun = { dateFormat: function (msd) { var time = msd if (null != time && "" != time) { if (time > 60 && time < 60 * 60) { time = parseInt(time / 60.0) + "分钟" + parseInt((parseFloat(time / 60.0) - parseInt(time / 60.0)) * 60) + "秒"; } else if (time >= 60 * 60 && time < 60 * 60 * 24) { time = parseInt(time / 3600.0) + "小时" + parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) + "分钟" + parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) - parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60) + "秒"; } else if (time >= 60 * 60 * 24) { time = parseInt(time / 3600.0 / 24) + "天" + parseInt((parseFloat(time / 3600.0 / 24) - parseInt(time / 3600.0 / 24)) * 24) + "小时" + parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) + "分钟" + parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) - parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60) + "秒"; } else { time = parseInt(time) + "秒"; } } return time; }, checkIN: function (i) { return i.parkState == 10 }, checkOUT: function (i) { return i.parkState == 20 }, //查询单个待支付单费用 getOneorder: function (carNumber, parkCode, orderId, parkCode) { // var salt = jsajax.salt(32); // var token = mUrl.GetToken(); var salt = jsajax.salt(32); var token = mUrl.GetToken(); if (token == null) { token = ''; } var jsondata = { app_id: _app_id, deviceInfo: "BC0703A4-AFB0-4B51-9089-9B7487C0CC6E", salt: salt, sign: fun.getMd5sign(), sign_type: "md5", token: token, appId: jsajax.appID, orderId: orderId, terminalSource: '7', parkCode: parkCode, carNumber: carNumber, } // console.log('查询单个的入参 ' + JSON.stringify(jsondata) + " 请求的接口" + mUrl.oneCardorder); jsajax.defaultReq( mUrl.oneCardorder, JSON.stringify(jsondata), function (data) { console.log(data) if (data.code == '0') { //setdiv(); setTimeout(function () { var datas = data.data console.log(datas) var due = datas.due;//总计费用 var unpaid = datas.unpaid;//待支付 var discountFee; var discountDesc; if (datas.discountFee && datas.discountFee != '' && datas.discountFee != undefined) { discountFee = datas.discountFee;//已优惠 if (datas.discountDesc && datas.discountDesc != '' && datas.discountDesc != undefined) { discountDesc = datas.discountDesc;//已优惠 } } var _num = 1 var _paySrcType = 101 //console.log('-------------------------------'+discountType); //查询到车牌号订单信息 var src = 'monPay.html?carnum=' + carNumber // + "&inparktime=" + inparktime // + "&parkName=" + parkName // + "&staytime=" + staytime + "&due=" + due + "&unpaid=" + unpaid + "&num=" + _num // + "&paid=" + paid // + "&no=" + no + "&disfee=" + discountFee + "&disdesc=" + discountDesc + "&orderId=" + orderId + "&parkCode=" + parkCode + "&paySrcType=" + _paySrcType console.log(src) window.location.assign(encodeURI(src)) }, 100); } } ) }, queryArrearageSta: function () { // var salt = jsajax.salt(32); // var token = mUrl.GetToken(); var salt = jsajax.salt(32); var token = mUrl.GetToken(); if (token == null) { token = ''; } var list = "[" + fun.orderIds + "]" var orderlist = fun.orderIds var codes = "[" + fun.parkCodes + "]" var jsondata = { app_id: _app_id, deviceInfo: "BC0703A4-AFB0-4B51-9089-9B7487C0CC6E", salt: salt, sign: fun.getMd5sign(), sign_type: "md5", token: token, appId: jsajax.appID, orderIds: list, terminalSource: '7', payType: 4, orgId: '10003', } console.log('查询单个的入参 ' + JSON.stringify(jsondata) + " 请求的接口" + mUrl.oneCardorder); jsajax.defaultReq( mUrl.queryArrearageSta, JSON.stringify(jsondata), function (data) { console.log('获取单个待支付订单 ' + JSON.stringify(data)); var datas = data.data.carArrearages[0] console.log(datas) setTimeout(function () { var discountFee = datas.arrearageDiscFee;//已优惠 var discountDesc = datas.discDesc;//已优惠 var carNumber = datas.carNumber; var due = datas.arrearageTotalFee;//总计费用 var unpaid = datas.arrearageActFee;//待支付 var paid = datas.arrearageActFee;//实付 var discountType = datas.discountType; if (datas.discountFee && datas.discountFee != '' && datas.discountFee != undefined) { discountFee = datas.discountFee;//已优惠 if (datas.discountDesc && datas.discountDesc != '' && datas.discountDesc != undefined) { discountDesc = datas.discountDesc;//已优惠 } } var _num = datas.arrearageNum var _paySrcType = 103 //查询到车牌号订单信息 var src = 'monPay.html?carnum=' + carNumber + "&due=" + due + "&unpaid=" + unpaid + "&paid=" + paid + "&num=" + _num // + "&no=" + no + "&disfee=" + discountFee + "&disdesc=" + discountDesc + "&orderId=" + orderlist // + '&discountType=' + discountType + '&parkCode=' + codes + "&paySrcType=" + _paySrcType console.log(src) window.location.assign(encodeURI(src)) }, 100); } ) }, getMd5sign: function () { var salt = jsajax.salt(32); var token = mUrl.GetToken(); if (token == null) { token = ''; } var sortd = [ { keyname: 'app_id', value: _app_id }, { keyname: 'deviceInfo', value: 'BC0703A4-AFB0-4B51-9089-9B7487C0CC6E' }, { keyname: 'salt', value: salt }, { keyname: 'sign_type', value: 'md5' }, { keyname: 'token', value: token } ]; var md5sign = jsajax.getsign(sortd); return md5sign; }, allMoney: 0, inData: [], //在场 outData: [], //离场 listData: [], selectLen: 0, orderIds: [], // 选中订单号数组 orderArr: [], parkCodes: [], parkCodeArr: [], selectedMon: 0,//选中了总金额 flag: false, getQueryVariable: function (variable) { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (pair[0] == variable) { return decodeURI(pair[1]); } } return (false); }, init: function () { console.log(fun.listData) fun.inData = fun.listData.filter(fun.checkIN) fun.outData = fun.listData.filter(fun.checkOUT) console.log(fun.inData) console.log(fun.outData) if (fun.inData.length > 0) { $('#pay-wrap').html('') // carNumber,parkCode,orderId $('#pay-wrap').attr('carNumber', fun.inData[0].carNumber) $('#pay-wrap').attr('parkCode', fun.inData[0].parkCode) $('#pay-wrap').attr('orderId', fun.inData[0].orderId) var orderFreeDuration = Number((fun.inData[0].orderFreeDuration)) var parkDuration = Number((fun.inData[0].parkDuration)) if (orderFreeDuration > parkDuration) { fun.flag = true $('#pay-wrap').append('
停车场名称:' + fun.inData[0].parkName + '
\n' + '进场时间:' + fun.inData[0].parkInTime + '
\n' + '出场时间:' + fun.inData[0].parkOutTime + '
\n' + '停车时长:' + fun.dateFormat(fun.inData[0].parkDuration) + '
\n' + ' ' + ((fun.inData[0].unPayFee) / 100).toFixed(2) + '元\n' + '申请离场' + '
' + ' ' + '停车场名称:' + fun.inData[0].parkName + '
\n' + '进场时间:' + fun.inData[0].parkInTime + '
\n' + '出场时间:' + fun.inData[0].parkOutTime + '
\n' + '停车时长:' + fun.dateFormat(fun.inData[0].parkDuration) + '
\n' + ' ' + ((fun.inData[0].unPayFee) / 100).toFixed(2) + '元\n' + '出场缴费' + '
' + ' ' + '无本次订单费用
') } if (fun.outData.length > 0) { $('#arrears-list').html('') for (var i = 0; i < fun.outData.length; i++) { var num = ((fun.outData[i].unPayFee) / 100).toFixed(2); console.log(fun.outData[i].unPayFee) fun.allMoney += Number(fun.outData[i].unPayFee) fun.orderArr.push(fun.outData[i].orderId) fun.parkCodeArr.push(fun.outData[i].parkcode) // console.log(fun.allMoney) $('#arrears-list').append('停车场名称:' + fun.outData[i].parkName + '
\n' + '进场时间:' + fun.outData[i].parkInTime + '
\n' + '出场时间:' + fun.outData[i].parkOutTime + '
\n' + '停车时长:' + fun.dateFormat(fun.outData[i].parkDuration) + '
\n' + ' ' + num + '元\n' + '无历史欠费费用
') } }, _initData: function () { var _carNumber = fun.getQueryVariable('carNumber') console.log(_carNumber) /** * @param {} second * @return {} * @desc 秒转化成dd hh:mm:ss */ var salt = jsajax.salt(32); var sortd = [ { keyname: 'app_id', value: _app_id }, { keyname: 'deviceInfo', value: 'BC0703A4-AFB0-4B51-9089-9B7487C0CC6E' }, { keyname: 'salt', value: salt }, { keyname: 'sign_type', value: 'md5' }, { keyname: 'token', value: '8957e613280b46f7ae8aaea71ed17353' }, { keyname: 'pageNum', value: 1 }, { keyname: 'pageSize', value: 10 }, { keyname: 'parkState', value: 10 }, { keyname: 'terminalSource', value: 7 }, { keyname: 'carNumber', value: _carNumber } ]; var md5sign = jsajax.getsign(sortd); var jsondata = { app_id: _app_id, deviceInfo: "BC0703A4-AFB0-4B51-9089-9B7487C0CC6E", salt: salt, sign_type: "md5", token: '8957e613280b46f7ae8aaea71ed17353', pageNum: 1, pageSize: 10, parkState: 10, terminalSource: 7, carNumber: _carNumber, sign: md5sign } console.log('停车记录传参 ' + JSON.stringify(jsondata)); jsajax.defaultReq( mUrl.listServer, JSON.stringify(jsondata), function (data) { console.log(data.data.dataList) var data = data.data.dataList; if (data.length == 0) { $('#tip-title').text('您的停车费用为0元,无须缴费,谢谢!') return } else { fun.listData = data fun.init()// 初始化 } }) } } fun._initData() //......................... Tab 切换 $('#tab-wrap li').on('click', function () { var _index = $(this).index() $(this).addClass('active').siblings().removeClass('active') $('#tab-main>div').eq(_index).show().siblings().hide() }) //......................... 全选 $('#check-btn').on('click', function () { if ($(this).hasClass('checkedActive')) { $('#listLen').text('0') $('#listMon').text('¥ 0.00') $('#arrears-list li').removeClass('active') fun.selectLen = 0 fun.selectedMon = 0 fun.orderIds = [] fun.parkCodes = [] } else { $('#listLen').text(fun.outData.length) $('#listMon').text('¥ ' + ((fun.allMoney) / 100).toFixed(2)) $('#arrears-list li').addClass('active') fun.selectLen = fun.outData.length fun.selectedMon = fun.allMoney fun.orderIds = fun.orderArr fun.parkCodes = fun.parkCodeArr } $(this).toggleClass('checkedActive') }) //......................... 单个选择操作 $('#arrears-list').delegate('li', 'click', function () { var mon = $(this).attr('data-unpayfee') var orderid = $(this).attr('data-orderid') var parkcode = $(this).attr('data-parkcode') if ($(this).hasClass('active')) { $('#check-btn').removeClass('checkedActive') //去掉全选 // 总结现在已经选中了那些 var _index = fun.orderIds.indexOf(orderid) fun.orderIds = fun.orderIds.filter(function (i) { return i !== orderid }) var _index = fun.parkCodes.indexOf(parkcode) fun.parkCodes = fun.parkCodes.filter(function (i) { return i !== orderid }) fun.selectLen-- fun.selectedMon = fun.selectedMon - mon $('#listLen').text(fun.selectLen) $('#listMon').text('¥ ' + ((fun.selectedMon) / 100).toFixed(2)) } else { fun.orderIds.push(orderid) fun.parkCodes.push(parkcode) fun.selectLen++ if (fun.selectLen == fun.outData.length) { $('#check-btn').addClass('checkedActive') //全选了 } fun.selectedMon = Number(fun.selectedMon) + Number(mon) $('#listLen').text(fun.selectLen) $('#listMon').text('¥ ' + ((fun.selectedMon) / 100).toFixed(2)) //总结选择了那些 } $(this).toggleClass('active') }) //......................... 本次费用 $('#pay-wrap').on('click', function () { if (fun.flag) { return } var carNumber = $(this).attr('carNumber') var parkCode = $(this).attr('parkCode') var orderId = $(this).attr('orderId') fun.getOneorder(carNumber, parkCode, orderId, parkCode) }) //......................... 历史欠费 $('#opr-btn').on('click', function () { if (fun.orderIds.length == 0) { return } else { fun.queryArrearageSta() } }) //......................... 免费离场 $(document).on('click', '.out-btn', function () { var money = $(this).attr('data-money') console.log(money) var _orderId = $(this).attr('data-orderId') var carNumber = $(this).attr('data-carnumber') var parkCode = $(this).attr('data-parkcode') var paySrcType = '101' console.log(paySrcType) localStorage.setItem('paySrcType', paySrcType) localStorage.setItem('parkCode', parkCode) $('.dialog-out').show() var salt = jsajax.salt(32); var token = mUrl.GetToken(); if (token == null) { token = ''; } var jsondata = { app_id: _app_id, deviceInfo: "BC0703A4-AFB0-4B51-9089-9B7487C0CC6E", salt: salt, sign: getMd5sign(), sign_type: "md5", //token : token, //appId:jsajax.appID, orderId: _orderId, payOrderType: '101', terminalSource: '1', //parkCode:parkCode, // carNumber:carNumber, } jsajax.defaultReq( cepath + '/appAccountPay/appApplyParkOut', JSON.stringify(jsondata), function (data) { console.log(data) if (data.code == '5005') { getOneorder(carNumber, parkCode, _orderId) } else { $('.dialog-out').show() // window.location.href = 'zeroout.html' } // alert(data.message) }) }) $('.close-btn').on('click', function () { $('.dialog-out').hide() }) function getMd5sign() { var salt = jsajax.salt(32); var token = mUrl.GetToken(); if (token == null) { token = ''; } var sortd = [ { keyname: 'app_id', value: _app_id }, { keyname: 'deviceInfo', value: 'BC0703A4-AFB0-4B51-9089-9B7487C0CC6E' }, { keyname: 'salt', value: salt }, { keyname: 'sign_type', value: 'md5' }, { keyname: 'token', value: token } ]; var md5sign = jsajax.getsign(sortd); return md5sign; }