parent
9cf373031f
commit
2da5869dd6
@ -0,0 +1,234 @@ |
|||||||
|
<template> |
||||||
|
<view class="pay"> |
||||||
|
<view class="pay-hd"> |
||||||
|
<view class="a">订单号:<text>{{order_id}}</text></view> |
||||||
|
<view class="a">支付价格:<text>¥{{orderInfo.pay_price}}</text>元</view> |
||||||
|
</view> |
||||||
|
<view class="pay-bd"> |
||||||
|
<view class="title">选择支付方式</view> |
||||||
|
<view class="item" v-for="(a,i) in list2" @click="tabItem(i)"> |
||||||
|
<image v-if="tabIndex == i" src="@/static/invoice/select-on.png"></image> |
||||||
|
<image v-else src="@/static/invoice/select.png"></image> |
||||||
|
{{a.method == 'wechat'?'微信支付':'余额支付'}}<text v-if="a.method == 'balance'">(余额:{{userInfo.balance}})</text> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
<view class="pay-btn" @click="clickPay()">确认支付</view> |
||||||
|
</view> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import { Wechat } from '@/core/payment' |
||||||
|
import * as newFunApi from '@/api/newFun' |
||||||
|
export default { |
||||||
|
data() { |
||||||
|
return { |
||||||
|
tabIndex: 0, |
||||||
|
type: "", |
||||||
|
order_id: "", |
||||||
|
userInfo: {}, |
||||||
|
list2: [], |
||||||
|
orderInfo: {}, |
||||||
|
isClick: true, |
||||||
|
}; |
||||||
|
}, |
||||||
|
onLoad(o) { |
||||||
|
console.log(o) |
||||||
|
this.order_id = o.order_id; |
||||||
|
this.type = o.type; |
||||||
|
this.toServerOrder(); |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
clickPay(){ |
||||||
|
if(this.isClick == false){ |
||||||
|
return; |
||||||
|
} |
||||||
|
this.isClick = false; |
||||||
|
if(this.list2[this.tabIndex].method == "balance"){ |
||||||
|
if(Number(this.orderInfo.pay_price) <= Number(this.userInfo.balance)){ |
||||||
|
this.toPay() |
||||||
|
}else{ |
||||||
|
this.isClick = true; |
||||||
|
uni.showToast({ |
||||||
|
icon: "none", |
||||||
|
title: "余额不足,请选择其他支付方式" |
||||||
|
}) |
||||||
|
} |
||||||
|
}else if(this.list2[this.tabIndex].method == "wechat"){ |
||||||
|
this.toPay1() |
||||||
|
} |
||||||
|
}, |
||||||
|
//创建支付方式信息 |
||||||
|
async toServerOrder(order_id) { |
||||||
|
let {status, data, message } = await newFunApi.serverOrderInfo({ |
||||||
|
client: 'MP-WEIXIN', |
||||||
|
order_id: this.order_id |
||||||
|
}) |
||||||
|
if(status == 200){ |
||||||
|
this.userInfo = data.personal |
||||||
|
this.orderInfo = data.order |
||||||
|
this.list2 = data.paymentMethods; |
||||||
|
console.log(data) |
||||||
|
console.log(this.orderInfo) |
||||||
|
console.log(this.list2) |
||||||
|
console.log(this.userInfo) |
||||||
|
}else{ |
||||||
|
uni.showToast({ |
||||||
|
icon: "none", |
||||||
|
title: message |
||||||
|
}) |
||||||
|
} |
||||||
|
}, |
||||||
|
async toPay1() { |
||||||
|
const that = this; |
||||||
|
const {status, data } = await newFunApi.serverOrderPay({ |
||||||
|
order_id: this.order_id, |
||||||
|
method: 'wechat', |
||||||
|
client: "MP-WEIXIN", |
||||||
|
}) |
||||||
|
if(status == 200) { |
||||||
|
Wechat.payment(data.payment) |
||||||
|
.then((result) => { |
||||||
|
console.log(22,result) |
||||||
|
uni.showToast({ |
||||||
|
title: "支付成功" |
||||||
|
}) |
||||||
|
this.isClick = true; |
||||||
|
setTimeout(()=>{ |
||||||
|
if(that.type == 'fuwu'){ |
||||||
|
uni.redirectTo({ |
||||||
|
url: "/pages/news/recycling/orderList" |
||||||
|
}) |
||||||
|
}else if(that.type == 'fuwuorder'){ |
||||||
|
uni.navigateBack({ |
||||||
|
delta:1 |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
},1000) |
||||||
|
}) |
||||||
|
.catch(err => { |
||||||
|
uni.showToast({ |
||||||
|
title: "支付失败" |
||||||
|
}) |
||||||
|
this.isClick = true; |
||||||
|
setTimeout(()=>{ |
||||||
|
if(that.type == 'fuwu'){ |
||||||
|
uni.redirectTo({ |
||||||
|
url: "/pages/news/recycling/orderList" |
||||||
|
}) |
||||||
|
}else if(that.type == 'fuwuorder'){ |
||||||
|
uni.navigateBack({ |
||||||
|
delta:1 |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
},1000) |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
}, |
||||||
|
//去支付 余额支付 |
||||||
|
async toPay() { |
||||||
|
const that = this; |
||||||
|
const {status, message} = await newFunApi.serverOrderPay({ |
||||||
|
order_id: this.order_id, |
||||||
|
method: 'balance', |
||||||
|
client: "MP-WEIXIN", |
||||||
|
}) |
||||||
|
if(status == 200) { |
||||||
|
uni.showToast({ |
||||||
|
title: "支付成功" |
||||||
|
}) |
||||||
|
this.isClick = true; |
||||||
|
setTimeout(()=>{ |
||||||
|
if(that.type == 'fuwu'){ |
||||||
|
uni.redirectTo({ |
||||||
|
url: "/pages/news/recycling/orderList" |
||||||
|
}) |
||||||
|
}else if(that.type == 'fuwuorder'){ |
||||||
|
uni.navigateBack({ |
||||||
|
delta:1 |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
},1000) |
||||||
|
}else{ |
||||||
|
this.isClick = true; |
||||||
|
uni.showToast({ |
||||||
|
icon: "none", |
||||||
|
title: message |
||||||
|
}) |
||||||
|
} |
||||||
|
}, |
||||||
|
tabItem(i){ |
||||||
|
this.tabIndex = i |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" scoped> |
||||||
|
.pay{ |
||||||
|
overflow: hidden; |
||||||
|
&-hd{ |
||||||
|
width: 710rpx; |
||||||
|
padding: 0 20rpx; |
||||||
|
box-sizing: border-box; |
||||||
|
background-color: #fff; |
||||||
|
margin: 0 auto; |
||||||
|
margin-top: 20rpx; |
||||||
|
.a{ |
||||||
|
padding: 20rpx 0; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
font-size: 28rpx; |
||||||
|
color: #666; |
||||||
|
text{ |
||||||
|
margin-left: 20rpx; |
||||||
|
color: #212121; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
&-bd{ |
||||||
|
width: 710rpx; |
||||||
|
padding: 0 20rpx; |
||||||
|
box-sizing: border-box; |
||||||
|
background-color: #fff; |
||||||
|
margin: 0 auto; |
||||||
|
margin-top: 20rpx; |
||||||
|
.title{ |
||||||
|
padding: 30rpx 0; |
||||||
|
font-size: 30rpx; |
||||||
|
} |
||||||
|
.item{ |
||||||
|
padding: 20rpx 0; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
font-size: 28rpx; |
||||||
|
color: #212121; |
||||||
|
image{ |
||||||
|
width: 30rpx; |
||||||
|
height: 30rpx; |
||||||
|
margin-right: 20rpx; |
||||||
|
} |
||||||
|
text{ |
||||||
|
margin-left: 20rpx; |
||||||
|
color: #666; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
&-btn{ |
||||||
|
width: 710rpx; |
||||||
|
padding: 0 20rpx; |
||||||
|
line-height: 80rpx; |
||||||
|
box-sizing: border-box; |
||||||
|
background-color: #ff3939; |
||||||
|
margin: 0 auto; |
||||||
|
margin-top: 160rpx; |
||||||
|
text-align: center; |
||||||
|
font-size: 36rpx; |
||||||
|
color: #fff; |
||||||
|
border-radius: 20rpx; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
Loading…
Reference in new issue