Commit 834a2f37cc46dd662632d28d3342dade3c2da707
1 parent
acba8420
宣化 临停补缴 聚合支付
Showing
6 changed files
with
353 additions
and
279 deletions
src/api/doPay.js
0 → 100644
src/api/parkRecord/parkRecord.js
| 1 | -import request from '@/utils/request' | |
| 1 | +import request from "@/utils/request"; | |
| 2 | 2 | |
| 3 | 3 | export function parkRecordList(params) { |
| 4 | 4 | return request({ |
| 5 | - url: 'queryParkOrder/queryParkingRecordPageByCarNumbers', | |
| 6 | - method: 'post', | |
| 5 | + url: "queryParkOrder/queryParkingRecordPageByCarNumbers", | |
| 6 | + method: "post", | |
| 7 | 7 | data: params |
| 8 | - }) | |
| 8 | + }); | |
| 9 | 9 | } |
| 10 | 10 | |
| 11 | - | |
| 12 | 11 | export function historyQuery(params) { |
| 13 | 12 | return request({ |
| 14 | - url: 'queryParkOrder/queryArrearageStaForWXPublc', | |
| 15 | - method: 'post', | |
| 13 | + url: "queryParkOrder/queryArrearageStaForWXPublc", | |
| 14 | + method: "post", | |
| 16 | 15 | data: params |
| 17 | - }) | |
| 16 | + }); | |
| 18 | 17 | } |
| 19 | 18 | |
| 20 | 19 | export function parkingQuery(params) { |
| 21 | 20 | return request({ |
| 22 | - url: 'queryParkOrder/billQuery', | |
| 23 | - method: 'post', | |
| 21 | + url: "queryParkOrder/billQuery", | |
| 22 | + method: "post", | |
| 24 | 23 | data: params |
| 25 | - }) | |
| 24 | + }); | |
| 26 | 25 | } |
| 27 | 26 | |
| 28 | 27 | export function appApplyParkOut(params) { // 0元出场 |
| 29 | 28 | return request({ |
| 30 | - url: 'appAccountPay/appApplyParkOut', | |
| 31 | - method: 'post', | |
| 29 | + url: "appAccountPay/appApplyParkOut", | |
| 30 | + method: "post", | |
| 32 | 31 | data: params |
| 33 | - }) | |
| 32 | + }); | |
| 34 | 33 | } |
| 35 | 34 | |
| 35 | +export function queryArrearageSta(params) { // 查询补缴订单详情 | |
| 36 | + return request({ | |
| 37 | + url: "queryParkOrder/queryArrearageSta", | |
| 38 | + method: "post", | |
| 39 | + data: params | |
| 40 | + }); | |
| 41 | +} | |
| 36 | 42 | |
| 37 | - | |
| 43 | +export function doOrderCreate(params) { // 查询补缴订单详情 | |
| 44 | + return request({ | |
| 45 | + url: "allInPay/doOrderCreate", | |
| 46 | + method: "post", | |
| 47 | + data: params | |
| 48 | + }); | |
| 49 | +} | ... | ... |
src/utils/request.js
| ... | ... | @@ -8,7 +8,7 @@ const service = axios.create({ |
| 8 | 8 | // http://pay.service.renniting.cn/ 赤峰 |
| 9 | 9 | // http://pay.service.huangshiparking.com/ 黄石正式环境 |
| 10 | 10 | // http://39.98.54.240:8090/ 黄石测试环境 |
| 11 | - baseURL: 'https://pay.ccccitd.cc', // url = base url + request url | |
| 11 | + baseURL: 'http://wxzhifu.natapp1.cc', // url = base url + request url | |
| 12 | 12 | // withCredentials: true, // send cookies when cross-domain requests |
| 13 | 13 | timeout: 6000 // request timeout |
| 14 | 14 | }) | ... | ... |
src/utils/utils.js
| ... | ... | @@ -120,10 +120,13 @@ export default { |
| 120 | 120 | openId: "oWw3o5rY_bFsiT_nFd2CEQWGZfhs", |
| 121 | 121 | myOrgId: "10120", // 归属地 赤峰id 10003 黄石 10079 |
| 122 | 122 | |
| 123 | + | |
| 124 | + xuanhuaAppid:'00276515', | |
| 125 | + commonTerminalSource:'7', | |
| 123 | 126 | // myVxAppId: 'wx1489e48e6a547023', |
| 124 | 127 | signObject: function(jsonObj) { //签名字段 |
| 125 | 128 | jsonObj.sign_type = "md5"; |
| 126 | - jsonObj.app_id = "ud8yq5tv0inxupc05xfeau39jywlqoj2"; | |
| 129 | + jsonObj.app_id = "lrpo55tmveqe07w3gpovzgx34pdez7eh"; | |
| 127 | 130 | jsonObj.deviceInfo = "BC0703A4-AFB0-4B51-9089-9B7487C0CC6E"; |
| 128 | 131 | jsonObj.salt = myCommonSalt(32); |
| 129 | 132 | jsonObj.token = localStorage.getItem('userToken'); |
| ... | ... | @@ -149,13 +152,13 @@ export default { |
| 149 | 152 | } |
| 150 | 153 | }; |
| 151 | 154 | objb.sort(compare); |
| 152 | - var strmd5 = "ny1u72b6k374sg379z0kqjgfxe2ycnpw"; | |
| 155 | + var strmd5 = "gz8wfwd0gn1etamjjhzey1ggcz78pfvd"; | |
| 153 | 156 | for (var i = 0; i < objb.length; i++) { |
| 154 | 157 | if (objb[i].value != null && objb[i].value != "") { |
| 155 | 158 | strmd5 += objb[i].keyname + objb[i].value; |
| 156 | 159 | } |
| 157 | 160 | } |
| 158 | - strmd5 += "ny1u72b6k374sg379z0kqjgfxe2ycnpw"; | |
| 161 | + strmd5 += "gz8wfwd0gn1etamjjhzey1ggcz78pfvd"; | |
| 159 | 162 | // console.log('strmd5-------->'+strmd5); |
| 160 | 163 | strmd5 = md5(strmd5); |
| 161 | 164 | strmd5 = strmd5.toUpperCase(); | ... | ... |
src/views/parkPay/orderPay.vue
| ... | ... | @@ -27,7 +27,7 @@ |
| 27 | 27 | |
| 28 | 28 | |
| 29 | 29 | <div style="padding: 20px 18px"> |
| 30 | - <div class="toPay" @click="toPay">{{clientBrowser}}支付</div> | |
| 30 | + <div class="toPay" @click="vxPay">{{clientBrowser}}支付</div> | |
| 31 | 31 | </div> |
| 32 | 32 | |
| 33 | 33 | <div v-if="appOrderTimeout.length>0"> |
| ... | ... | @@ -48,7 +48,8 @@ |
| 48 | 48 | // import CryptoJS from '../utils/AES.js' |
| 49 | 49 | // let Base64 = require('js-base64').Base64 |
| 50 | 50 | import { MessageBox } from 'mint-ui'; |
| 51 | -import { aliPay, getOpenId, vxPayQuery, bankH5Pay, queryParkingRecordPageByCarNumbers } from '@/api/orderPay/orderPay' | |
| 51 | +import { aliPay, getOpenId, vxPayQuery, bankH5Pay, queryParkingRecordPageByCarNumbers} from '@/api/orderPay/orderPay' | |
| 52 | +import { doPay } from '@/api/doPay' | |
| 52 | 53 | |
| 53 | 54 | export default { |
| 54 | 55 | name: 'orderPay', |
| ... | ... | @@ -80,9 +81,9 @@ export default { |
| 80 | 81 | this.orderId = this.$route.query.ordeID |
| 81 | 82 | console.log(this.orderId) |
| 82 | 83 | this.appOrderTimeout = this.$route.query.appOrderTimeout |
| 83 | - if (this.clientBrowser == "微信") { | |
| 84 | - this.webAppCode = this.getCode(); | |
| 85 | - } | |
| 84 | + // if (this.clientBrowser == "微信") { | |
| 85 | + // this.webAppCode = this.getCode(); | |
| 86 | + // } | |
| 86 | 87 | |
| 87 | 88 | |
| 88 | 89 | |
| ... | ... | @@ -109,99 +110,126 @@ export default { |
| 109 | 110 | }, |
| 110 | 111 | toPay() { |
| 111 | 112 | let me = this |
| 112 | - let _order = [] | |
| 113 | - | |
| 114 | - console.log(this.orderId) | |
| 115 | - if (this.paySrcType == 103) { | |
| 116 | - this.orderId = JSON.parse(this.orderId) | |
| 117 | - this.orderId.forEach(item => { | |
| 118 | - _order.push({ | |
| 119 | - orderId: item | |
| 120 | - }) | |
| 121 | - }) | |
| 122 | - this.orderId = [] | |
| 123 | - this.orderId = _order | |
| 124 | - } | |
| 125 | - | |
| 126 | - | |
| 127 | - if (this.clientBrowser == '微信') { // 微信支付 | |
| 128 | - let _openId = sessionStorage.getItem('openIdData') | |
| 129 | - if(_openId){ | |
| 130 | - me.vxPay(_openId, this.orderId) | |
| 131 | - }else{ | |
| 132 | - //第一步获取openid | |
| 133 | - var codeParams = { | |
| 134 | - code: this.webAppCode, | |
| 135 | - appId: this.$utils.myVxAppId | |
| 136 | - }; | |
| 137 | - getOpenId(codeParams).then(res => { | |
| 138 | - if (res.code == 0) { | |
| 139 | - me.vxPay(res.data, this.orderId) | |
| 140 | - sessionStorage.setItem('openIdData',res.data) | |
| 141 | - } else if (res.code == 40163) { //code been used, hints[重复code问题] | |
| 142 | - alert('请重新扫码重复code问题') | |
| 143 | - console.log(res.message); | |
| 144 | - } else { | |
| 145 | - alert('请重新扫码') | |
| 146 | - } | |
| 147 | - }) | |
| 148 | - } | |
| 149 | - } | |
| 113 | + // let _order = [] | |
| 114 | + // | |
| 115 | + // console.log(this.orderId) | |
| 116 | + // if (this.paySrcType == 103) { | |
| 117 | + // this.orderId = JSON.parse(this.orderId) | |
| 118 | + // this.orderId.forEach(item => { | |
| 119 | + // _order.push({ | |
| 120 | + // orderId: item | |
| 121 | + // }) | |
| 122 | + // }) | |
| 123 | + // this.orderId = [] | |
| 124 | + // this.orderId = _order | |
| 125 | + // } | |
| 126 | + | |
| 127 | + | |
| 128 | + // if (this.clientBrowser == '微信') { // 微信支付 | |
| 129 | + // let _openId = sessionStorage.getItem('openIdData') | |
| 130 | + // if(_openId){ | |
| 131 | + // me.vxPay(_openId, this.orderId) | |
| 132 | + // }else{ | |
| 133 | + // //第一步获取openid | |
| 134 | + // var codeParams = { | |
| 135 | + // code: this.webAppCode, | |
| 136 | + // appId: this.$utils.myVxAppId | |
| 137 | + // }; | |
| 138 | + // getOpenId(codeParams).then(res => { | |
| 139 | + // if (res.code == 0) { | |
| 140 | + // me.vxPay(res.data, this.orderId) | |
| 141 | + // sessionStorage.setItem('openIdData',res.data) | |
| 142 | + // } else if (res.code == 40163) { //code been used, hints[重复code问题] | |
| 143 | + // alert('请重新扫码重复code问题') | |
| 144 | + // console.log(res.message); | |
| 145 | + // } else { | |
| 146 | + // alert('请重新扫码') | |
| 147 | + // } | |
| 148 | + // }) | |
| 149 | + // } | |
| 150 | + // } | |
| 150 | 151 | }, |
| 151 | - vxPay(openIdData, orderIdData) { | |
| 152 | - let vm = this | |
| 153 | - var wxParams = {}; | |
| 154 | - wxParams.orderId = orderIdData; | |
| 155 | - wxParams.backType = 2, | |
| 156 | - wxParams.orgId = this.$utils.myOrgId, | |
| 157 | - wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 | |
| 158 | - wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付 | |
| 159 | - wxParams.carNumber = this.carNumber; | |
| 160 | - wxParams.paySrcType = this.paySrcType;//101停车支付 | |
| 161 | - wxParams.recordArreaInfos = JSON.stringify(orderIdData); | |
| 162 | - wxParams.openId = openIdData; | |
| 163 | - wxParams.backDeveloperCode = this.tollNumber, | |
| 164 | - wxParams.appId = this.$utils.myVxAppId; | |
| 165 | - vxPayQuery(wxParams).then(res => { | |
| 166 | - if (res.code == 0) { // | |
| 167 | - if (res.data) { | |
| 168 | - var data = res.data; | |
| 169 | - console.log(JSON.stringify(data)); | |
| 170 | - if (typeof WeixinJSBridge === 'undefined') { // 微信浏览器内置对象。参考微信官方文档 | |
| 171 | - if (document.addEventListener) { | |
| 172 | - document.addEventListener('WeixinJSBridgeReady', vm.onBridgeReady(data), false) | |
| 173 | - } else if (document.attachEvent) { | |
| 174 | - document.attachEvent('WeixinJSBridgeReady', vm.onBridgeReady(data)) | |
| 175 | - document.attachEvent('onWeixinJSBridgeReady', vm.onBridgeReady(data)) | |
| 176 | - } | |
| 177 | - } else { | |
| 178 | - console.log('准备调用微信支付') | |
| 179 | - vm.onBridgeReady(data) | |
| 180 | - } | |
| 181 | - } else { | |
| 182 | - alert("没有找到返回值"); | |
| 183 | - } | |
| 184 | - } else if(res.code == 1002){//其他情况如【该卡号场内已存在】 | |
| 185 | - console.log(res.message); | |
| 186 | - MessageBox.confirm('', { | |
| 187 | - message: res.message, | |
| 188 | - title: '温馨提示', | |
| 189 | - showCancelButton:false, | |
| 190 | - confirmButtonText: '确定', | |
| 191 | - }).then(action => { | |
| 192 | - if (action == 'confirm') { //确认的回调 | |
| 193 | - console.log('确定'); | |
| 194 | - this.$router.go(-1) | |
| 195 | - } | |
| 196 | - }).catch(err => { | |
| 197 | - if (err == 'cancel') { //取消的回调 | |
| 198 | - console.log('取消'); | |
| 199 | - } | |
| 200 | - }); | |
| 201 | - }else{ | |
| 202 | - alert(res.message) | |
| 203 | - } | |
| 152 | + vxPay() { | |
| 153 | + let me = this | |
| 154 | + var jsondata = { | |
| 155 | + appId:this.$utils.xuanhuaAppid, | |
| 156 | + carNumber: me.carNumber, | |
| 157 | + orderActFee: me.arrearageActFee, // 应收 | |
| 158 | + orderBigType: '100', // 订单大类型 100:停车订单 200:充值订单 300:会员卡订单 | |
| 159 | + orderTotalFee: me.arrearageActFee, // 实收 | |
| 160 | + payOrderType: this.paySrcType, // 支付单来源 101:停车付款单 102:停车预付单 103:停车补缴单 104 共享车位 201 余额充值单 202 押金充值单 301 会员卡购买单 302 会员卡续费 | |
| 161 | + paySource: '3', | |
| 162 | + //支付单来源 101:停车付款单 102:停车预付单 103:停车补缴单 104 共享车位 201 余额充值单 202 押金充值单 301 会员卡购买单 302 会员卡续费 | |
| 163 | + paySrcType: this.paySrcType, | |
| 164 | + payType: 36, // 36微信 37支付宝 | |
| 165 | + rltOrderId: this.orderId, | |
| 166 | + sourceType: '3', | |
| 167 | + orgId: this.$utils.myOrgId, | |
| 168 | + terminalSource: this.$utils.commonTerminalSource, | |
| 169 | + }; | |
| 170 | + jsondata.sign = this.$utils.signObject(jsondata) | |
| 171 | + | |
| 172 | + doPay(jsondata).then(response => { | |
| 173 | + console.log(response.data.payinfo) | |
| 174 | + window.location.href = response.data.payinfo | |
| 204 | 175 | }) |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + // let vm = this | |
| 181 | + // var wxParams = {}; | |
| 182 | + // wxParams.orderId = orderIdData; | |
| 183 | + // wxParams.backType = 2, | |
| 184 | + // wxParams.orgId = this.$utils.myOrgId, | |
| 185 | + // wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 | |
| 186 | + // wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付 | |
| 187 | + // wxParams.carNumber = this.carNumber; | |
| 188 | + // wxParams.paySrcType = this.paySrcType;//101停车支付 | |
| 189 | + // wxParams.recordArreaInfos = JSON.stringify(orderIdData); | |
| 190 | + // wxParams.openId = openIdData; | |
| 191 | + // wxParams.backDeveloperCode = this.tollNumber, | |
| 192 | + // wxParams.appId = this.$utils.myVxAppId; | |
| 193 | + // vxPayQuery(wxParams).then(res => { | |
| 194 | + // if (res.code == 0) { // | |
| 195 | + // if (res.data) { | |
| 196 | + // var data = res.data; | |
| 197 | + // console.log(JSON.stringify(data)); | |
| 198 | + // if (typeof WeixinJSBridge === 'undefined') { // 微信浏览器内置对象。参考微信官方文档 | |
| 199 | + // if (document.addEventListener) { | |
| 200 | + // document.addEventListener('WeixinJSBridgeReady', vm.onBridgeReady(data), false) | |
| 201 | + // } else if (document.attachEvent) { | |
| 202 | + // document.attachEvent('WeixinJSBridgeReady', vm.onBridgeReady(data)) | |
| 203 | + // document.attachEvent('onWeixinJSBridgeReady', vm.onBridgeReady(data)) | |
| 204 | + // } | |
| 205 | + // } else { | |
| 206 | + // console.log('准备调用微信支付') | |
| 207 | + // vm.onBridgeReady(data) | |
| 208 | + // } | |
| 209 | + // } else { | |
| 210 | + // alert("没有找到返回值"); | |
| 211 | + // } | |
| 212 | + // } else if(res.code == 1002){//其他情况如【该卡号场内已存在】 | |
| 213 | + // console.log(res.message); | |
| 214 | + // MessageBox.confirm('', { | |
| 215 | + // message: res.message, | |
| 216 | + // title: '温馨提示', | |
| 217 | + // showCancelButton:false, | |
| 218 | + // confirmButtonText: '确定', | |
| 219 | + // }).then(action => { | |
| 220 | + // if (action == 'confirm') { //确认的回调 | |
| 221 | + // console.log('确定'); | |
| 222 | + // this.$router.go(-1) | |
| 223 | + // } | |
| 224 | + // }).catch(err => { | |
| 225 | + // if (err == 'cancel') { //取消的回调 | |
| 226 | + // console.log('取消'); | |
| 227 | + // } | |
| 228 | + // }); | |
| 229 | + // }else{ | |
| 230 | + // alert(res.message) | |
| 231 | + // } | |
| 232 | + // }) | |
| 205 | 233 | }, |
| 206 | 234 | onBridgeReady(params) { |
| 207 | 235 | let me = this | ... | ... |
src/views/parkPay/parkRecord.vue
| ... | ... | @@ -33,7 +33,8 @@ |
| 33 | 33 | <p>停车时长:{{ $utils.dateFormat(i.parkDuration)}}</p> |
| 34 | 34 | <div class="out-wrap"> |
| 35 | 35 | <p class="mon-wrap">¥{{(i.unPayFee/100).toFixed(2)}}</p> |
| 36 | - <p class="out-btn" @click="toPayCurrent(i,parkingData[0].parkDuration)" v-if="parkingData[0].parkDuration<=900">申请离场</p> | |
| 36 | + <p class="out-btn" @click="toPayCurrent(i,parkingData[0].parkDuration)" | |
| 37 | + v-if="parkingData[0].parkDuration<=900">申请离场</p> | |
| 37 | 38 | <p class="out-btn" @click="toPayCurrent(i,parkingData[0].parkDuration)" v-else>出场缴费</p> |
| 38 | 39 | </div> |
| 39 | 40 | </div> |
| ... | ... | @@ -47,9 +48,9 @@ |
| 47 | 48 | |
| 48 | 49 | |
| 49 | 50 | <!--历史缴费--> |
| 50 | - <div v-show="currentTabActive==1" class="history-con" > | |
| 51 | + <div v-show="currentTabActive==1" class="history-con"> | |
| 51 | 52 | <div v-if="historyList.length>0" style="height: 100%;"> |
| 52 | - <div class="history-body" > | |
| 53 | + <div class="history-body"> | |
| 53 | 54 | <p class="money-all">总欠费金额: |
| 54 | 55 | <span>¥{{(allMoney/100).toFixed(2)}}</span> |
| 55 | 56 | </p> |
| ... | ... | @@ -118,49 +119,45 @@ |
| 118 | 119 | |
| 119 | 120 | <script> |
| 120 | 121 | |
| 121 | -import { parkRecordList, historyQuery, parkingQuery, appApplyParkOut } from '@/api/parkRecord/parkRecord.js' | |
| 122 | - | |
| 123 | - | |
| 122 | +import { | |
| 123 | + parkRecordList, historyQuery, parkingQuery, appApplyParkOut, queryArrearageSta, | |
| 124 | + doOrderCreate | |
| 125 | +} from "@/api/parkRecord/parkRecord.js"; | |
| 124 | 126 | export default { |
| 125 | - name: 'parkRecord', | |
| 127 | + name: "parkRecord", | |
| 126 | 128 | data() { |
| 127 | 129 | return { |
| 128 | 130 | tabList: [ // 切换数据 |
| 129 | - { text: '在停缴费', id: 1 }, | |
| 130 | - { text: '欠费待缴', id: 2 }, | |
| 131 | + { text: "在停缴费", id: 1 }, | |
| 132 | + { text: "欠费待缴", id: 2 } | |
| 131 | 133 | ], |
| 132 | 134 | carColor: 1,// 车牌颜色 |
| 133 | 135 | currentTabActive: 0, // 显示当前哪个 |
| 134 | - carNumber: '', // 车牌号码 | |
| 135 | - parkingData:[], // 在停数据 | |
| 136 | + carNumber: "", // 车牌号码 | |
| 137 | + parkingData: [], // 在停数据 | |
| 136 | 138 | parkList: [], // 停车记录数据 |
| 137 | - historyList:[ // 历史欠费数据 | |
| 138 | - {money:100,checked:false, id: 1}, | |
| 139 | - ] , | |
| 140 | - allChecked:false, // 全部选择事件 | |
| 141 | - allMoney:0, // 欠费所有的费用 | |
| 142 | - historyCheckedLen:0, //选中了几笔交易 | |
| 139 | + historyList: [ // 历史欠费数据 | |
| 140 | + { money: 100, checked: false, id: 1 } | |
| 141 | + ], | |
| 142 | + allChecked: false, // 全部选择事件 | |
| 143 | + allMoney: 0, // 欠费所有的费用 | |
| 144 | + historyCheckedLen: 0, //选中了几笔交易 | |
| 143 | 145 | historyCheckedMon: 0, //选中了待缴纳的金额 |
| 144 | 146 | orderIds: [] // 选中数据的订单 数组 |
| 145 | - } | |
| 147 | + }; | |
| 146 | 148 | }, |
| 147 | - mounted(){ | |
| 148 | - | |
| 149 | - | |
| 149 | + mounted() { | |
| 150 | 150 | }, |
| 151 | 151 | created() { |
| 152 | - this.carNumber = this.$route.query.carNumber // 获取车牌号 | |
| 153 | - this.carColor = this.$route.query.carNumberColor // 获取颜色 0:蓝牌;1:黄牌;2:白牌;3:黑牌;4:绿色 | |
| 154 | - this.currentTabActive = this.$route.query.parkFlag ? this.$route.query.parkFlag : 0 // 0在停 1历史 | |
| 155 | - console.log(this.carNumber) | |
| 156 | - this.parkRecordList(this.carNumber) | |
| 157 | - | |
| 158 | - | |
| 152 | + this.carNumber = this.$route.query.carNumber; // 获取车牌号 | |
| 153 | + this.carColor = this.$route.query.carNumberColor; // 获取颜色 0:蓝牌;1:黄牌;2:白牌;3:黑牌;4:绿色 | |
| 154 | + this.currentTabActive = this.$route.query.parkFlag ? this.$route.query.parkFlag : 0; // 0在停 1历史 | |
| 155 | + console.log(this.carNumber); | |
| 156 | + this.parkRecordList(this.carNumber); | |
| 159 | 157 | // |
| 160 | - | |
| 161 | 158 | }, |
| 162 | 159 | methods: { |
| 163 | - parkRecordList(){ // 获取停车记录数据 | |
| 160 | + parkRecordList() { // 获取停车记录数据 | |
| 164 | 161 | var salt = this.$utils.myCommonSalt(32); |
| 165 | 162 | var jsondata = { |
| 166 | 163 | app_id: this.$utils.myVarAppid, |
| ... | ... | @@ -175,85 +172,74 @@ export default { |
| 175 | 172 | carNumberColor: this.carColor, |
| 176 | 173 | // sign: md5sign, |
| 177 | 174 | orgId: this.$utils.myOrgId |
| 178 | - } | |
| 179 | - jsondata.sign = this.$utils.signObject(jsondata) | |
| 180 | - | |
| 175 | + }; | |
| 176 | + jsondata.sign = this.$utils.signObject(jsondata); | |
| 181 | 177 | // jsondata.sign = md5sign |
| 182 | - console.log('停车记录传参 ' + JSON.stringify(jsondata)); | |
| 178 | + console.log("停车记录传参 " + JSON.stringify(jsondata)); | |
| 183 | 179 | parkRecordList(jsondata).then(response => { |
| 184 | - console.log(response) | |
| 185 | - this.parkList = response.data.dataList | |
| 186 | - | |
| 180 | + console.log(response); | |
| 181 | + this.parkList = response.data.dataList; | |
| 187 | 182 | this.parkingData = this.parkList.filter(item => { |
| 188 | - return item.parkState == '10' | |
| 189 | - }) | |
| 183 | + return item.parkState == "10"; | |
| 184 | + }); | |
| 190 | 185 | // if(this.parkingData.length>0){ |
| 191 | 186 | // this.currentTabActive = 0 |
| 192 | 187 | // } |
| 193 | - console.log(this.parkingData) | |
| 188 | + console.log(this.parkingData); | |
| 194 | 189 | this.historyList = this.parkList.filter(item => { |
| 195 | - return item.parkState == '20' | |
| 196 | - }) | |
| 197 | - | |
| 198 | - this.historyList.forEach( i => { | |
| 199 | - this.allMoney += Number(i.unPayFee) | |
| 200 | - }) | |
| 201 | - | |
| 202 | - if(this.parkingData.length==0 && this.historyList.length>0){ | |
| 203 | - this.currentTabActive = 1 | |
| 190 | + return item.parkState == "20"; | |
| 191 | + }); | |
| 192 | + this.historyList.forEach(i => { | |
| 193 | + this.allMoney += Number(i.unPayFee); | |
| 194 | + }); | |
| 195 | + if (this.parkingData.length == 0 && this.historyList.length > 0) { | |
| 196 | + this.currentTabActive = 1; | |
| 204 | 197 | } |
| 205 | - | |
| 206 | - if(this.$route.query.parkFlag == 1){ | |
| 207 | - this.currentTabActive = 1 | |
| 208 | - this.checkedAll() | |
| 198 | + if (this.$route.query.parkFlag == 1) { | |
| 199 | + this.currentTabActive = 1; | |
| 200 | + this.checkedAll(); | |
| 209 | 201 | } |
| 210 | - console.log(this.historyList) | |
| 211 | - }) | |
| 202 | + console.log(this.historyList); | |
| 203 | + }); | |
| 212 | 204 | }, |
| 213 | - | |
| 214 | 205 | tabHandle(index) { // tab 切换 |
| 215 | - this.currentTabActive = index | |
| 206 | + this.currentTabActive = index; | |
| 216 | 207 | }, |
| 217 | 208 | chooseHandle(i, index) { // 历史欠费单个选择事件 |
| 218 | - i.checked = !i.checked | |
| 219 | - let me = this | |
| 220 | - if(i.checked ){ //单个选中 | |
| 221 | - me.historyCheckedLen ++ | |
| 222 | - if(me.historyCheckedLen == this.historyList.length){ | |
| 223 | - this.allChecked = true | |
| 224 | - | |
| 209 | + i.checked = !i.checked; | |
| 210 | + let me = this; | |
| 211 | + if (i.checked) { //单个选中 | |
| 212 | + me.historyCheckedLen++; | |
| 213 | + if (me.historyCheckedLen == this.historyList.length) { | |
| 214 | + this.allChecked = true; | |
| 225 | 215 | } |
| 226 | - me.orderIds.push(i.orderId) | |
| 227 | - me.historyCheckedMon += Number(i.unPayFee) | |
| 228 | - }else{ //单个不选中 | |
| 229 | - let _i = me.orderIds.indexOf(i.orderId) | |
| 230 | - me.orderIds.splice(_i,1) | |
| 231 | - this.allChecked = false | |
| 232 | - me.historyCheckedLen -- | |
| 233 | - me.historyCheckedMon -= Number(i.unPayFee) | |
| 216 | + me.orderIds.push(i.orderId); | |
| 217 | + me.historyCheckedMon += Number(i.unPayFee); | |
| 218 | + } else { //单个不选中 | |
| 219 | + let _i = me.orderIds.indexOf(i.orderId); | |
| 220 | + me.orderIds.splice(_i, 1); | |
| 221 | + this.allChecked = false; | |
| 222 | + me.historyCheckedLen--; | |
| 223 | + me.historyCheckedMon -= Number(i.unPayFee); | |
| 234 | 224 | } |
| 235 | - | |
| 236 | - | |
| 237 | 225 | }, |
| 238 | 226 | checkedAll() { // 全选选择事件 |
| 239 | - this.allChecked = !this.allChecked | |
| 240 | - if(this.allChecked){ //全选 | |
| 241 | - let me = this | |
| 242 | - this.historyList.forEach(function(item){ | |
| 227 | + this.allChecked = !this.allChecked; | |
| 228 | + if (this.allChecked) { //全选 | |
| 229 | + let me = this; | |
| 230 | + this.historyList.forEach(function(item) { | |
| 243 | 231 | item.checked = true; |
| 244 | - me.orderIds.push(item.orderId) | |
| 232 | + me.orderIds.push(item.orderId); | |
| 245 | 233 | }); |
| 246 | - this.historyCheckedMon = this.allMoney | |
| 247 | - this.historyCheckedLen = this.historyList.length | |
| 248 | - | |
| 249 | - }else{ //反选 | |
| 250 | - this.historyList.forEach(function(item){ | |
| 234 | + this.historyCheckedMon = this.allMoney; | |
| 235 | + this.historyCheckedLen = this.historyList.length; | |
| 236 | + } else { //反选 | |
| 237 | + this.historyList.forEach(function(item) { | |
| 251 | 238 | item.checked = false; |
| 252 | - | |
| 253 | 239 | }); |
| 254 | - this.historyCheckedLen = 0 | |
| 255 | - this.historyCheckedMon = 0 | |
| 256 | - this.orderIds = [] | |
| 240 | + this.historyCheckedLen = 0; | |
| 241 | + this.historyCheckedMon = 0; | |
| 242 | + this.orderIds = []; | |
| 257 | 243 | } |
| 258 | 244 | }, |
| 259 | 245 | toPayCurrent(i, num) { // 缴纳本次在停费用 |
| ... | ... | @@ -264,14 +250,13 @@ export default { |
| 264 | 250 | salt: salt, |
| 265 | 251 | sign_type: "md5", |
| 266 | 252 | orderId: i.orderId, |
| 267 | - payOrderType: '101', | |
| 268 | - terminalSource: '3', | |
| 269 | - } | |
| 270 | - params.sign = this.$utils.signObject(params) | |
| 253 | + payOrderType: "101", | |
| 254 | + terminalSource: "3" | |
| 255 | + }; | |
| 256 | + params.sign = this.$utils.signObject(params); | |
| 271 | 257 | appApplyParkOut(params).then(response => { |
| 272 | - console.log(response) | |
| 273 | - | |
| 274 | - if (response.code == '5005') { | |
| 258 | + console.log(response); | |
| 259 | + if (response.code == "5005") { | |
| 275 | 260 | var salt = this.$utils.myCommonSalt(32); |
| 276 | 261 | var jsondata = { |
| 277 | 262 | app_id: this.$utils.myVarAppid, |
| ... | ... | @@ -281,20 +266,19 @@ export default { |
| 281 | 266 | payType: this.$utils.clientBrowsePayType(), |
| 282 | 267 | appId: this.$utils.myVxAppId, |
| 283 | 268 | orderId: i.orderId, |
| 284 | - terminalSource: '7', | |
| 269 | + terminalSource: "7", | |
| 285 | 270 | parkCode: i.parkCode, |
| 286 | - carNumber: this.carNumber, | |
| 287 | - } | |
| 288 | - jsondata.sign = this.$utils.signObject(jsondata) | |
| 271 | + carNumber: this.carNumber | |
| 272 | + }; | |
| 273 | + jsondata.sign = this.$utils.signObject(jsondata); | |
| 289 | 274 | parkingQuery(jsondata).then(result => { |
| 290 | - console.log(result) | |
| 291 | - let res = result.data | |
| 292 | - let _dis = res.discountFee | |
| 293 | - let discountFee = _dis.slice(1, _dis.length - 1) | |
| 294 | - | |
| 275 | + console.log(result); | |
| 276 | + let res = result.data; | |
| 277 | + let _dis = res.discountFee; | |
| 278 | + let discountFee = _dis.slice(1, _dis.length - 1); | |
| 295 | 279 | this.$router.push( |
| 296 | 280 | { |
| 297 | - path: 'orderPay', | |
| 281 | + path: "orderPay", | |
| 298 | 282 | query: { |
| 299 | 283 | carColor: this.carColor,// 车牌颜色 |
| 300 | 284 | arrearageTotalFee: res.orderTotalFee,// 应收 |
| ... | ... | @@ -303,71 +287,100 @@ export default { |
| 303 | 287 | carNumber: this.carNumber, // 车牌 |
| 304 | 288 | paySrcType: 101, //支付的类型 101 是本次 103是历史欠费 |
| 305 | 289 | ordeID: i.orderId, //支付的订单号 |
| 306 | - appOrderTimeout: res.appOrderTimeout, // 超时描述 | |
| 290 | + appOrderTimeout: res.appOrderTimeout // 超时描述 | |
| 307 | 291 | } |
| 308 | 292 | } |
| 309 | - ) | |
| 310 | - }) | |
| 311 | - | |
| 293 | + ); | |
| 294 | + }); | |
| 312 | 295 | } else { |
| 313 | 296 | //$('.dialog-out').show() |
| 314 | - this.$msgbox('提示', '停车15分钟内无需缴费,申请成功。') | |
| 297 | + this.$msgbox("提示", "停车15分钟内无需缴费,申请成功。"); | |
| 315 | 298 | } |
| 316 | - | |
| 317 | - }) | |
| 318 | - | |
| 299 | + }); | |
| 319 | 300 | }, |
| 320 | 301 | toPayHisroryPage() { // 缴纳历史费用 |
| 321 | - if(this.historyCheckedLen==0){ | |
| 322 | - this.$msgbox('提示', '请至少选择一条记录') | |
| 323 | - | |
| 324 | - return | |
| 302 | + if (this.historyCheckedLen == 0) { | |
| 303 | + this.$msgbox("提示", "请至少选择一条记录"); | |
| 304 | + return; | |
| 325 | 305 | } |
| 306 | + let salt = this.$utils.myCommonSalt(32); | |
| 307 | + let list = "[" + this.orderIds + "]"; | |
| 308 | + let jsondata = { | |
| 309 | + app_id: this.$utils.myVarAppid, | |
| 310 | + deviceInfo: this.$utils.myDeviceInfo, | |
| 311 | + salt: salt, | |
| 312 | + sign_type: "md5", | |
| 313 | + payType: this.$utils.clientBrowsePayType(), | |
| 314 | + // appId: this.$utils.myVxAppId, | |
| 315 | + terminalSource: "7", | |
| 316 | + orderIds: JSON.stringify(this.orderIds) | |
| 317 | + }; | |
| 318 | + jsondata.sign = this.$utils.signObject(jsondata); | |
| 319 | + console.log(jsondata); | |
| 320 | + queryArrearageSta(jsondata).then(response => { | |
| 321 | + console.log(response.data); | |
| 322 | + let res = response.data; | |
| 323 | + this.doOrderCreate(res.arrearageTotalFee, res.arrearageActFee, res.carArrearages[0].arrearageDiscFee); | |
| 324 | + // let res = response.data.carArrearages[0] | |
| 325 | + // console.log(res) | |
| 326 | + // this.orderIds = JSON.stringify(this.orderIds) | |
| 327 | + // sessionStorage.setItem('pageIds',this.orderIds) | |
| 328 | + // console.log(this.orderIds) | |
| 329 | + }); | |
| 330 | + }, | |
| 331 | + doOrderCreate(arrearageTotalFee, arrearageActFee, arrearageDiscFee) { | |
| 326 | 332 | var salt = this.$utils.myCommonSalt(32); |
| 327 | - | |
| 328 | - var list = "[" + this.orderIds + "]" | |
| 329 | - | |
| 330 | - var jsondata = { | |
| 333 | + // var list = "[" + this.orderIds + "]" | |
| 334 | + console.log(this.orderIds); | |
| 335 | + let carNumbers = []; | |
| 336 | + carNumbers.push(this.carNumber); | |
| 337 | + let jsondata = { | |
| 331 | 338 | app_id: this.$utils.myVarAppid, |
| 332 | 339 | deviceInfo: this.$utils.myDeviceInfo, |
| 333 | 340 | salt: salt, |
| 334 | - // sign: md5sign, | |
| 335 | 341 | sign_type: "md5", |
| 336 | - appId: this.$utils.myVxAppId, | |
| 337 | - orderIds: list, | |
| 338 | - terminalSource: '7', | |
| 339 | - payType: 4, | |
| 342 | + orderBigType: 100, | |
| 343 | + payOrderType: 103, | |
| 344 | + terminalSource: this.$utils.commonTerminalSource, | |
| 345 | + parkOrderIds: this.orderIds, | |
| 346 | + operCode: "", | |
| 347 | + operName: "", | |
| 348 | + backDeveloperCode: "", | |
| 349 | + backPlNo: "", | |
| 340 | 350 | orgId: this.$utils.myOrgId, |
| 341 | - } | |
| 342 | - jsondata.sign = this.$utils.signObject(jsondata) | |
| 343 | - | |
| 344 | - historyQuery(jsondata).then(response => { | |
| 345 | - console.log(response) | |
| 346 | - let res = response.data.carArrearages[0] | |
| 347 | - console.log(res) | |
| 348 | - this.orderIds = JSON.stringify(this.orderIds) | |
| 351 | + orderTotalFee: arrearageTotalFee, | |
| 352 | + orderActFee: arrearageActFee, | |
| 353 | + token: "", | |
| 354 | + backType: 2, | |
| 355 | + carNumberList: carNumbers, | |
| 356 | + payType: "12" | |
| 357 | + }; | |
| 358 | + jsondata.sign = this.$utils.signObject(jsondata); | |
| 359 | + console.log(jsondata); | |
| 360 | + doOrderCreate(jsondata).then(response => { | |
| 361 | + let res = response.data; | |
| 349 | 362 | this.$router.push( |
| 350 | 363 | { |
| 351 | - path:'orderPay', | |
| 352 | - query:{ | |
| 353 | - carColor:this.carColor,// 车牌颜色 | |
| 354 | - arrearageTotalFee: res.arrearageTotalFee,// 应收 | |
| 355 | - arrearageDiscFee: res.arrearageDiscFee,// 优惠 | |
| 356 | - arrearageActFee: res.arrearageActFee,// 实收 | |
| 364 | + path: "orderPay", | |
| 365 | + query: { | |
| 366 | + carColor: this.carColor,// 车牌颜色 | |
| 367 | + arrearageTotalFee: arrearageTotalFee,// 应收 | |
| 368 | + arrearageDiscFee: arrearageDiscFee,// 优惠 | |
| 369 | + arrearageActFee: arrearageActFee,// 实收 | |
| 357 | 370 | carNumber: this.carNumber, // 车牌 |
| 358 | 371 | paySrcType: 103, //支付的类型 101 是本次 103是历史欠费 |
| 359 | - ordeID: this.orderIds, //支付的订单号 | |
| 360 | - appOrderTimeout: '' | |
| 372 | + ordeID: res.rltOrderId, //支付的订单号 | |
| 373 | + appOrderTimeout: "", | |
| 374 | + // backDeveloperCode: response.data.inChargerCode | |
| 375 | + backDeveloperCode: "" | |
| 361 | 376 | } |
| 362 | 377 | } |
| 363 | - ) | |
| 364 | - }) | |
| 378 | + ); | |
| 379 | + }); | |
| 365 | 380 | } |
| 366 | 381 | }, |
| 367 | - filters: { | |
| 368 | - | |
| 369 | - } | |
| 370 | -} | |
| 382 | + filters: {} | |
| 383 | +}; | |
| 371 | 384 | </script> |
| 372 | 385 | |
| 373 | 386 | <style scoped lang="scss"> |
| ... | ... | @@ -468,70 +481,72 @@ export default { |
| 468 | 481 | } |
| 469 | 482 | } |
| 470 | 483 | |
| 471 | - .history-con{ | |
| 484 | + .history-con { | |
| 472 | 485 | height: calc(100% - 38px); |
| 473 | 486 | overflow: hidden; |
| 474 | 487 | } |
| 475 | - .history-body{ | |
| 488 | + | |
| 489 | + .history-body { | |
| 476 | 490 | height: calc(100% - 81px); |
| 477 | 491 | overflow-y: scroll; |
| 478 | 492 | } |
| 479 | - .history-footer{ | |
| 493 | + | |
| 494 | + .history-footer { | |
| 480 | 495 | height: 81px; |
| 481 | 496 | background: #F8F8F8; |
| 482 | 497 | } |
| 483 | 498 | |
| 484 | - .cost-main-history{ | |
| 499 | + .cost-main-history { | |
| 485 | 500 | margin-bottom: 10px; |
| 486 | - background:#fff url("../../assets/images/parkPay/choose.png") no-repeat 10px center; | |
| 501 | + background: #fff url("../../assets/images/parkPay/choose.png") no-repeat 10px center; | |
| 487 | 502 | background-size: 20px 20px; |
| 488 | 503 | cursor: pointer; |
| 489 | 504 | } |
| 490 | 505 | |
| 491 | - | |
| 492 | - .isChecked{ | |
| 493 | - background:#fff url("../../assets/images/parkPay/choosed.png") no-repeat 10px center; | |
| 506 | + .isChecked { | |
| 507 | + background: #fff url("../../assets/images/parkPay/choosed.png") no-repeat 10px center; | |
| 494 | 508 | background-size: 20px 20px; |
| 495 | 509 | } |
| 496 | 510 | |
| 497 | - .money-all{ | |
| 511 | + .money-all { | |
| 498 | 512 | padding-left: 18px; |
| 499 | 513 | height: 25px; |
| 500 | 514 | line-height: 25px; |
| 501 | 515 | font-weight: 500; |
| 502 | 516 | background: #FEF8DB; |
| 503 | - span{ | |
| 517 | + span { | |
| 504 | 518 | color: #BC0202; |
| 505 | 519 | } |
| 506 | 520 | } |
| 507 | 521 | |
| 508 | - .statistical-data{ | |
| 522 | + .statistical-data { | |
| 509 | 523 | padding-left: 18px; |
| 510 | 524 | height: 32px; |
| 511 | 525 | line-height: 32px; |
| 512 | 526 | background: #E6FAFA; |
| 513 | - span{ | |
| 527 | + span { | |
| 514 | 528 | color: #D20000; |
| 515 | 529 | } |
| 516 | 530 | } |
| 517 | - .opration-wrap{ | |
| 531 | + | |
| 532 | + .opration-wrap { | |
| 518 | 533 | padding-left: 18px; |
| 519 | 534 | height: 49px; |
| 520 | 535 | line-height: 49px; |
| 521 | 536 | background: #f8f8f8; |
| 522 | 537 | display: flex; |
| 523 | 538 | justify-content: space-between; |
| 524 | - .check-btn{ | |
| 539 | + .check-btn { | |
| 525 | 540 | padding-left: 30px; |
| 526 | 541 | background: url("../../assets/images/parkPay/choose.png") no-repeat 0 center; |
| 527 | 542 | background-size: 20px 20px; |
| 528 | 543 | cursor: pointer; |
| 529 | 544 | } |
| 530 | - .isAllChecked{ | |
| 545 | + .isAllChecked { | |
| 531 | 546 | background: url("../../assets/images/parkPay/choosed.png") no-repeat 0 center; |
| 532 | 547 | background-size: 20px 20px; |
| 533 | 548 | } |
| 534 | - .settle-btn{ | |
| 549 | + .settle-btn { | |
| 535 | 550 | width: 106px; |
| 536 | 551 | height: 49px; |
| 537 | 552 | background: linear-gradient(145deg, #2783E9 0%, #227ADC 100%); | ... | ... |