<!-- 充值界面 -->
|
|
<template>
|
|
<view class="purse bx">
|
|
<navbar :leftClick="leftClick" :title="$t('page.purse.recharge')"></navbar>
|
|
|
|
<!-- 用户余额信息 -->
|
|
<view class="user-money content">
|
|
<view class="title">{{ $t('page.purse.account') }}</view>
|
|
<view class="money">
|
|
<view class="money-unit">{{ $t('page.purse.unit') }}</view>
|
|
<view class="money-detail">{{ money }}</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 充值方案列表 -->
|
|
<view class="recharge-list content">
|
|
<view @click="selectRecharge(index)" v-for="(item,index) in rechargeList" :key="item.id" class="recharge-item" :class="{ selectRecharge : index === active}">
|
|
<view class="money">{{ item.price }}</view>
|
|
<view class="unit">{{ $t('page.purse.unit') }}</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 输入框 -->
|
|
<view class="input content">
|
|
<input @input="moneyChange" v-model="form.money" class="input content" type="number" :placeholder="$t('page.purse.deposit-now')" />
|
|
</view>
|
|
<view class="input content">
|
|
<input v-model="form.payPass" class="input content" type="text" :placeholder="$t('page.purse.security-pin')" />
|
|
</view>
|
|
|
|
<!-- 按钮 -->
|
|
<view @click="recharge" class="btn content">{{ $t('page.purse.deposit-now') }}</view>
|
|
|
|
<!-- 客服列表 -->
|
|
<serviceList :show="showService" :serverList="serverList" @close="closeServiceList"></serviceList>
|
|
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import navbar from '@/components/base/m-navbar.vue'
|
|
import serviceList from '@/components/serviceList/serviceList.vue';
|
|
|
|
export default {
|
|
components: {
|
|
navbar,
|
|
serviceList
|
|
},
|
|
data() {
|
|
return {
|
|
rechargeList : [],
|
|
active : 0,
|
|
money : '',
|
|
form : {
|
|
money : '',
|
|
payPass : '',
|
|
id : ''
|
|
},
|
|
serverList : [],
|
|
showService : false
|
|
}
|
|
},
|
|
onShow() {
|
|
this.getUserInfo()
|
|
this.getTopUpScheme()
|
|
this.forgetPass()
|
|
},
|
|
methods: {
|
|
leftClick() {
|
|
uni.navigateTo({
|
|
url: '/pages/home/home'
|
|
})
|
|
},
|
|
|
|
//选择充值方案
|
|
selectRecharge(index){
|
|
this.$play()
|
|
this.active = index
|
|
this.form.money = this.rechargeList[index].price
|
|
this.form.id = this.rechargeList[index].id
|
|
},
|
|
|
|
//获取用户信息
|
|
getUserInfo(){
|
|
this.request('userInfo').then(res => {
|
|
if(res.code == 200){
|
|
this.money = res.result.userInfo.money
|
|
}
|
|
})
|
|
},
|
|
|
|
//获取充值方案
|
|
getTopUpScheme(){
|
|
this.request('shopNo').then(res => {
|
|
if(res.code == 200){
|
|
this.rechargeList = res.result
|
|
this.form.money = res.result[0].price; //默认选中第一个
|
|
}
|
|
})
|
|
},
|
|
|
|
//充值
|
|
recharge(){
|
|
this.$play()
|
|
let { money , payPass } = this.form
|
|
if(!money){
|
|
return uni.$u.toast(this.$t('page.purse.moneyEmpty'))
|
|
}
|
|
if(money <= 0){
|
|
return uni.$u.toast(this.$t('page.purse.AmountThan0'))
|
|
}
|
|
if(payPass.trim() == ''){
|
|
return uni.$u.toast(this.$t('page.purse.payPassEmpty'))
|
|
}
|
|
this.request('recharge',{},this.form).then(res => {
|
|
if(res.code == 200){
|
|
uni.$u.toast(this.$t('page.purse.success'))
|
|
this.cleanForm()
|
|
this.revealServiceList()
|
|
this.getUserInfo() //刷新用户信息(更新用户余额)
|
|
}
|
|
})
|
|
},
|
|
|
|
//用户手动填写充值金额
|
|
moneyChange(e){
|
|
this.active = ''
|
|
let inputValue= e.detail.value;
|
|
this.rechargeList.forEach((recharge,index) => {
|
|
if(parseInt(recharge.price) == inputValue){
|
|
this.active = index
|
|
}
|
|
})
|
|
},
|
|
|
|
//显示客服列表
|
|
revealServiceList(){
|
|
this.$play()
|
|
this.showService = true;
|
|
},
|
|
|
|
//关闭客服列表
|
|
closeServiceList(){
|
|
this.showService = false;
|
|
},
|
|
|
|
//忘记密码(获取客服列表)
|
|
forgetPass(){
|
|
this.request('forgetPass').then(res => {
|
|
if(res.code == 200){
|
|
this.serverList = res.result
|
|
}
|
|
})
|
|
},
|
|
|
|
//清空表单数据
|
|
cleanForm(){
|
|
this.form = {}
|
|
}
|
|
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.purse {
|
|
width: 750rpx;
|
|
min-height: 100vh;
|
|
background-color: black;
|
|
margin: 0 auto;
|
|
background-image: url('@/static/pruse/bg.png');
|
|
background-size: 100%;
|
|
background-repeat: no-repeat;
|
|
|
|
.content {
|
|
width: 96%;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.user-money {
|
|
background: rgba(176, 199, 59, .8);
|
|
margin: 20rpx auto 30rpx auto;
|
|
border: 4rpx solid #D3EA5E;
|
|
padding: 60rpx 0rpx;
|
|
font-size: 36rpx;
|
|
|
|
.title,
|
|
.money {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 60rpx;
|
|
|
|
.money-unit {
|
|
margin-right: 15rpx;
|
|
font-size: 28rpx;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.money-detail{
|
|
font-size: 50rpx;
|
|
font-weight: bold;
|
|
}
|
|
}
|
|
}
|
|
|
|
.recharge-list {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
flex-wrap: wrap;
|
|
color: #B0C73B;
|
|
|
|
.recharge-item {
|
|
box-sizing: border-box;
|
|
width: calc(50% - 7rpx);
|
|
border: 1px solid #636363;
|
|
text-align: center;
|
|
margin-bottom: 20rpx;
|
|
|
|
.money , .unit{
|
|
height: 60rpx;
|
|
line-height: 60rpx;
|
|
}
|
|
|
|
.money{
|
|
font-size: 44rpx;
|
|
}
|
|
|
|
.unit{
|
|
font-size: 28rpx;
|
|
}
|
|
}
|
|
|
|
.selectRecharge{
|
|
color: white;
|
|
border: 1px solid #D3EA5E;
|
|
background: rgba(176, 199, 59, .8);
|
|
}
|
|
}
|
|
|
|
.input{
|
|
margin: 30rpx auto;
|
|
|
|
input{
|
|
border: 1px solid #B0C73B;
|
|
height: 80rpx;
|
|
font-size: 34rpx;
|
|
color: #B0C73B;
|
|
text-indent: 15rpx;
|
|
border-radius: 10rpx;
|
|
}
|
|
}
|
|
|
|
.btn{
|
|
height: 90rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: #B0C73B;
|
|
border-radius: 10rpx;
|
|
font-size: 40rpx;
|
|
font-weight: bold;
|
|
}
|
|
}
|
|
</style>
|