Commit 7850cc26687581cc69e1def4f4c36a43f982be9c

Authored by liuqimichale
1 parent bb951693

赤峰微信公众号 -- 临停支付

dist 2.zip deleted
No preview for this file type
No preview for this file type
src/router/index.js
1 import Vue from 'vue' 1 import Vue from 'vue'
2 import Router from 'vue-router' 2 import Router from 'vue-router'
3 import plateNumber from '@/views/parkPay/plateNumber' 3 import plateNumber from '@/views/parkPay/plateNumber'
4 -import parkRecord from '@/views/parkPay/parkRecord' 4 +// import parkRecord from '@/views/parkPay/parkRecord'
5 // import selfNav from '@/views/mySelf/selfNav' 5 // import selfNav from '@/views/mySelf/selfNav'
6 6
7 Vue.use(Router) 7 Vue.use(Router)
@@ -23,7 +23,7 @@ export default new Router({ @@ -23,7 +23,7 @@ export default new Router({
23 { 23 {
24 path: '/parkRecord', 24 path: '/parkRecord',
25 name: 'parkRecord', 25 name: 'parkRecord',
26 - component: parkRecord 26 + component: () => import("@/views/parkPay/parkRecord.vue")
27 }, 27 },
28 { 28 {
29 path: '/plateNumber', 29 path: '/plateNumber',
src/views/parkPay/orderPay.vue
@@ -117,123 +117,38 @@ export default { @@ -117,123 +117,38 @@ export default {
117 this.orderId = _order 117 this.orderId = _order
118 } 118 }
119 119
120 - if (this.clientBrowser == '支付宝') { // 支付宝支付  
121 - var aliParams = {};  
122 - aliParams.orderId = this.orderId;  
123 - aliParams.carNumber = this.carNumber;  
124 - aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号  
125 - aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付  
126 - aliParams.paySrcType = this.paySrcType;//101停车支付  
127 - aliParams.orgId = this.$utils.myOrgId,  
128 - aliParams.backType = 2,  
129 - aliParams.recordArreaInfos = JSON.stringify(this.orderId);  
130 - console.log(aliParams)  
131 - aliPay(aliParams).then(response => {  
132 - console.log(response)  
133 - if (response.code == 0) {//进场  
134 - document.write(response.data);//打开支付表单  
135 - } else {//其他情况如【该卡号场内已存在】  
136 - console.log(response.message);  
137 - }  
138 -  
139 - })  
140 - }  
141 120
142 - console.log(this.clientBrowser)  
143 - if (this.clientBrowser == '立即') { // 农行支付  
144 - var bankabcParams = {};  
145 - bankabcParams.orderId = this.orderId;  
146 - bankabcParams.carNumber = this.carNumber;  
147 - bankabcParams.payType = 34;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 34 农行  
148 - bankabcParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付  
149 - bankabcParams.paySrcType = this.paySrcType;//101停车支付  
150 - bankabcParams.orgId = this.$utils.myOrgId,  
151 - bankabcParams.backType = 2,  
152 - bankabcParams.PaymentLinkType = 1  
153 - bankabcParams.recordArreaInfos = JSON.stringify(this.orderId);  
154 - console.log(bankabcParams)  
155 - bankH5Pay(bankabcParams).then(response => {  
156 - console.log(response)  
157 - if(response.code=='0'){  
158 - let res = response.data.PaymentURL  
159 - let _token = res.split('TOKEN=')[1]  
160 - let OrderNo = response.data.OrderNo  
161 - localStorage.setItem('OrderNum',OrderNo)  
162 -  
163 -  
164 - if(window.navigator.userAgent.indexOf('Bankabc/Portal') > -1) {  
165 - // alert('当前页面在新容器');  
166 - AlipayJSBridge.call('startApp',{  
167 - appId:'30603024', // 固定值  
168 - param:{  
169 - type:"3", // 3: 掌银内H5页面,  
170 - tokenId:_token, //商户传过来的tokenId  
171 - paySystem:"", //商户传过来的paySystem, 没有则传空字符串  
172 - payType:"1111", //商户传过来的payType,没有则传'1111'  
173 - webviewURL:"https://wxgzh.renniting.cn/wechatwuxi/Chifeng/TEST/sweeping_payment/codepay/index.html#/payResult", //商户传过来的回跳地址  
174 - remark:"其他参数", //扩展备用  
175 - showProgress:'NO',  
176 - backBehavior:'back'  
177 - },  
178 - },function(result){  
179 -  
180 - }); 121 + if (this.clientBrowser == '微信') { // 微信支付
  122 + let _openId = sessionStorage.getItem('openIdData')
  123 + if(_openId){
  124 + me.vxPay(_openId, this.orderId)
  125 + }else{
  126 + //第一步获取openid
  127 + var codeParams = {
  128 + code: this.webAppCode,
  129 + appId: this.$utils.myVxAppId
  130 + };
  131 + getOpenId(codeParams).then(res => {
  132 + if (res.code == 0) {
  133 + me.vxPay(res.data, this.orderId)
  134 + sessionStorage.setItem('openIdData',res.data)
  135 + } else if (res.code == 40163) { //code been used, hints[重复code问题]
  136 + alert('请重新扫码重复code问题')
  137 + console.log(res.message);
181 } else { 138 } else {
182 - // alert('当前页面在旧容器');  
183 - // 旧支付方式  
184 - window.location.href = 'https://www.abchina.com/luascript/mobilePayLua/'+ encodeURI('{"return":{"tokenID":"'+_token+'","backURL":"https://wxgzh.renniting.cn/wechatwuxi/Chifeng/TEST/sweeping_payment/codepay/index.html#/payResult","payType":""}}');  
185 - 139 + alert('请重新扫码')
186 } 140 }
187 - }else{  
188 - alert('支付失败')  
189 - }  
190 -  
191 -  
192 - // console.log(_token)  
193 - // let _data = 'method=invokePayFromBrowser&tokenID='+_token  
194 - // let cryData = CryptoJS.encrypt(_data, 'G9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvM3', 'EkpTEA3FbZFGGq8Y')  
195 - //  
196 - // let baseCRY = Base64.encode(cryData)  
197 - // console.log(baseCRY)  
198 - // window.location.href='bankabc:' + encodeURIComponent('{"method":"invokePayFromBrowser","param":'+baseCRY+'}')  
199 - // // 即为加密后的数据。其中paramsEncode是需要加密的数据、  
200 - // // keyStr是加密时使用的key,与服务端一致、hash是偏移量,是一个随机生成的16位字符串。  
201 - })  
202 - }  
203 -  
204 -  
205 -  
206 -  
207 -  
208 -  
209 -  
210 - if (this.clientBrowser == '微信') { // 微信支付  
211 - //第一步获取openid  
212 - var codeParams = {  
213 - code: this.webAppCode,  
214 - appId: this.$utils.myVxAppId  
215 - };  
216 - getOpenId(codeParams).then(res => {  
217 - if (res.code == 0) {  
218 - me.vxPay(res.data, this.orderId)  
219 - } else if (res.code == 40163) { //code been used, hints[重复code问题]  
220 - alert('请重新扫码')  
221 - console.log(res.message);  
222 - } else {  
223 - alert('请重新扫码')  
224 - }  
225 - })  
226 - 141 + })
  142 + }
227 } 143 }
228 -  
229 }, 144 },
230 vxPay(openIdData, orderIdData) { 145 vxPay(openIdData, orderIdData) {
231 let vm = this 146 let vm = this
232 var wxParams = {}; 147 var wxParams = {};
233 wxParams.orderId = orderIdData; 148 wxParams.orderId = orderIdData;
234 wxParams.backType = 2, 149 wxParams.backType = 2,
235 - wxParams.orgId = this.$utils.myOrgId,  
236 - wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 150 + wxParams.orgId = this.$utils.myOrgId,
  151 + wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
237 wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付 152 wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
238 wxParams.carNumber = this.carNumber; 153 wxParams.carNumber = this.carNumber;
239 wxParams.paySrcType = this.paySrcType;//101停车支付 154 wxParams.paySrcType = this.paySrcType;//101停车支付
@@ -301,6 +216,8 @@ export default { @@ -301,6 +216,8 @@ export default {
301 console.log(response) 216 console.log(response)
302 me.parkList = response.data.dataList 217 me.parkList = response.data.dataList
303 218
  219 + // alert(JSON.stringify(me.parkList))
  220 + // alert(me.parkList.length)
304 if(me.parkList.length == 0){ 221 if(me.parkList.length == 0){
305 me.$router.push({ 222 me.$router.push({
306 path:'parkRecord', 223 path:'parkRecord',
@@ -310,25 +227,43 @@ export default { @@ -310,25 +227,43 @@ export default {
310 parkFlag: 0 // 0表示在停 1表示历史 227 parkFlag: 0 // 0表示在停 1表示历史
311 } 228 }
312 }) 229 })
313 - }  
314 230
315 - me.parkingData = me.parkList.filter(item => {  
316 - return item.parkState == '10'  
317 - })  
318 - console.log(me.parkingData)  
319 - me.historyList = me.parkList.filter(item => {  
320 - return item.parkState == '20'  
321 - })  
322 - console.log(me.historyList)  
323 - if(me.parkingData.length>0){  
324 - MessageBox.confirm('', {  
325 - message: '您当前有在停订单 是否立即支付?',  
326 - title: '温馨提示',  
327 - confirmButtonText: '去支付',  
328 - cancelButtonText: '取消'  
329 - }).then(action => {  
330 - if (action == 'confirm') { //确认的回调  
331 - console.log('确定'); 231 + }else{
  232 + me.parkingData = me.parkList.filter(item => {
  233 + return item.parkState == '10'
  234 + })
  235 + console.log(me.parkingData)
  236 + me.historyList = me.parkList.filter(item => {
  237 + return item.parkState == '20'
  238 + })
  239 + console.log(me.historyList)
  240 +
  241 + if(me.historyList.length>0){
  242 + MessageBox.confirm('', {
  243 + message: '您当前有历史欠费 是否立即补缴?',
  244 + title: '温馨提示',
  245 + confirmButtonText: '去补缴',
  246 + cancelButtonText: '取消'
  247 + }).then(action => {
  248 + if (action == 'confirm') { //确认的回调
  249 + console.log('确定');
  250 + me.$router.push({
  251 + path:'parkRecord',
  252 + query:{
  253 + carNumber: me.carNumber,
  254 + carNumberColor: me.carWrapBG,
  255 + parkFlag: 1 // 0表示在停 1表示历史
  256 + }
  257 + })
  258 + }
  259 + }).catch(err => {
  260 + if (err == 'cancel') { //取消的回调
  261 + console.log('取消');
  262 + }
  263 + });
  264 + }else{
  265 +
  266 + if(me.paySrcType==101){ //缴费了本次
332 me.$router.push({ 267 me.$router.push({
333 path:'parkRecord', 268 path:'parkRecord',
334 query:{ 269 query:{
@@ -337,42 +272,37 @@ export default { @@ -337,42 +272,37 @@ export default {
337 parkFlag: 0 // 0表示在停 1表示历史 272 parkFlag: 0 // 0表示在停 1表示历史
338 } 273 }
339 }) 274 })
340 - }  
341 - }).catch(err => {  
342 - if (err == 'cancel') { //取消的回调  
343 - console.log('取消');  
344 - }  
345 - });  
346 - }  
347 -  
348 - if(me.parkingData.length==0&&me.historyList.length>0){  
349 - MessageBox.confirm('', {  
350 - message: '您当前有历史欠费 是否立即补缴?',  
351 - title: '温馨提示',  
352 - confirmButtonText: '去补缴',  
353 - cancelButtonText: '取消'  
354 - }).then(action => {  
355 - if (action == 'confirm') { //确认的回调  
356 - console.log('确定');  
357 - me.$router.push({  
358 - path:'parkRecord',  
359 - query:{  
360 - carNumber: me.carNumber,  
361 - carNumberColor: me.carWrapBG,  
362 - parkFlag: 1 // 0表示在停 1表示历史 275 + }else{
  276 + MessageBox.confirm('', {
  277 + message: '您当前有在停订单 是否立即支付?',
  278 + title: '温馨提示',
  279 + confirmButtonText: '去支付',
  280 + cancelButtonText: '取消'
  281 + }).then(action => {
  282 + if (action == 'confirm') { //确认的回调
  283 + console.log('确定');
  284 + me.$router.push({
  285 + path:'parkRecord',
  286 + query:{
  287 + carNumber: me.carNumber,
  288 + carNumberColor: me.carWrapBG,
  289 + parkFlag: 0 // 0表示在停 1表示历史
  290 + }
  291 + })
363 } 292 }
364 - })  
365 - }  
366 - }).catch(err => {  
367 - if (err == 'cancel') { //取消的回调  
368 - console.log('取消'); 293 + }).catch(err => {
  294 + if (err == 'cancel') { //取消的回调
  295 + console.log('取消');
  296 + }
  297 + });
369 } 298 }
370 - }); 299 +
  300 + }
371 } 301 }
372 302
373 - })  
374 303
375 304
  305 + })
376 306
377 307
378 308
src/views/parkPay/parkRecord.vue
@@ -33,7 +33,7 @@ @@ -33,7 +33,7 @@
33 <p>停车时长:{{ $utils.dateFormat(i.parkDuration)}}</p> 33 <p>停车时长:{{ $utils.dateFormat(i.parkDuration)}}</p>
34 <div class="out-wrap"> 34 <div class="out-wrap">
35 <p class="mon-wrap">¥{{(i.unPayFee/100).toFixed(2)}}</p> 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<=60">申请离场</p> 36 + <p class="out-btn" @click="toPayCurrent(i,parkingData[0].parkDuration)" v-if="parkingData[0].parkDuration<=900">申请离场</p>
37 <p class="out-btn" @click="toPayCurrent(i,parkingData[0].parkDuration)" v-else>出场缴费</p> 37 <p class="out-btn" @click="toPayCurrent(i,parkingData[0].parkDuration)" v-else>出场缴费</p>
38 </div> 38 </div>
39 </div> 39 </div>
@@ -145,6 +145,8 @@ export default { @@ -145,6 +145,8 @@ export default {
145 } 145 }
146 }, 146 },
147 mounted(){ 147 mounted(){
  148 +
  149 +
148 }, 150 },
149 created() { 151 created() {
150 this.carNumber = this.$route.query.carNumber // 获取车牌号 152 this.carNumber = this.$route.query.carNumber // 获取车牌号
@@ -153,6 +155,9 @@ export default { @@ -153,6 +155,9 @@ export default {
153 console.log(this.carNumber) 155 console.log(this.carNumber)
154 this.parkRecordList(this.carNumber) 156 this.parkRecordList(this.carNumber)
155 157
  158 +
  159 + //
  160 +
156 }, 161 },
157 methods: { 162 methods: {
158 parkRecordList(){ // 获取停车记录数据 163 parkRecordList(){ // 获取停车记录数据
@@ -189,13 +194,19 @@ export default { @@ -189,13 +194,19 @@ export default {
189 this.historyList = this.parkList.filter(item => { 194 this.historyList = this.parkList.filter(item => {
190 return item.parkState == '20' 195 return item.parkState == '20'
191 }) 196 })
192 - if(this.parkingData.length==0&&this.historyList.length>0){  
193 - this.currentTabActive = 1  
194 - } 197 +
195 this.historyList.forEach( i => { 198 this.historyList.forEach( i => {
196 this.allMoney += Number(i.unPayFee) 199 this.allMoney += Number(i.unPayFee)
197 }) 200 })
198 201
  202 + if(this.parkingData.length==0 && this.historyList.length>0){
  203 + this.currentTabActive = 1
  204 + }
  205 +
  206 + if(this.$route.query.parkFlag == 1){
  207 + this.currentTabActive = 1
  208 + this.checkedAll()
  209 + }
199 console.log(this.historyList) 210 console.log(this.historyList)
200 }) 211 })
201 }, 212 },
src/views/parkPay/plateNumber.vue
@@ -198,40 +198,40 @@ @@ -198,40 +198,40 @@
198 <div class="word"> 198 <div class="word">
199 <span>新</span> 199 <span>新</span>
200 </div> 200 </div>
201 - <div class="word">  
202 - <span>学</span>  
203 - </div>  
204 - <!--<div class="word bordernone">-->  
205 - <!--&lt;!&ndash; <img src="../assets/images/icon-switch.png" alt=""> &ndash;&gt;--> 201 + <!--<div class="word">-->
  202 + <!--<span>学</span>-->
206 <!--</div>--> 203 <!--</div>-->
  204 + <div class="word bordernone">
  205 + <!-- <img src="../assets/images/icon-switch.png" alt=""> -->
  206 + </div>
207 </div> 207 </div>
208 208
209 - <div class="first-word"  
210 - @click="selectFirstWord($event)">  
211 - <div class="word">  
212 - <span>港</span>  
213 - </div>  
214 - <div class="word">  
215 - <span>澳</span>  
216 - </div>  
217 - <div class="word">  
218 - <span>领</span>  
219 - </div> 209 + <!--<div class="first-word"-->
  210 + <!--@click="selectFirstWord($event)">-->
  211 + <!--<div class="word">-->
  212 + <!--<span>港</span>-->
  213 + <!--</div>-->
  214 + <!--<div class="word">-->
  215 + <!--<span>澳</span>-->
  216 + <!--</div>-->
  217 + <!--<div class="word">-->
  218 + <!--<span>领</span>-->
  219 + <!--</div>-->
220 220
221 - <div class="word">  
222 - <span>警</span>  
223 - </div> 221 + <!--<div class="word">-->
  222 + <!--<span>警</span>-->
  223 + <!--</div>-->
224 224
225 225
226 - <div class="word bordernone">  
227 - </div>  
228 - <div class="word bordernone">  
229 - </div>  
230 - <div class="word bordernone">  
231 - </div>  
232 - <div class="word bordernone">  
233 - </div>  
234 - </div> 226 + <!--<div class="word bordernone">-->
  227 + <!--</div>-->
  228 + <!--<div class="word bordernone">-->
  229 + <!--</div>-->
  230 + <!--<div class="word bordernone">-->
  231 + <!--</div>-->
  232 + <!--<div class="word bordernone">-->
  233 + <!--</div>-->
  234 + <!--</div>-->
235 </div> 235 </div>
236 <div class="keyboard-wrap" v-if="keyBoardStatus === true"> 236 <div class="keyboard-wrap" v-if="keyBoardStatus === true">
237 <!-- <div class="number-wrap"></div> 237 <!-- <div class="number-wrap"></div>
@@ -367,6 +367,18 @@ export default { @@ -367,6 +367,18 @@ export default {
367 this.initSWiper() 367 this.initSWiper()
368 }, 368 },
369 mounted () { 369 mounted () {
  370 + //
  371 + // if (this.$utils.clientBrowser() == "微信") {
  372 + // var appID = this.$utils.myVxAppId;
  373 + // var code = this.getUrlParam('code');
  374 + // var local = window.location.href;
  375 + // if (code == null || code === '') {
  376 + // window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='+appID+'&redirect_uri='+encodeURIComponent(local)+'&response_type=code&scope=snsapi_userinfo&state=1,0#wechat_redirect'
  377 + // } else {
  378 + // return code;
  379 + // }
  380 + // }
  381 +
370 this.boundList = localStorage.getItem('parkRecordList') ? localStorage.getItem('parkRecordList') : [] 382 this.boundList = localStorage.getItem('parkRecordList') ? localStorage.getItem('parkRecordList') : []
371 console.log(this.boundList) 383 console.log(this.boundList)
372 }, 384 },
@@ -481,7 +493,7 @@ export default { @@ -481,7 +493,7 @@ export default {
481 plateLicense = this.plate_license_1 493 plateLicense = this.plate_license_1
482 plateLicense = this.palindrome(plateLicense) 494 plateLicense = this.palindrome(plateLicense)
483 if (plateLicense.length < 7) { 495 if (plateLicense.length < 7) {
484 - this.$refs.alert.open() 496 + this.$msgbox('提示', '请输入正确的车牌号')
485 return 497 return
486 } 498 }
487 } 499 }
@@ -489,7 +501,7 @@ export default { @@ -489,7 +501,7 @@ export default {
489 plateLicense = this.plate_license_2 501 plateLicense = this.plate_license_2
490 plateLicense = this.palindrome(plateLicense) 502 plateLicense = this.palindrome(plateLicense)
491 if (plateLicense.length < 8) { 503 if (plateLicense.length < 8) {
492 - this.$refs.alert.open() 504 + this.$msgbox('提示', '请输入正确的车牌号')
493 return 505 return
494 } 506 }
495 } 507 }