Commit 83c494796243558da567e3679a9b65d46b5785fa
1 parent
e357dabe
add 7月需求
Showing
9 changed files
with
553 additions
and
378 deletions
common/common.js
| 1 | import md5 from './md5.min.js'; | 1 | import md5 from './md5.min.js'; |
| 2 | // 江阴正式环境 | 2 | // 江阴正式环境 |
| 3 | var serverUrl = "https://bus.jycrtc.com"; | 3 | var serverUrl = "https://bus.jycrtc.com"; |
| 4 | +// 测试环境 | ||
| 5 | +// var serverUrl = "http://test.jycrtc.com:8096"; | ||
| 4 | //江阴微信小程序appid | 6 | //江阴微信小程序appid |
| 5 | const hs_wxPay_appId = 'wxfdc1af620d3ab750'; | 7 | const hs_wxPay_appId = 'wxfdc1af620d3ab750'; |
| 6 | // 江阴慧停车orgId | 8 | // 江阴慧停车orgId |
| @@ -67,13 +69,17 @@ const walletDetailsPage = serverUrl + "/business/h5/wallet/detailsPage"; | @@ -67,13 +69,17 @@ const walletDetailsPage = serverUrl + "/business/h5/wallet/detailsPage"; | ||
| 67 | // 钱包充值-微信 | 69 | // 钱包充值-微信 |
| 68 | const publicUnifiedOrder = serverUrl + "/business/h5/pay/weixinpay/publicUnifiedOrder"; | 70 | const publicUnifiedOrder = serverUrl + "/business/h5/pay/weixinpay/publicUnifiedOrder"; |
| 69 | 71 | ||
| 72 | +// 根据商户支出停车费订单ID获取订单信息 | ||
| 73 | +const getParkingInfoByOrderId = serverUrl + "/business/h5/wallet/detail/getParkingInfoByOrderId"; | ||
| 74 | + | ||
| 70 | // 钱包-根据订单ID获取购买优惠券信息 | 75 | // 钱包-根据订单ID获取购买优惠券信息 |
| 71 | const couponInfo = serverUrl + "/business/h5/wallet/detail/couponInfo"; | 76 | const couponInfo = serverUrl + "/business/h5/wallet/detail/couponInfo"; |
| 72 | // 根据车牌号查询车牌号订单支付详情 | 77 | // 根据车牌号查询车牌号订单支付详情 |
| 73 | const queryParkingRecordByCarNumbers ="https://pay.jycrtc.com/queryParkOrder/queryParkingRecordPageByCarNumbersForBusiness"; | 78 | const queryParkingRecordByCarNumbers ="https://pay.jycrtc.com/queryParkOrder/queryParkingRecordPageByCarNumbersForBusiness"; |
| 74 | - | ||
| 75 | -const getOpenIdByCode = "https://pay.jycrtc.com/weixinPublicPay/getSmallRoutineOpenIdByCode" | ||
| 76 | - | 79 | +// 根据商户支出 购买卡券订单ID获取订单信息 |
| 80 | +const getOpenIdByCode = "https://pay.jycrtc.com/weixinPublicPay/getSmallRoutineOpenIdByCode" | ||
| 81 | +// 停车记录明细总览 | ||
| 82 | +const parkingCouponSummary = serverUrl +"/business/h5/order/parkingCouponSummary" | ||
| 77 | 83 | ||
| 78 | const requestSign = function (inputData) { | 84 | const requestSign = function (inputData) { |
| 79 | var jsonList = inputData || {}; | 85 | var jsonList = inputData || {}; |
| @@ -257,4 +263,6 @@ export default { | @@ -257,4 +263,6 @@ export default { | ||
| 257 | couponInfo, | 263 | couponInfo, |
| 258 | queryParkingRecordByCarNumbers, | 264 | queryParkingRecordByCarNumbers, |
| 259 | getOpenIdByCode, | 265 | getOpenIdByCode, |
| 266 | + getParkingInfoByOrderId, | ||
| 267 | + parkingCouponSummary, | ||
| 260 | } | 268 | } |
common/filters.js
| @@ -3,7 +3,11 @@ const tranNull = value => { | @@ -3,7 +3,11 @@ const tranNull = value => { | ||
| 3 | if (value === null || value === undefined || value === '') return '-' | 3 | if (value === null || value === undefined || value === '') return '-' |
| 4 | return value | 4 | return value |
| 5 | } | 5 | } |
| 6 | - | 6 | +// 为空处理 return ‘’ |
| 7 | +const tranStrNull = value => { | ||
| 8 | + if (value === null || value === undefined || value === '') return '' | ||
| 9 | + return value | ||
| 10 | +} | ||
| 7 | 11 | ||
| 8 | /* | 12 | /* |
| 9 | @切割字符串 | 13 | @切割字符串 |
| @@ -124,14 +128,37 @@ const cardTypeFormate = num => { | @@ -124,14 +128,37 @@ const cardTypeFormate = num => { | ||
| 124 | 128 | ||
| 125 | } | 129 | } |
| 126 | 130 | ||
| 131 | +function formatDateYMD(value) { | ||
| 132 | + if (value === null || value === undefined || value === ''){ | ||
| 133 | + return '-' | ||
| 134 | + } else{ | ||
| 135 | + var date = new Date(value); | ||
| 136 | + var y = date.getFullYear(), | ||
| 137 | + m = date.getMonth() + 1, | ||
| 138 | + d = date.getDate(), | ||
| 139 | + h = date.getHours(), | ||
| 140 | + i = date.getMinutes(), | ||
| 141 | + s = date.getSeconds(); | ||
| 142 | + if (m < 10) { m = '0' + m; } | ||
| 143 | + if (d < 10) { d = '0' + d; } | ||
| 144 | + if (h < 10) { h = '0' + h; } | ||
| 145 | + if (i < 10) { i = '0' + i; } | ||
| 146 | + if (s < 10) { s = '0' + s; } | ||
| 147 | + var t = y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s; | ||
| 148 | + return t; | ||
| 149 | + } | ||
| 150 | + | ||
| 151 | +} | ||
| 127 | 152 | ||
| 128 | export default { | 153 | export default { |
| 129 | tranNull, | 154 | tranNull, |
| 155 | + tranStrNull, | ||
| 130 | RMB, | 156 | RMB, |
| 131 | cutString, | 157 | cutString, |
| 132 | toFixed2, | 158 | toFixed2, |
| 133 | ortherToFixed, | 159 | ortherToFixed, |
| 134 | toThousands, | 160 | toThousands, |
| 135 | timeFormatter, | 161 | timeFormatter, |
| 136 | - cardTypeFormate | 162 | + cardTypeFormate, |
| 163 | + formatDateYMD, | ||
| 137 | } | 164 | } |
pages/businessCard/buyCard.vue
| @@ -174,7 +174,7 @@ export default { | @@ -174,7 +174,7 @@ export default { | ||
| 174 | let that = this | 174 | let that = this |
| 175 | let paramsData = { | 175 | let paramsData = { |
| 176 | buyNum: this.vModelValue.toString(), | 176 | buyNum: this.vModelValue.toString(), |
| 177 | - totalPrice: this.needPay.toString(), | 177 | + totalPrice: (this.needPay * 100).toString(), |
| 178 | cardRelParkNo: this.cardRelParkNo, | 178 | cardRelParkNo: this.cardRelParkNo, |
| 179 | cardRuleNo: this.cardRuleNo | 179 | cardRuleNo: this.cardRuleNo |
| 180 | } | 180 | } |
pages/index/index.vue
| @@ -21,7 +21,7 @@ | @@ -21,7 +21,7 @@ | ||
| 21 | <button type="primary" @click="login">登录</button> | 21 | <button type="primary" @click="login">登录</button> |
| 22 | </view> | 22 | </view> |
| 23 | <view class="uni-common-mt login-foot"> | 23 | <view class="uni-common-mt login-foot"> |
| 24 | - 点击”登录“,即表示你同意《商户用户协议》 | 24 | + 点击”登录“,即表示你同意<view style="color: blue;">《商户用户协议》</view> |
| 25 | </view> | 25 | </view> |
| 26 | </view> | 26 | </view> |
| 27 | <view class="bg-white" v-else> | 27 | <view class="bg-white" v-else> |
pages/moneyRecharge/moneyRecharge.vue
| @@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
| 3 | 3 | ||
| 4 | <view class="rechargeTop"> | 4 | <view class="rechargeTop"> |
| 5 | <view class="toDetail uni-list-cell-pd uni-right" @click="detailCell">明细 ></view> | 5 | <view class="toDetail uni-list-cell-pd uni-right" @click="detailCell">明细 ></view> |
| 6 | - <view class="rechargeNum uni-center">¥{{acctBalance | toFixed2 }}</view> | 6 | + <view class="rechargeNum uni-center">¥{{acctBalance | toFixed2 }}元</view> |
| 7 | </view> | 7 | </view> |
| 8 | 8 | ||
| 9 | <uni-section title="充值金额(元)" type="line" padding> | 9 | <uni-section title="充值金额(元)" type="line" padding> |
pages/parkPay/parkPay.vue
| 1 | <template> | 1 | <template> |
| 2 | - <view> | 2 | + <view> |
| 3 | 3 | ||
| 4 | - <!-- <view class="order-time"> | 4 | + <!-- <view class="order-time"> |
| 5 | 剩余支付时间: {{appOrderTimeout}} | 5 | 剩余支付时间: {{appOrderTimeout}} |
| 6 | </view> --> | 6 | </view> --> |
| 7 | 7 | ||
| 8 | - <view class="order-title"> | ||
| 9 | - 订单详情 | ||
| 10 | - </view> | ||
| 11 | - <view class="order-info"> | ||
| 12 | - 车牌号:{{mycarNumber | tranNull}} | ||
| 13 | - </view> | ||
| 14 | - <view class="order-line"></view> | ||
| 15 | - <view class="order-info"> | ||
| 16 | - 停车场:{{parkName | tranNull}} | ||
| 17 | - </view> | ||
| 18 | - <view class="order-line"></view> | ||
| 19 | - <view class="order-info"> | ||
| 20 | - 进场时间:{{parkInTime | tranNull}} | ||
| 21 | - </view> | ||
| 22 | - <view class="order-line"></view> | ||
| 23 | - <view class="order-info"> | ||
| 24 | - 停车时间:{{staytime | timeFormatter}} | ||
| 25 | - </view> | ||
| 26 | - <view class="order-line"></view> | ||
| 27 | - <view class="order-info"> | ||
| 28 | - 总计费用:{{due |toFixed2}}元 | ||
| 29 | - </view> | ||
| 30 | - <view class="order-line"></view> | ||
| 31 | - | ||
| 32 | - <view class="flex-row-justify-between"> | ||
| 33 | - <view class="order-info"> | ||
| 34 | - 支付金额 | ||
| 35 | - </view> | ||
| 36 | - <view class="flex-row-justify-end"> | ||
| 37 | - <view class="order-info" style="font-weight:bold;font-size:17px ;"> | ||
| 38 | - {{orderFee | toFixed2}} | ||
| 39 | - </view> | ||
| 40 | - <view class="order-info" style="margin-right: 50upx;margin-left: 0px;"> | ||
| 41 | - 元 | ||
| 42 | - </view> | ||
| 43 | - </view> | ||
| 44 | - </view> | ||
| 45 | - | ||
| 46 | - <view class="order-line-bold"></view> | ||
| 47 | - | ||
| 48 | - <view class="order-title"> | ||
| 49 | - 支付方法 | ||
| 50 | - </view> | ||
| 51 | - <view class="order-line"></view> | ||
| 52 | - | ||
| 53 | - <view class="orderwaysview"> | ||
| 54 | - <!--<image src="../../static/orderInfo/orderinfo-wechat.png" class="orderways"></image>--> | ||
| 55 | - <view class="order-info" style="margin-left: 15px;"> | ||
| 56 | - 商户余额 | ||
| 57 | - </view> | ||
| 58 | - <image src="../../static/orderInfo/orderinfo-sel.png" class="orderwaysSel"></image> | ||
| 59 | - | ||
| 60 | - </view> | ||
| 61 | - | ||
| 62 | - <view class="order-line"></view> | ||
| 63 | - <button @click="payClick" class="button-sp-area" type="primary" plain="true">确认支付</button> | ||
| 64 | - | ||
| 65 | - </view> | 8 | + <view class="order-title"> |
| 9 | + 订单详情 | ||
| 10 | + </view> | ||
| 11 | + <view class="order-info"> | ||
| 12 | + 车牌号:{{mycarNumber | tranNull}} | ||
| 13 | + </view> | ||
| 14 | + <view class="order-line"></view> | ||
| 15 | + <view class="order-info"> | ||
| 16 | + 停车场:{{parkName | tranNull}} | ||
| 17 | + </view> | ||
| 18 | + <view class="order-line"></view> | ||
| 19 | + <view class="order-info"> | ||
| 20 | + 进场时间:{{parkInTime | tranNull}} | ||
| 21 | + </view> | ||
| 22 | + <view class="order-line"></view> | ||
| 23 | + <view class="order-info"> | ||
| 24 | + 停车时间:{{staytime | timeFormatter}} | ||
| 25 | + </view> | ||
| 26 | + <view class="order-line"></view> | ||
| 27 | + <view class="order-info"> | ||
| 28 | + 总计费用:{{due |toFixed2}}元 | ||
| 29 | + </view> | ||
| 30 | + <view class="order-line"></view> | ||
| 31 | + | ||
| 32 | + <view class="flex-row-justify-between"> | ||
| 33 | + <view class="order-info"> | ||
| 34 | + 需支付金额 | ||
| 35 | + </view> | ||
| 36 | + <view class="flex-row-justify-end"> | ||
| 37 | + <view class="order-info" style="font-weight:bold;font-size:18px;"> | ||
| 38 | + {{orderFee | toFixed2}} | ||
| 39 | + </view> | ||
| 40 | + <view class="order-info" style="margin-right: 50upx;margin-left: 0px;"> | ||
| 41 | + 元 | ||
| 42 | + </view> | ||
| 43 | + </view> | ||
| 44 | + </view> | ||
| 45 | + <view class="uni-list-cell-pd pos-rel"> | ||
| 46 | + <input class="" type="number" | ||
| 47 | + style="background-color: #fff;height:40px;line-height: 40px;padding-left: 15px;font-size: 20px;" v-model="rechargeNum" | ||
| 48 | + @input="checkNum" :maxlength="maxlength" placeholder="确认支付金额(单位:元)"> | ||
| 49 | + <view class="pos-abs paywarp"> | ||
| 50 | + 元 | ||
| 51 | + </view> | ||
| 52 | + </view> | ||
| 53 | + <view class="order-line-bold"></view> | ||
| 54 | + | ||
| 55 | + <view class="order-title"> | ||
| 56 | + 支付方法 | ||
| 57 | + </view> | ||
| 58 | + <view class="order-line"></view> | ||
| 59 | + | ||
| 60 | + <view class="orderwaysview"> | ||
| 61 | + <!--<image src="../../static/orderInfo/orderinfo-wechat.png" class="orderways"></image>--> | ||
| 62 | + <view class="order-info" style="margin-left: 15px;"> | ||
| 63 | + 商户余额 | ||
| 64 | + </view> | ||
| 65 | + <image src="../../static/orderInfo/orderinfo-sel.png" class="orderwaysSel"></image> | ||
| 66 | + | ||
| 67 | + </view> | ||
| 68 | + | ||
| 69 | + <view class="order-line"></view> | ||
| 70 | + <button @click="payClick" class="button-sp-area" type="primary" plain="true">确认支付</button> | ||
| 71 | + | ||
| 72 | + </view> | ||
| 66 | </template> | 73 | </template> |
| 67 | 74 | ||
| 68 | <script> | 75 | <script> |
| 69 | -export default { | ||
| 70 | - data() { | ||
| 71 | - return { | ||
| 72 | - businessId: '', | ||
| 73 | - orderId: '', | ||
| 74 | - mycarNumber: '', | ||
| 75 | - parkName: '', | ||
| 76 | - parkInTime: '', | ||
| 77 | - staytime: '', | ||
| 78 | - due: '', | ||
| 79 | - orderFee: '', | ||
| 80 | - // appOrderTimeout:'0', | ||
| 81 | - totalFee: '', //应收 | ||
| 82 | - } | ||
| 83 | - }, | ||
| 84 | - onLoad(params) { | ||
| 85 | - wx.showShareMenu({ | ||
| 86 | - withShareTicket: true | ||
| 87 | - }) | ||
| 88 | - let data = JSON.parse(params.optionData) | ||
| 89 | - this.mycarNumber = data.carNumber | ||
| 90 | - this.parkName = data.parkName; | ||
| 91 | - this.parkInTime = data.parkInTime; | ||
| 92 | - this.staytime = data.parkDuration; | ||
| 93 | - this.due = data.totalFee; | ||
| 94 | - this.orderFee = data.unPayFee; | ||
| 95 | - this.orderId = data.orderId; | ||
| 96 | - }, | ||
| 97 | - onShow() { | ||
| 98 | - }, | ||
| 99 | - methods: { | ||
| 100 | - payClick() { | ||
| 101 | - let that = this; | ||
| 102 | - let paramsData = { | ||
| 103 | - payType: '35', | ||
| 104 | - paySrcType: '101', | ||
| 105 | - orderId: that.orderId, | ||
| 106 | - payFee: that.orderFee, | ||
| 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 | - let pages = getCurrentPages(); //当前页 | ||
| 122 | - let beforePage = pages[pages.length - 2]; | ||
| 123 | - uni.navigateBack({ | ||
| 124 | - success: function () { | ||
| 125 | - beforePage.onLoad(); | ||
| 126 | - } | ||
| 127 | - }) | ||
| 128 | - }, 2000); | ||
| 129 | - }) | ||
| 130 | - }, | ||
| 131 | - } | ||
| 132 | -} | 76 | + export default { |
| 77 | + data() { | ||
| 78 | + return { | ||
| 79 | + businessId: '', | ||
| 80 | + orderId: '', | ||
| 81 | + mycarNumber: '', | ||
| 82 | + parkName: '', | ||
| 83 | + parkInTime: '', | ||
| 84 | + staytime: '', | ||
| 85 | + due: '', | ||
| 86 | + orderFee: '', | ||
| 87 | + // appOrderTimeout:'0', | ||
| 88 | + totalFee: '', //应收 | ||
| 89 | + rechargeNum: '', | ||
| 90 | + maxlength: 6 //默认一个长度 | ||
| 91 | + } | ||
| 92 | + }, | ||
| 93 | + onLoad(params) { | ||
| 94 | + wx.showShareMenu({ | ||
| 95 | + withShareTicket: true | ||
| 96 | + }) | ||
| 97 | + let data = JSON.parse(params.optionData) | ||
| 98 | + this.mycarNumber = data.carNumber | ||
| 99 | + this.parkName = data.parkName; | ||
| 100 | + this.parkInTime = data.parkInTime; | ||
| 101 | + this.staytime = data.parkDuration; | ||
| 102 | + this.due = data.totalFee; | ||
| 103 | + this.orderFee = data.unPayFee; | ||
| 104 | + this.rechargeNum = data.unPayFee / 100; | ||
| 105 | + this.orderId = data.orderId; | ||
| 106 | + }, | ||
| 107 | + onShow() {}, | ||
| 108 | + methods: { | ||
| 109 | + checkNum(e) { | ||
| 110 | + let value = e.detail.value; | ||
| 111 | + let dot = value.indexOf('.'); //包含小数点 | ||
| 112 | + let reg = /^[0-9]+$/; //正整数 | ||
| 113 | + if (dot > -1) { | ||
| 114 | + this.maxlength = dot + 3; //长度是小数点后两位 | ||
| 115 | + if (value.length > dot + 3) {} | ||
| 116 | + } | ||
| 117 | + if (reg.test(value)) { //如果是正整数不包含小数点 | ||
| 118 | + this.maxlength = 6; | ||
| 119 | + } | ||
| 120 | + }, | ||
| 121 | + payClick() { | ||
| 122 | + let that = this; | ||
| 123 | + let orderFee = that.orderFee; | ||
| 124 | + let rechargeNum = that.rechargeNum; | ||
| 125 | + if (rechargeNum <= 0) { | ||
| 126 | + return uni.showToast({ | ||
| 127 | + title: '不能输入小于等于0的金额', | ||
| 128 | + icon: 'error' | ||
| 129 | + }) | ||
| 130 | + } else if (rechargeNum === " ") { | ||
| 131 | + return uni.showToast({ | ||
| 132 | + title: '金额不能为空', | ||
| 133 | + icon: 'error' | ||
| 134 | + }) | ||
| 135 | + } else if (rechargeNum > orderFee) { | ||
| 136 | + return uni.showToast({ | ||
| 137 | + title: '金额不能大于需支付金额', | ||
| 138 | + icon: 'error' | ||
| 139 | + }) | ||
| 140 | + } else { | ||
| 141 | + | ||
| 142 | + let paramsData = { | ||
| 143 | + payType: '35', | ||
| 144 | + paySrcType: '101', | ||
| 145 | + orderId: that.orderId, | ||
| 146 | + payFee: (rechargeNum * 100).toString(), | ||
| 147 | + } | ||
| 148 | + // 获取 接口 | ||
| 149 | + that.$myRequest({ | ||
| 150 | + url: that.$common.accountPay, | ||
| 151 | + method: 'POST', | ||
| 152 | + data: that.$common.requestSign(paramsData) | ||
| 153 | + }).then(res => { | ||
| 154 | + console.log('余额支付:' + res) | ||
| 155 | + uni.showToast({ | ||
| 156 | + title: "支付成功", | ||
| 157 | + icon: 'success', | ||
| 158 | + duration: 2000 | ||
| 159 | + }); | ||
| 160 | + setTimeout(function() { | ||
| 161 | + let pages = getCurrentPages(); //当前页 | ||
| 162 | + let beforePage = pages[pages.length - 2]; | ||
| 163 | + uni.navigateBack({ | ||
| 164 | + success: function() { | ||
| 165 | + beforePage.onLoad(); | ||
| 166 | + } | ||
| 167 | + }) | ||
| 168 | + }, 2000); | ||
| 169 | + }) | ||
| 170 | + } | ||
| 171 | + | ||
| 172 | + }, | ||
| 173 | + } | ||
| 174 | + } | ||
| 133 | </script> | 175 | </script> |
| 134 | 176 | ||
| 135 | <style scoped lang="scss"> | 177 | <style scoped lang="scss"> |
| 136 | - .order-time { | ||
| 137 | - padding: 5px 0; | ||
| 138 | - background: #f0ad4e; | ||
| 139 | - text-align: center; | ||
| 140 | - color: #fff; | ||
| 141 | - } | ||
| 142 | - | ||
| 143 | - .order-title { | ||
| 144 | - font-size: 18px; | ||
| 145 | - margin-left: 16px; | ||
| 146 | - margin-top: 15px; | ||
| 147 | - font-weight: bold; | ||
| 148 | - color: #404040; | ||
| 149 | - } | ||
| 150 | - | ||
| 151 | - .order-info { | ||
| 152 | - font-size: 14px; | ||
| 153 | - margin-left: 15px; | ||
| 154 | - margin-top: 12px; | ||
| 155 | - color: #404040; | ||
| 156 | - } | ||
| 157 | - | ||
| 158 | - .order-line { | ||
| 159 | - background: #D9D9D9; | ||
| 160 | - height: 1px; | ||
| 161 | - margin-top: 12px; | ||
| 162 | - margin-left: 15px; | ||
| 163 | - padding: 0px; | ||
| 164 | - overflow: hidden; | ||
| 165 | - /* 透明度 */ | ||
| 166 | - opacity: 0.5; | ||
| 167 | - } | ||
| 168 | - | ||
| 169 | - .order-line-bold { | ||
| 170 | - background: #FAFAFA; | ||
| 171 | - height: 12px; | ||
| 172 | - margin-top: 12px; | ||
| 173 | - padding: 0px; | ||
| 174 | - overflow: hidden; | ||
| 175 | - } | ||
| 176 | - | ||
| 177 | - .flex-row-justify-between { | ||
| 178 | - display: flex; | ||
| 179 | - flex-direction: row; | ||
| 180 | - justify-content: space-between; | ||
| 181 | - } | ||
| 182 | - | ||
| 183 | - .flex-row-justify-end { | ||
| 184 | - display: flex; | ||
| 185 | - flex-direction: row; | ||
| 186 | - /* 水平对齐*/ | ||
| 187 | - align-items: baseline; | ||
| 188 | - | ||
| 189 | - } | ||
| 190 | - | ||
| 191 | - .order-discount { | ||
| 192 | - color: #C8C7CC; | ||
| 193 | - margin-right: 20 upx; | ||
| 194 | - /* margin-right: 12px ; */ | ||
| 195 | - /* margin-top:12px ; */ | ||
| 196 | - | ||
| 197 | - } | ||
| 198 | - | ||
| 199 | - .orderwaysview { | ||
| 200 | - display: flex; | ||
| 201 | - flex-direction: row; | ||
| 202 | - } | ||
| 203 | - | ||
| 204 | - .orderways { | ||
| 205 | - width: 18px; | ||
| 206 | - height: 18px; | ||
| 207 | - margin-left: 15px; | ||
| 208 | - margin-top: 14px; | ||
| 209 | - } | ||
| 210 | - | ||
| 211 | - .orderwaysSel { | ||
| 212 | - width: 16px; | ||
| 213 | - height: 16px; | ||
| 214 | - margin-left: auto; | ||
| 215 | - margin-right: 14px; | ||
| 216 | - margin-top: 14px; | ||
| 217 | - /* justify-content:flex-end; */ | ||
| 218 | - } | ||
| 219 | - | ||
| 220 | - .button-sp-area { | ||
| 221 | - margin: 0 auto; | ||
| 222 | - width: 60%; | ||
| 223 | - margin-top: 40px; | ||
| 224 | - | ||
| 225 | - } | 178 | + .order-time { |
| 179 | + padding: 5px 0; | ||
| 180 | + background: #f0ad4e; | ||
| 181 | + text-align: center; | ||
| 182 | + color: #fff; | ||
| 183 | + } | ||
| 184 | + | ||
| 185 | + .order-title { | ||
| 186 | + font-size: 18px; | ||
| 187 | + margin-left: 16px; | ||
| 188 | + margin-top: 15px; | ||
| 189 | + font-weight: bold; | ||
| 190 | + color: #404040; | ||
| 191 | + } | ||
| 192 | + | ||
| 193 | + .order-info { | ||
| 194 | + font-size: 14px; | ||
| 195 | + margin-left: 15px; | ||
| 196 | + margin-top: 12px; | ||
| 197 | + color: #404040; | ||
| 198 | + } | ||
| 199 | + | ||
| 200 | + .order-line { | ||
| 201 | + background: #D9D9D9; | ||
| 202 | + height: 1px; | ||
| 203 | + margin-top: 12px; | ||
| 204 | + margin-left: 15px; | ||
| 205 | + padding: 0px; | ||
| 206 | + overflow: hidden; | ||
| 207 | + /* 透明度 */ | ||
| 208 | + opacity: 0.5; | ||
| 209 | + } | ||
| 210 | + | ||
| 211 | + .order-line-bold { | ||
| 212 | + background: #FAFAFA; | ||
| 213 | + height: 12px; | ||
| 214 | + margin-top: 12px; | ||
| 215 | + padding: 0px; | ||
| 216 | + overflow: hidden; | ||
| 217 | + } | ||
| 218 | + | ||
| 219 | + .flex-row-justify-between { | ||
| 220 | + display: flex; | ||
| 221 | + flex-direction: row; | ||
| 222 | + justify-content: space-between; | ||
| 223 | + } | ||
| 224 | + | ||
| 225 | + .flex-row-justify-end { | ||
| 226 | + display: flex; | ||
| 227 | + flex-direction: row; | ||
| 228 | + /* 水平对齐*/ | ||
| 229 | + align-items: baseline; | ||
| 230 | + | ||
| 231 | + } | ||
| 232 | + | ||
| 233 | + .order-discount { | ||
| 234 | + color: #C8C7CC; | ||
| 235 | + margin-right: 20 upx; | ||
| 236 | + /* margin-right: 12px ; */ | ||
| 237 | + /* margin-top:12px ; */ | ||
| 238 | + | ||
| 239 | + } | ||
| 240 | + | ||
| 241 | + .orderwaysview { | ||
| 242 | + display: flex; | ||
| 243 | + flex-direction: row; | ||
| 244 | + } | ||
| 245 | + | ||
| 246 | + .orderways { | ||
| 247 | + width: 18px; | ||
| 248 | + height: 18px; | ||
| 249 | + margin-left: 15px; | ||
| 250 | + margin-top: 14px; | ||
| 251 | + } | ||
| 252 | + | ||
| 253 | + .orderwaysSel { | ||
| 254 | + width: 16px; | ||
| 255 | + height: 16px; | ||
| 256 | + margin-left: auto; | ||
| 257 | + margin-right: 14px; | ||
| 258 | + margin-top: 14px; | ||
| 259 | + /* justify-content:flex-end; */ | ||
| 260 | + } | ||
| 261 | + | ||
| 262 | + .button-sp-area { | ||
| 263 | + margin: 0 auto; | ||
| 264 | + width: 60%; | ||
| 265 | + margin-top: 40px; | ||
| 266 | + | ||
| 267 | + } | ||
| 268 | + | ||
| 269 | + .paywarp { | ||
| 270 | + top: 12px; | ||
| 271 | + right: 30px; | ||
| 272 | + font-size: 20px; | ||
| 273 | + height: 40px; | ||
| 274 | + line-height: 40px; | ||
| 275 | + } | ||
| 226 | </style> | 276 | </style> |
pages/parkRecordList/parkRecordList.vue
| 1 | <template> | 1 | <template> |
| 2 | - <view> | ||
| 3 | - <!--<view class="uni-title uni-common-pl">日期选择器</view>--> | 2 | + <view> |
| 3 | + <!--<view class="uni-title uni-common-pl">日期选择器</view>--> | ||
| 4 | + <uni-notice-bar scrollable backgroundColor="#f0ad4e" color="#fff" single :text="detailText | tranNull"> | ||
| 5 | + </uni-notice-bar> | ||
| 4 | 6 | ||
| 7 | + <view class="uni-list"> | ||
| 8 | + <view class="uni-list-cell"> | ||
| 9 | + <view class="uni-list-cell-left"> | ||
| 10 | + 开始时间 | ||
| 11 | + </view> | ||
| 12 | + <view class="uni-list-cell-db"> | ||
| 13 | + <picker mode="date" :value="startTime" :start="startDate" :end="endDate" | ||
| 14 | + @change="bindStartDateChange"> | ||
| 15 | + <view class="uni-input">{{startTime}}</view> | ||
| 16 | + </picker> | ||
| 17 | + </view> | ||
| 18 | + </view> | ||
| 5 | 19 | ||
| 6 | - <view class="uni-list"> | ||
| 7 | - <view class="uni-list-cell"> | ||
| 8 | - <view class="uni-list-cell-left"> | ||
| 9 | - 开始时间 | ||
| 10 | - </view> | ||
| 11 | - <view class="uni-list-cell-db"> | ||
| 12 | - <picker mode="date" :value="startTime" :start="startDate" :end="endDate" @change="bindStartDateChange"> | ||
| 13 | - <view class="uni-input">{{startTime}}</view> | ||
| 14 | - </picker> | ||
| 15 | - </view> | ||
| 16 | - </view> | 20 | + <view class="uni-list-cell"> |
| 21 | + <view class="uni-list-cell-left"> | ||
| 22 | + 结束时间 | ||
| 23 | + </view> | ||
| 24 | + <view class="uni-list-cell-db"> | ||
| 25 | + <picker mode="date" :value="endTime" :start="startDate" :end="endDate" @change="bindDateChange"> | ||
| 26 | + <view class="uni-input">{{endTime}}</view> | ||
| 27 | + </picker> | ||
| 28 | + </view> | ||
| 29 | + </view> | ||
| 30 | + </view> | ||
| 17 | 31 | ||
| 18 | - <view class="uni-list-cell"> | ||
| 19 | - <view class="uni-list-cell-left"> | ||
| 20 | - 结束时间 | ||
| 21 | - </view> | ||
| 22 | - <view class="uni-list-cell-db"> | ||
| 23 | - <picker mode="date" :value="endTime" :start="startDate" :end="endDate" @change="bindDateChange"> | ||
| 24 | - <view class="uni-input">{{endTime}}</view> | ||
| 25 | - </picker> | ||
| 26 | - </view> | ||
| 27 | - </view> | ||
| 28 | - </view> | 32 | + <view v-if="recordList.length>0"> |
| 33 | + <view class="parkRecordWrap" v-for="(i, index) in recordList" @click="toRecordDetail(i)"> | ||
| 34 | + <view> | ||
| 35 | + {{i.plName}} | ||
| 36 | + </view> | ||
| 37 | + <view class="recordCon"> | ||
| 38 | + <text>{{i.carNumber}}</text> | ||
| 39 | + <!--<text>{{i.parkOutTime}}</text>--> | ||
| 40 | + <uni-dateformat :date="i.parkOutTime" format="yyyy-MM-dd hh:mm:ss"></uni-dateformat> | ||
| 41 | + </view> | ||
| 42 | + <view class="recordCon"> | ||
| 43 | + <text>实收:{{ $common.moneyFormat(i.orderActFee) }}</text> | ||
| 44 | + <text>应收:{{ $common.moneyFormat(i.orderTotalFee) }}</text> | ||
| 45 | + </view> | ||
| 46 | + </view> | ||
| 29 | 47 | ||
| 30 | - <view v-if="recordList.length>0"> | ||
| 31 | - <view class="parkRecordWrap" v-for="(i, index) in recordList" @click="toRecordDetail(i)"> | ||
| 32 | - <view> | ||
| 33 | - {{i.plName}} | ||
| 34 | - </view> | ||
| 35 | - <view class="recordCon"> | ||
| 36 | - <text>{{i.carNumber}}</text> | ||
| 37 | - <!--<text>{{i.parkOutTime}}</text>--> | ||
| 38 | - <uni-dateformat :date="i.parkOutTime" format="yyyy-MM-dd hh:mm:ss"></uni-dateformat> | ||
| 39 | - </view> | ||
| 40 | - <view class="recordCon"> | ||
| 41 | - <text>实收:{{ $common.moneyFormat(i.orderTotalFee) }}</text> | ||
| 42 | - <text>应收:{{ $common.moneyFormat(i.orderActFee) }}</text> | ||
| 43 | - </view> | ||
| 44 | - </view> | 48 | + </view> |
| 45 | 49 | ||
| 46 | - </view> | ||
| 47 | 50 | ||
| 51 | + <view v-else> | ||
| 52 | + <image class="marginAuto" src="../../static/vipcard/novipcard.png" mode="aspectFit"></image> | ||
| 53 | + <view class="text-center"> | ||
| 54 | + 暂无停车记录 | ||
| 55 | + </view> | ||
| 48 | 56 | ||
| 49 | - <view v-else> | ||
| 50 | - <image class="marginAuto" src="../../static/vipcard/novipcard.png" mode="aspectFit"></image> | ||
| 51 | - <view class="text-center"> | ||
| 52 | - 暂无停车记录 | ||
| 53 | - </view> | 57 | + </view> |
| 54 | 58 | ||
| 55 | - </view> | ||
| 56 | 59 | ||
| 57 | - | ||
| 58 | - </view> | 60 | + </view> |
| 59 | </template> | 61 | </template> |
| 60 | 62 | ||
| 61 | <script> | 63 | <script> |
| 62 | -export default { | ||
| 63 | - data() { | ||
| 64 | - const currentDate = this.getDate({ | ||
| 65 | - format: true | ||
| 66 | - }) | ||
| 67 | - return { | ||
| 68 | - startTime:currentDate, | ||
| 69 | - endTime: currentDate, | ||
| 70 | - mycarNumber: '', | ||
| 71 | - userIsLogin: false, | ||
| 72 | - // shownoFlag: 0, | ||
| 73 | - recordList: [], | ||
| 74 | - } | ||
| 75 | - }, | ||
| 76 | - onLoad(params) { | ||
| 77 | - wx.showShareMenu({ | ||
| 78 | - withShareTicket: true | ||
| 79 | - }) | ||
| 80 | - console.log("params.record : " + params.record); | ||
| 81 | - this.getBusinessParkOrderByBusIdForPage() | ||
| 82 | - }, | ||
| 83 | - onShow() { | ||
| 84 | - var me = this; | ||
| 85 | - var userInfo = me.getGlobalUser("globalUser"); | ||
| 86 | - if (userInfo != null) { | ||
| 87 | - me.userIsLogin = true; | ||
| 88 | - } else { | ||
| 89 | - me.userIsLogin = false; | ||
| 90 | - } | ||
| 91 | - }, | ||
| 92 | - // 过滤器 | ||
| 93 | - filters: {}, | ||
| 94 | - //计算属性 | ||
| 95 | - computed: { | ||
| 96 | - startDate() { | ||
| 97 | - return this.getDate('start'); | ||
| 98 | - }, | ||
| 99 | - endDate() { | ||
| 100 | - return this.getDate('end'); | ||
| 101 | - } | ||
| 102 | - }, | ||
| 103 | - methods: { | ||
| 104 | - // 通过商户ID查询停车记录信息 | ||
| 105 | - getBusinessParkOrderByBusIdForPage() { | ||
| 106 | - let that = this | ||
| 107 | - let paramsData = { | ||
| 108 | - businessId: uni.getStorageSync("indexInfo").businessId, | ||
| 109 | - startTime: that.startTime, | ||
| 110 | - endTime: that.endTime | ||
| 111 | - } | ||
| 112 | - // 首页信息获取 接口 | ||
| 113 | - that.$myRequest({ | ||
| 114 | - url: that.$common.getBusinessParkOrderByBusIdForPage, | ||
| 115 | - method: 'POST', | ||
| 116 | - data: that.$common.requestSign(paramsData) | ||
| 117 | - }).then(res => { | ||
| 118 | - this.recordList = res.data.dataList | ||
| 119 | - }) | ||
| 120 | - }, | ||
| 121 | - toRecordDetail: function(i){ | ||
| 122 | - // console.log(orderId) | ||
| 123 | - uni.navigateTo({ | ||
| 124 | - url: '../parkRecordList/recordDetail?optionData='+JSON.stringify(i) | ||
| 125 | - }); | 64 | + export default { |
| 65 | + data() { | ||
| 66 | + const currentDate = this.getDate({ | ||
| 67 | + format: true | ||
| 68 | + }) | ||
| 69 | + return { | ||
| 70 | + detailText: '', | ||
| 71 | + startTime: currentDate, | ||
| 72 | + endTime: currentDate, | ||
| 73 | + mycarNumber: '', | ||
| 74 | + userIsLogin: false, | ||
| 75 | + // shownoFlag: 0, | ||
| 76 | + recordList: [], | ||
| 77 | + } | ||
| 78 | + }, | ||
| 79 | + onLoad(params) { | ||
| 80 | + wx.showShareMenu({ | ||
| 81 | + withShareTicket: true | ||
| 82 | + }) | ||
| 83 | + console.log("params.record : " + params.record); | ||
| 84 | + this.getCouponSummary(); | ||
| 85 | + this.getBusinessParkOrderByBusIdForPage() | ||
| 86 | + }, | ||
| 87 | + onShow() { | ||
| 88 | + var me = this; | ||
| 89 | + var userInfo = me.getGlobalUser("globalUser"); | ||
| 90 | + if (userInfo != null) { | ||
| 91 | + me.userIsLogin = true; | ||
| 92 | + } else { | ||
| 93 | + me.userIsLogin = false; | ||
| 94 | + } | ||
| 95 | + }, | ||
| 96 | + // 过滤器 | ||
| 97 | + filters: {}, | ||
| 98 | + //计算属性 | ||
| 99 | + computed: { | ||
| 100 | + startDate() { | ||
| 101 | + return this.getDate('start'); | ||
| 102 | + }, | ||
| 103 | + endDate() { | ||
| 104 | + return this.getDate('end'); | ||
| 105 | + } | ||
| 106 | + }, | ||
| 107 | + methods: { | ||
| 108 | + getCouponSummary() { | ||
| 109 | + let that = this; | ||
| 110 | + let data = { | ||
| 111 | + businessId: uni.getStorageSync("indexInfo").businessId, | ||
| 112 | + startTime: that.startTime, | ||
| 113 | + endTime: that.endTime | ||
| 114 | + }; | ||
| 115 | + console.log(data) | ||
| 116 | + that.$myRequest({ | ||
| 117 | + url: that.$common.parkingCouponSummary, | ||
| 118 | + method: 'POST', | ||
| 119 | + data: that.$common.requestSign(data) | ||
| 120 | + }).then(res => { | ||
| 121 | + | ||
| 122 | + let data = res.data; | ||
| 123 | + that.detailText = data.totalFeeSummary+' '+data.actFeeSummary+' '+data.dicountFeeSummary; | ||
| 124 | + | ||
| 125 | + }) | ||
| 126 | + | ||
| 127 | + }, | ||
| 128 | + // 通过商户ID查询停车记录信息 | ||
| 129 | + getBusinessParkOrderByBusIdForPage() { | ||
| 130 | + let that = this | ||
| 131 | + let paramsData = { | ||
| 132 | + businessId: uni.getStorageSync("indexInfo").businessId, | ||
| 133 | + startTime: that.startTime, | ||
| 134 | + endTime: that.endTime | ||
| 135 | + } | ||
| 136 | + // 首页信息获取 接口 | ||
| 137 | + that.$myRequest({ | ||
| 138 | + url: that.$common.getBusinessParkOrderByBusIdForPage, | ||
| 139 | + method: 'POST', | ||
| 140 | + data: that.$common.requestSign(paramsData) | ||
| 141 | + }).then(res => { | ||
| 142 | + this.recordList = res.data.dataList | ||
| 143 | + }) | ||
| 144 | + }, | ||
| 145 | + toRecordDetail: function(i) { | ||
| 146 | + // console.log(orderId) | ||
| 147 | + uni.navigateTo({ | ||
| 148 | + url: '../parkRecordList/recordDetail?optionData=' + JSON.stringify(i) | ||
| 149 | + }); | ||
| 126 | 150 | ||
| 127 | - }, | ||
| 128 | - bindStartDateChange: function (e) { | ||
| 129 | - this.startTime = e.detail.value | ||
| 130 | - this.getBusinessParkOrderByBusIdForPage() | ||
| 131 | - }, | ||
| 132 | - bindDateChange: function (e) { | ||
| 133 | - this.endTime = e.detail.value | ||
| 134 | - this.getBusinessParkOrderByBusIdForPage() | ||
| 135 | - }, | ||
| 136 | - getDate(type) { | ||
| 137 | - const date = new Date(); | ||
| 138 | - let year = date.getFullYear(); | ||
| 139 | - let month = date.getMonth() + 1; | ||
| 140 | - let day = date.getDate(); | ||
| 141 | - if (type === 'start') { | ||
| 142 | - year = year - 60; | ||
| 143 | - } else if (type === 'end') { | ||
| 144 | - year = year + 2; | ||
| 145 | - } | ||
| 146 | - month = month > 9 ? month : '0' + month; | ||
| 147 | - day = day > 9 ? day : '0' + day; | ||
| 148 | - return `${year}-${month}-${day}`; | ||
| 149 | - }, | ||
| 150 | - } | ||
| 151 | -} | 151 | + }, |
| 152 | + bindStartDateChange: function(e) { | ||
| 153 | + this.startTime = e.detail.value | ||
| 154 | + this.getCouponSummary(); | ||
| 155 | + this.getBusinessParkOrderByBusIdForPage() | ||
| 156 | + }, | ||
| 157 | + bindDateChange: function(e) { | ||
| 158 | + this.endTime = e.detail.value | ||
| 159 | + this.getCouponSummary(); | ||
| 160 | + this.getBusinessParkOrderByBusIdForPage() | ||
| 161 | + }, | ||
| 162 | + getDate(type) { | ||
| 163 | + const date = new Date(); | ||
| 164 | + let year = date.getFullYear(); | ||
| 165 | + let month = date.getMonth() + 1; | ||
| 166 | + let day = date.getDate(); | ||
| 167 | + if (type === 'start') { | ||
| 168 | + year = year - 60; | ||
| 169 | + } else if (type === 'end') { | ||
| 170 | + year = year + 2; | ||
| 171 | + } | ||
| 172 | + month = month > 9 ? month : '0' + month; | ||
| 173 | + day = day > 9 ? day : '0' + day; | ||
| 174 | + return `${year}-${month}-${day}`; | ||
| 175 | + }, | ||
| 176 | + } | ||
| 177 | + } | ||
| 152 | </script> | 178 | </script> |
| 153 | 179 | ||
| 154 | <style lang="scss" scoped> | 180 | <style lang="scss" scoped> |
| 155 | - .parkRecordWrap { | ||
| 156 | - padding: 5px 40px 5px 15px; | ||
| 157 | - border-bottom: 1px solid #ccc; | ||
| 158 | - position: relative; | ||
| 159 | - :after { | ||
| 160 | - content: '>'; | ||
| 161 | - position: absolute; | ||
| 162 | - top: 20px; | ||
| 163 | - right: 5px; | ||
| 164 | - font-size: 18px; | ||
| 165 | - } | ||
| 166 | - } | 181 | + .parkRecordWrap { |
| 182 | + padding: 5px 40px 5px 15px; | ||
| 183 | + border-bottom: 1px solid #ccc; | ||
| 184 | + position: relative; | ||
| 185 | + | ||
| 186 | + :after { | ||
| 187 | + content: '>'; | ||
| 188 | + position: absolute; | ||
| 189 | + top: 20px; | ||
| 190 | + right: 5px; | ||
| 191 | + font-size: 18px; | ||
| 192 | + } | ||
| 193 | + } | ||
| 167 | 194 | ||
| 168 | - .recordCon { | ||
| 169 | - color: #999; | ||
| 170 | - display: flex; | ||
| 171 | - justify-content: space-between; | ||
| 172 | - } | 195 | + .recordCon { |
| 196 | + color: #999; | ||
| 197 | + display: flex; | ||
| 198 | + justify-content: space-between; | ||
| 199 | + } | ||
| 173 | </style> | 200 | </style> |
pages/rechargeDetail/outDetail.vue
| 1 | <template> | 1 | <template> |
| 2 | <view> | 2 | <view> |
| 3 | <view style="height: 100px;line-height: 100px;" class="uni-center"> | 3 | <view style="height: 100px;line-height: 100px;" class="uni-center"> |
| 4 | - <text style="font-size: 32px;font-weight: 500;">{{changeFeeDetail}}</text> | 4 | + <text style="font-size: 32px;font-weight: 500;">{{changeFeeDetail}}元</text> |
| 5 | </view> | 5 | </view> |
| 6 | <view class="border-bg"></view> | 6 | <view class="border-bg"></view> |
| 7 | 7 | ||
| @@ -38,6 +38,42 @@ | @@ -38,6 +38,42 @@ | ||
| 38 | {{typeName | tranNull}} | 38 | {{typeName | tranNull}} |
| 39 | </view> | 39 | </view> |
| 40 | </view> | 40 | </view> |
| 41 | + <!-- 支出 支付停车费 sta --> | ||
| 42 | + <view class="" v-if="parkIsShow"> | ||
| 43 | + <view class="uni-list-cell paddingTopBottom"> | ||
| 44 | + <view class="uni-list-cell-left"> | ||
| 45 | + 车场名称 | ||
| 46 | + </view> | ||
| 47 | + <view class="uni-list-cell-db"> | ||
| 48 | + {{plName | tranNull}} | ||
| 49 | + </view> | ||
| 50 | + </view> | ||
| 51 | + <view class="uni-list-cell paddingTopBottom"> | ||
| 52 | + <view class="uni-list-cell-left"> | ||
| 53 | + 车牌号码 | ||
| 54 | + </view> | ||
| 55 | + <view class="uni-list-cell-db"> | ||
| 56 | + {{carNumber | tranNull}} | ||
| 57 | + </view> | ||
| 58 | + </view> | ||
| 59 | + <view class="uni-list-cell paddingTopBottom"> | ||
| 60 | + <view class="uni-list-cell-left"> | ||
| 61 | + 入场时间 | ||
| 62 | + </view> | ||
| 63 | + <view class="uni-list-cell-db"> | ||
| 64 | + {{parkInTime | formatDateYMD}} | ||
| 65 | + </view> | ||
| 66 | + </view> | ||
| 67 | + <view class="uni-list-cell paddingTopBottom"> | ||
| 68 | + <view class="uni-list-cell-left"> | ||
| 69 | + 出场时间 | ||
| 70 | + </view> | ||
| 71 | + <view class="uni-list-cell-db"> | ||
| 72 | + {{parkOutTime | formatDateYMD}} | ||
| 73 | + </view> | ||
| 74 | + </view> | ||
| 75 | + </view> | ||
| 76 | + <!-- 支出 购买卡券 sta --> | ||
| 41 | <view class="" v-if="cardIsShow"> | 77 | <view class="" v-if="cardIsShow"> |
| 42 | <view class="uni-list-cell paddingTopBottom"> | 78 | <view class="uni-list-cell paddingTopBottom"> |
| 43 | <view class="uni-list-cell-left"> | 79 | <view class="uni-list-cell-left"> |
| @@ -81,9 +117,14 @@ | @@ -81,9 +117,14 @@ | ||
| 81 | typeName: '', | 117 | typeName: '', |
| 82 | payType: '商户余额', | 118 | payType: '商户余额', |
| 83 | cardRuleName: '', | 119 | cardRuleName: '', |
| 120 | + plName: '', | ||
| 121 | + carNumber: '', | ||
| 122 | + parkInTime: '', | ||
| 123 | + parkOutTime: '', | ||
| 84 | cardType: '', | 124 | cardType: '', |
| 85 | cardNum: '', | 125 | cardNum: '', |
| 86 | cardIsShow: false, | 126 | cardIsShow: false, |
| 127 | + parkIsShow: false, | ||
| 87 | } | 128 | } |
| 88 | }, | 129 | }, |
| 89 | onLoad(params) { | 130 | onLoad(params) { |
| @@ -101,8 +142,12 @@ | @@ -101,8 +142,12 @@ | ||
| 101 | if (option.typeName == "购买卡券") { | 142 | if (option.typeName == "购买卡券") { |
| 102 | this.cardIsShow = true; | 143 | this.cardIsShow = true; |
| 103 | this.getCouponInfo(); | 144 | this.getCouponInfo(); |
| 145 | + } else if (option.typeName == "支付停车费") { | ||
| 146 | + this.parkIsShow = true; | ||
| 147 | + this.getParkingInfo(); | ||
| 104 | } else { | 148 | } else { |
| 105 | this.cardIsShow = false; | 149 | this.cardIsShow = false; |
| 150 | + this.parkIsShow = false; | ||
| 106 | } | 151 | } |
| 107 | }, | 152 | }, |
| 108 | onShow() { | 153 | onShow() { |
| @@ -173,6 +218,24 @@ | @@ -173,6 +218,24 @@ | ||
| 173 | that.cardNum = res.data.buyNum | 218 | that.cardNum = res.data.buyNum |
| 174 | }) | 219 | }) |
| 175 | }, | 220 | }, |
| 221 | + getParkingInfo() { | ||
| 222 | + let that = this | ||
| 223 | + let paramsData = { | ||
| 224 | + orderId: that.orderId | ||
| 225 | + } | ||
| 226 | + that.$myRequest({ | ||
| 227 | + url: that.$common.getParkingInfoByOrderId, | ||
| 228 | + method: 'POST', | ||
| 229 | + data: that.$common.requestSign(paramsData) | ||
| 230 | + }).then(res => { | ||
| 231 | + console.log(res) | ||
| 232 | + | ||
| 233 | + that.plName = res.data.plName | ||
| 234 | + that.carNumber = res.data.carNumber | ||
| 235 | + that.parkInTime = res.data.parkInTime | ||
| 236 | + that.parkOutTime = res.data.parkOutTime | ||
| 237 | + }) | ||
| 238 | + }, | ||
| 176 | } | 239 | } |
| 177 | } | 240 | } |
| 178 | </script> | 241 | </script> |
pages/rechargeDetail/rechargeDetail.vue
| @@ -76,7 +76,7 @@ | @@ -76,7 +76,7 @@ | ||
| 76 | <uni-list class="rechargeWrap pos-rel" clickable v-for="(item, index) in orderList" :key="index" > | 76 | <uni-list class="rechargeWrap pos-rel" clickable v-for="(item, index) in orderList" :key="index" > |
| 77 | <view class="" @click="toOutDetail(item)"> | 77 | <view class="" @click="toOutDetail(item)"> |
| 78 | <view class="recordCon uni-list-cell-pd"> | 78 | <view class="recordCon uni-list-cell-pd"> |
| 79 | - <text class="color-black">{{item.changeFeeDetail}}</text> | 79 | + <text class="color-black">{{item.changeFeeDetail}}元 {{item.carNumber | tranStrNull}}</text> |
| 80 | <text>{{item.payStateDesc}}</text> | 80 | <text>{{item.payStateDesc}}</text> |
| 81 | </view> | 81 | </view> |
| 82 | <view class="recordCon uni-list-cell-pd"> | 82 | <view class="recordCon uni-list-cell-pd"> |