Commit 07fee088810805991ecf5c7cef7a157d78b29397
1 parent
44d935db
add 停车缴费支付订单页面 接口联调
Showing
5 changed files
with
213 additions
and
31 deletions
common/common.js
| ... | ... | @@ -65,7 +65,7 @@ const publicUnifiedOrder = serverUrl + "/business/h5/pay/weixinpay/publicUnified |
| 65 | 65 | |
| 66 | 66 | // 钱包-根据订单ID获取购买优惠券信息 |
| 67 | 67 | const couponInfo = serverUrl + "/business/h5/wallet/detail/couponInfo"; |
| 68 | -// const couponInfo = "http://127.0.0.1:8075/business/h5/wallet/detail/couponInfo"; | |
| 68 | +// 根据车牌号查询车牌号订单支付详情 | |
| 69 | 69 | const queryParkingRecordByCarNumbers ="https://pay.jycrtc.com/queryParkOrder/queryParkingRecordPageByCarNumbersForBusiness"; |
| 70 | 70 | |
| 71 | 71 | ... | ... |
common/requestServer.js
| ... | ... | @@ -52,7 +52,7 @@ export const myRequest = (options) => { |
| 52 | 52 | uni.hideLoading(); |
| 53 | 53 | uni.showToast({ |
| 54 | 54 | title: result.message, |
| 55 | - icon: 'none', | |
| 55 | + icon: 'error', | |
| 56 | 56 | duration: 2000 |
| 57 | 57 | }); |
| 58 | 58 | } |
| ... | ... | @@ -65,7 +65,7 @@ export const myRequest = (options) => { |
| 65 | 65 | console.log("请求失败", error); |
| 66 | 66 | uni.showToast({ |
| 67 | 67 | title: error.message, |
| 68 | - icon: 'none', | |
| 68 | + icon: 'error', | |
| 69 | 69 | duration: 2000 |
| 70 | 70 | }) |
| 71 | 71 | // 失败数据 | ... | ... |
pages.json
| ... | ... | @@ -278,6 +278,15 @@ |
| 278 | 278 | |
| 279 | 279 | } |
| 280 | 280 | |
| 281 | + ,{ | |
| 282 | + "path" : "pages/wxpaySuccess/wxpaySuccess", | |
| 283 | + "style" : | |
| 284 | + { | |
| 285 | + "navigationBarTitleText": "", | |
| 286 | + "enablePullDownRefresh": false | |
| 287 | + } | |
| 288 | + | |
| 289 | + } | |
| 281 | 290 | ], |
| 282 | 291 | "globalStyle": { |
| 283 | 292 | "navigationBarTextStyle": "black", | ... | ... |
pages/parkPay/parkPay.vue
| 1 | 1 | <template> |
| 2 | 2 | <view> |
| 3 | 3 | |
| 4 | - <view class="order-time"> | |
| 4 | + <!-- <view class="order-time"> | |
| 5 | 5 | 剩余支付时间: {{appOrderTimeout}} |
| 6 | - </view> | |
| 6 | + </view> --> | |
| 7 | 7 | |
| 8 | 8 | <view class="order-title"> |
| 9 | 9 | 订单详情 |
| ... | ... | @@ -13,19 +13,19 @@ |
| 13 | 13 | </view> |
| 14 | 14 | <view class="order-line"></view> |
| 15 | 15 | <view class="order-info"> |
| 16 | - 停车场:{{myorderinfo.parkName | tranNull}} | |
| 16 | + 停车场:{{parkName | tranNull}} | |
| 17 | 17 | </view> |
| 18 | 18 | <view class="order-line"></view> |
| 19 | 19 | <view class="order-info"> |
| 20 | - 进场时间:{{myorderinfo.inparktime | tranNull}} | |
| 20 | + 进场时间:{{parkInTime | tranNull}} | |
| 21 | 21 | </view> |
| 22 | 22 | <view class="order-line"></view> |
| 23 | 23 | <view class="order-info"> |
| 24 | - 停车时间:{{myorderinfo.staytime | timeFormatter}} | |
| 24 | + 停车时间:{{staytime | timeFormatter}} | |
| 25 | 25 | </view> |
| 26 | 26 | <view class="order-line"></view> |
| 27 | 27 | <view class="order-info"> |
| 28 | - 总计费用:{{myorderinfo.due |toFixed2}}元 | |
| 28 | + 总计费用:{{due |toFixed2}}元 | |
| 29 | 29 | </view> |
| 30 | 30 | <view class="order-line"></view> |
| 31 | 31 | |
| ... | ... | @@ -35,7 +35,7 @@ |
| 35 | 35 | </view> |
| 36 | 36 | <view class="flex-row-justify-end"> |
| 37 | 37 | <view class="order-info" style="font-weight:bold;font-size:17px ;"> |
| 38 | - {{myorderinfo.orderFee | toFixed2}} | |
| 38 | + {{orderFee | toFixed2}} | |
| 39 | 39 | </view> |
| 40 | 40 | <view class="order-info" style="margin-right: 50upx;margin-left: 0px;"> |
| 41 | 41 | 元 |
| ... | ... | @@ -70,17 +70,15 @@ |
| 70 | 70 | data() { |
| 71 | 71 | return { |
| 72 | 72 | businessId: '', |
| 73 | - mycarNumber: '', | |
| 74 | - myorderinfo: { | |
| 75 | - parkName:'', | |
| 76 | - inparktime:'', | |
| 77 | - staytime:'', | |
| 78 | - due:'', | |
| 79 | - orderFee:'', | |
| 80 | - }, | |
| 81 | - appOrderTimeout:'0', | |
| 73 | + orderId: '', | |
| 74 | + mycarNumber: '', | |
| 75 | + parkName: '', | |
| 76 | + parkInTime: '', | |
| 77 | + staytime: '', | |
| 78 | + due: '', | |
| 79 | + orderFee: '', | |
| 80 | + // appOrderTimeout:'0', | |
| 82 | 81 | totalFee: '', //应收 |
| 83 | - unPayFee: '' //实收 | |
| 84 | 82 | } |
| 85 | 83 | }, |
| 86 | 84 | onLoad(params) { |
| ... | ... | @@ -90,7 +88,7 @@ |
| 90 | 88 | this.mycarNumber = params.carNumber; |
| 91 | 89 | let indexInfo = uni.getStorageSync("indexInfo"); |
| 92 | 90 | this.businessId = indexInfo.businessId; |
| 93 | - console.log(this.mycarNumber,this.businessId) | |
| 91 | + console.log(this.mycarNumber, this.businessId) | |
| 94 | 92 | this.getbBillQueryInfo(); |
| 95 | 93 | }, |
| 96 | 94 | onShow() { |
| ... | ... | @@ -99,20 +97,44 @@ |
| 99 | 97 | methods: { |
| 100 | 98 | |
| 101 | 99 | payClick() { |
| 102 | - var that = this; | |
| 103 | - that.goPay_billQueryInfo(); | |
| 100 | + let that = this; | |
| 101 | + let paramsData = { | |
| 102 | + payType: '35', | |
| 103 | + paySrcType: '101', | |
| 104 | + orderId: that.orderId, | |
| 105 | + payFee: that.orderFee, | |
| 106 | + | |
| 107 | + } | |
| 108 | + // 获取 接口 | |
| 109 | + that.$myRequest({ | |
| 110 | + url: that.$common.accountPay, | |
| 111 | + method: 'POST', | |
| 112 | + data: that.$common.requestSign(paramsData) | |
| 113 | + }).then(res => { | |
| 114 | + console.log('余额支付:' + res) | |
| 115 | + uni.showToast({ | |
| 116 | + title: "支付成功", | |
| 117 | + icon: 'success', | |
| 118 | + duration: 2000 | |
| 119 | + }); | |
| 120 | + setTimeout(function() { | |
| 121 | + uni.navigateTo({ | |
| 122 | + url: '../inputCarNumber/inputCarNumber' | |
| 123 | + }) | |
| 124 | + }, 2000); | |
| 125 | + | |
| 126 | + }) | |
| 104 | 127 | }, |
| 105 | 128 | |
| 106 | 129 | getbBillQueryInfo() { |
| 107 | 130 | let that = this |
| 108 | 131 | let paramsData = { |
| 109 | 132 | carNumber: that.mycarNumber, |
| 110 | - pageNum:'1', | |
| 111 | - pageSize:'10', | |
| 133 | + pageNum: '1', | |
| 134 | + pageSize: '10', | |
| 112 | 135 | businessId: that.businessId, |
| 113 | - terminalSource: '11', | |
| 114 | 136 | parkState: '10', |
| 115 | - | |
| 137 | + | |
| 116 | 138 | } |
| 117 | 139 | // 获取 接口 |
| 118 | 140 | that.$myRequest({ |
| ... | ... | @@ -120,10 +142,16 @@ |
| 120 | 142 | method: 'POST', |
| 121 | 143 | data: that.$common.requestSign(paramsData) |
| 122 | 144 | }).then(res => { |
| 123 | - console.log(res) | |
| 124 | - that.myorderinfo = res.data.dataList[0]; | |
| 125 | - that.appOrderTimeout = res.data.dataList[0].appOrderTimeout; | |
| 126 | - | |
| 145 | + console.log(res.data.dataList[0]) | |
| 146 | + let data = res.data.dataList[0] | |
| 147 | + | |
| 148 | + that.parkName = data.parkName; | |
| 149 | + that.parkInTime = data.parkInTime; | |
| 150 | + that.staytime = data.parkDuration; | |
| 151 | + that.due = data.totalFee; | |
| 152 | + that.orderFee = data.payFee; | |
| 153 | + that.orderId = data.orderId; | |
| 154 | + | |
| 127 | 155 | }) |
| 128 | 156 | |
| 129 | 157 | }, | ... | ... |
pages/wxpaySuccess/wxpaySuccess.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <view class="page-fill"> | |
| 3 | + <view class="successicon"> | |
| 4 | + <image class="imageIcon" src="../../static/orderInfo/orderinfo-success.png" mode=""></image> | |
| 5 | + </view> | |
| 6 | + <text class="paystatus">支付成功</text> | |
| 7 | + <text class="payinfo"> | |
| 8 | + {{mycarNumber}} ¥{{payMoney|priceFormat()}} | |
| 9 | + </text> | |
| 10 | + <text class="paytime"> | |
| 11 | + 支付时间:{{dateStr}} | |
| 12 | + </text> | |
| 13 | + <view style="background: #d9d9d9;height:1px;margin-top:7px ;margin-left:15px ;opacity: 0.5; padding:0px;overflow:hidden;"></view> | |
| 14 | + | |
| 15 | + <text class="payways"> | |
| 16 | + 支付方式:{{payWays}} | |
| 17 | + </text> | |
| 18 | + <view style="background: #d9d9d9;height:1px;margin-top:7px;margin-left:15px ;opacity: 0.5;padding:0px;overflow:hidden;"></view> | |
| 19 | + | |
| 20 | + <text v-if="appOrderTimeout !=''" class="payways"> | |
| 21 | + 温馨提示:{{appOrderTimeout}} | |
| 22 | + </text> | |
| 23 | + <view v-if="appOrderTimeout !=''" style="background: #d9d9d9;height:1px;margin-top:7px;margin-left:15px ;opacity: 0.5;padding:0px;overflow:hidden;"></view> | |
| 24 | + | |
| 25 | + <button @click="Click" class="button-sp-area" type="primary" plain="true">完成</button> | |
| 26 | + </view> | |
| 27 | +</template> | |
| 28 | + | |
| 29 | +<script> | |
| 30 | + export default { | |
| 31 | + data() { | |
| 32 | + return { | |
| 33 | + mycarNumber:'', | |
| 34 | + payWays:'', | |
| 35 | + payMoney:0, | |
| 36 | + appOrderTimeout:'', | |
| 37 | + dateStr:'' | |
| 38 | + } | |
| 39 | + }, | |
| 40 | + | |
| 41 | + onLoad(params) { | |
| 42 | + wx.showShareMenu({ | |
| 43 | + withShareTicket: true | |
| 44 | + }) | |
| 45 | + this.mycarNumber = params.carNumber; | |
| 46 | + | |
| 47 | + this.payWays = params.payWays; | |
| 48 | + this.payMoney = params.payMoney; | |
| 49 | + this.appOrderTimeout = params.appOrderTimeout; | |
| 50 | + this.getNowDate(); | |
| 51 | + }, | |
| 52 | + methods: { | |
| 53 | + Click() { | |
| 54 | + uni.navigateTo({ | |
| 55 | + url: '../index/idnex' | |
| 56 | + | |
| 57 | + }); | |
| 58 | + }, | |
| 59 | + getNowDate(){ | |
| 60 | + var dateTime = new Date(); | |
| 61 | + this.dateStr = this.getDateWeek(dateTime); | |
| 62 | + | |
| 63 | + }, | |
| 64 | + | |
| 65 | + getDateWeek(now) { | |
| 66 | + // var now=new Date(); | |
| 67 | + var year = now.getFullYear(); //获取四位数年数 | |
| 68 | + var month = now.getMonth() + 1; | |
| 69 | + var date = now.getDate(); | |
| 70 | + var weeknum = now.getDay(); | |
| 71 | + | |
| 72 | + var s = year + '-' + this.Appendzero(month) + '-' + this.Appendzero(date); | |
| 73 | + return s; | |
| 74 | + }, | |
| 75 | + Appendzero(obj) { | |
| 76 | + if (obj < 10) return '0' + '' + obj; | |
| 77 | + else return obj; | |
| 78 | + } | |
| 79 | + } | |
| 80 | + } | |
| 81 | +</script> | |
| 82 | + | |
| 83 | +<style> | |
| 84 | + .page-fill { | |
| 85 | + width: 100%; | |
| 86 | + height: 100%; | |
| 87 | + display: flex; | |
| 88 | + flex-direction: column; | |
| 89 | + } | |
| 90 | + | |
| 91 | + .imageIcon { | |
| 92 | + width: 96px; | |
| 93 | + height: 95px; | |
| 94 | + margin-top: 42px; | |
| 95 | + margin-left: auto; | |
| 96 | + margin-right: auto; | |
| 97 | + /* margin: 42px auto; */ | |
| 98 | + display: flex; | |
| 99 | + justify-content: center; | |
| 100 | + | |
| 101 | + | |
| 102 | + } | |
| 103 | + | |
| 104 | + .paystatus { | |
| 105 | + margin-top: 20px; | |
| 106 | + font-weight: bold; | |
| 107 | + font-size: 18px; | |
| 108 | + color: #404040; | |
| 109 | + display: flex; | |
| 110 | + justify-content: center; | |
| 111 | + } | |
| 112 | + | |
| 113 | + .payinfo { | |
| 114 | + margin-top: 3px; | |
| 115 | + font-size: 16px; | |
| 116 | + color: #404040; | |
| 117 | + display: flex; | |
| 118 | + justify-content: center; | |
| 119 | + } | |
| 120 | + | |
| 121 | + .paytime { | |
| 122 | + margin-top: 51px; | |
| 123 | + margin-left: 15px; | |
| 124 | + font-size: 14px; | |
| 125 | + color: #404040; | |
| 126 | + display: flex; | |
| 127 | + justify-content: flex-start; | |
| 128 | + } | |
| 129 | + | |
| 130 | + .payways { | |
| 131 | + margin-top: 17px; | |
| 132 | + margin-left: 15px; | |
| 133 | + font-size: 14px; | |
| 134 | + color: #404040; | |
| 135 | + display: flex; | |
| 136 | + justify-content: flex-start; | |
| 137 | + } | |
| 138 | + | |
| 139 | + .button-sp-area { | |
| 140 | + margin: 0 auto; | |
| 141 | + width: 60%; | |
| 142 | + margin-top: 114px; | |
| 143 | + | |
| 144 | + } | |
| 145 | +</style> | ... | ... |