shuinishop/pages/user/deposit/deposit.vue

256 lines
5.2 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view>
<view class="block">
<view class="title">
我的账户
</view>
<view class="content">
<view class="my">
我的账户余额0
</view>
</view>
</view>
<view class="block">
<view class="title">
充值金额
</view>
<view class="content">
<view class="amount">
<view class="list">
<view class="box" v-for="(amount,index) in amountList" :key="index" @tap="select(amount)" :class="{'on':amount == inputAmount}">
{{amount}}元
</view>
</view>
<view class="num">
<view class="text">
自定义充值金额
</view>
<view class="input">
<input type="number" v-model="inputAmount" />
</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 {
inputAmount:'',//金额
amountList:[10,50,100],//预设3个可选快捷金额
paytype:'alipay'//支付类型
};
},
methods:{
select(amount){
this.inputAmount = amount;
},
doDeposit(){
if (parseFloat(this.inputAmount).toString() == "NaN") {
uni.showToast({title:'请输入正确金额',icon:'none'});
return ;
}
if(this.inputAmount<=0){
uni.showToast({title:'请输入大于0的金额',icon:'none'});
return ;
}
if(parseFloat(this.inputAmount).toFixed(2)!=parseFloat(this.inputAmount)){
uni.showToast({title:'最多只能输入两位小数哦~',icon:'none'});
return ;
}
//模板模拟支付,实际应用请调起微信/支付宝
uni.showLoading({
title:'支付中...'
});
setTimeout(()=>{
uni.hideLoading();
uni.showToast({
title:'支付成功'
});
setTimeout(()=>{
uni.redirectTo({
url:'../../pay/success/success?amount='+this.inputAmount
});
},300);
},700)
}
},
onLoad() {
},
}
</script>
<style lang="scss">
.block{
width: 94%;
padding: 20upx 3%;
.title{
width: 100%;
font-size: 34upx;
}
.content{
.my{
width: 100%;
height: 120upx;
display: flex;
align-items: center;
font-size: 30upx;
border-bottom: solid 1upx #eee;
}
.amount{
width: 100%;
.list{
display: flex;
justify-content: space-between;
padding: 20upx 0;
.box{
width: 30%;
height: 120upx;
display: flex;
justify-content: center;
align-items: center;
border-radius: 10upx;
box-shadow: 0upx 5upx 20upx rgba(0,0,0,0.05);
font-size: 36upx;
background-color: #f1f1f1;
color: 333;
&.on{
background-color: #f06c7a;
color: #fff;
}
}
}
.num{
margin-top: 10upx;
display: flex;
justify-content: flex-end;
align-items: center;
.text{
padding-right: 10upx;
font-size: 30upx;
}
.input{
width: 28.2vw;
border-bottom: solid 2upx #999;
justify-content: flex-end;
align-items: center;
input{
margin: 0 20upx;
height: 60upx;
font-size: 30upx;
color: #f06c7a;
justify-content: flex-end;
align-items: center;
}
}
}
}
.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>