199 lines
3.9 KiB
Vue
199 lines
3.9 KiB
Vue
<template>
|
||
<view>
|
||
<view class="block">
|
||
<view class="content">
|
||
<view class="orderinfo">
|
||
<view class="row">
|
||
<view class="nominal">订单名称:</view><view class="text">{{orderName}}</view>
|
||
</view>
|
||
<view class="row">
|
||
<view class="nominal">订单金额:</view><view class="text">{{amount}}元</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="block">
|
||
<view class="title">
|
||
选择支付方式
|
||
</view>
|
||
<view class="content">
|
||
<view class="pay-list">
|
||
<view class="row" @tap="paytype='alipay'">
|
||
<view class="left">
|
||
<image src="/static/img/alipay.png"></image>
|
||
</view>
|
||
<view class="center">
|
||
支付宝支付
|
||
</view>
|
||
<view class="right">
|
||
<radio :checked="paytype=='alipay'" color="#f06c7a" />
|
||
</view>
|
||
</view>
|
||
<view class="row" @tap="paytype='wxpay'">
|
||
<view class="left">
|
||
<image src="/static/img/wxpay.png"></image>
|
||
</view>
|
||
<view class="center">
|
||
微信支付
|
||
</view>
|
||
<view class="right">
|
||
<radio :checked="paytype=='wxpay'" color="#f06c7a" />
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="pay">
|
||
<view class="btn" @tap="doDeposit">立即支付</view>
|
||
<view class="tis">
|
||
点击立即支付,即代表您同意<view class="terms">
|
||
《条款协议》
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
export default {
|
||
data() {
|
||
return {
|
||
amount:0,
|
||
orderName:'',
|
||
paytype:'alipay'//支付类型
|
||
};
|
||
},
|
||
onLoad(e) {
|
||
this.amount = parseFloat(e.amount).toFixed(2);
|
||
uni.getStorage({
|
||
key:'paymentOrder',
|
||
success: (e) => {
|
||
if(e.data.length>1){
|
||
this.orderName = '多商品合并支付'
|
||
}else{
|
||
this.orderName = e.data[0].name;
|
||
}
|
||
uni.removeStorage({
|
||
key:'paymentOrder'
|
||
})
|
||
}
|
||
})
|
||
},
|
||
methods:{
|
||
doDeposit(){
|
||
//模板模拟支付,实际应用请调起微信/支付宝
|
||
uni.showLoading({
|
||
title:'支付中...'
|
||
});
|
||
setTimeout(()=>{
|
||
uni.hideLoading();
|
||
uni.showToast({
|
||
title:'支付成功'
|
||
});
|
||
setTimeout(()=>{
|
||
uni.redirectTo({
|
||
url:'../../pay/success/success?amount='+this.amount
|
||
});
|
||
},300);
|
||
},700)
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
.block{
|
||
width: 94%;
|
||
padding: 0 3% 40upx 3%;
|
||
.title{
|
||
width: 100%;
|
||
font-size: 34upx;
|
||
}
|
||
.content{
|
||
.orderinfo{
|
||
width: 100%;
|
||
border-bottom: solid 1upx #eee;
|
||
.row{
|
||
width: 100%;
|
||
height: 90upx;
|
||
display: flex;
|
||
align-items: center;
|
||
.nominal{
|
||
flex-shrink: 0;
|
||
font-size: 32upx;
|
||
color: #7d7d7d;
|
||
}
|
||
.text{
|
||
width: 70%;
|
||
margin-left: 10upx;
|
||
overflow: hidden;
|
||
text-overflow:ellipsis;
|
||
white-space: nowrap;
|
||
font-size: 32upx;
|
||
}
|
||
}
|
||
}
|
||
.pay-list{
|
||
width: 100%;
|
||
border-bottom: solid 1upx #eee;
|
||
.row{
|
||
width: 100%;
|
||
height: 120upx;
|
||
display: flex;
|
||
align-items: center;
|
||
.left{
|
||
width: 100upx;
|
||
flex-shrink: 0;
|
||
display: flex;
|
||
align-items: center;
|
||
image{
|
||
width: 80upx;
|
||
height: 80upx;
|
||
}
|
||
}
|
||
.center{
|
||
width: 100%;
|
||
font-size: 30upx;
|
||
}
|
||
.right{
|
||
width: 100upx;
|
||
flex-shrink: 0;
|
||
display: flex;
|
||
justify-content: flex-end;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
.pay{
|
||
margin-top: 20upx;
|
||
width: 100%;
|
||
display: flex;
|
||
justify-content: center;
|
||
flex-wrap: wrap;
|
||
.btn{
|
||
width: 70%;
|
||
height: 80upx;
|
||
border-radius: 80upx;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
color: #fff;
|
||
background-color: #f06c7a;
|
||
box-shadow: 0upx 5upx 10upx rgba(0,0,0,0.2);
|
||
}
|
||
.tis{
|
||
margin-top: 10upx;
|
||
width: 100%;
|
||
font-size: 24upx;
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: baseline;
|
||
color: #999;
|
||
.terms{
|
||
color: #5a9ef7;
|
||
}
|
||
}
|
||
}
|
||
</style>
|