珠宝小程序前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

201 lines
3.6 KiB

<template>
<view class="page">
<navbar title="充值"
bgColor="#A3D250"
color="#fff"
leftClick
@leftClick="$utils.navigateBack" />
<view class="bg"/>
<view class="price">
<view class="title">
请输入充值金额
</view>
<view class="input-box">
<view class="input">
<input type="text" v-model="form.money"/>
</view>
</view>
<view class="num">
余额:{{ riceInfo.balance || 0 }}
</view>
</view>
<view class="cell">
<view class="cell-top">充值说明</view>
<view style="padding: 0 20rpx 20rpx 20rpx;">
<uv-parse :content="configList.recharge_instructions"></uv-parse>
</view>
</view>
<view class="uni-color-btn"
@click="submit">
充值
</view>
<!-- <view class="cell">
<view class="cell-top">提现记录</view>
<view class="cell-box"
:key="index"
v-for="(item,index) in list">
<uv-cell-group>
<uv-cell
:title="item.title"
:label="item.createTime"
:center="true">
<template #value>
<view class="cell-text">
<view class="price-text">-19.9</view>
<view class="tips">已到账</view>
</view>
</template>
</uv-cell>
</uv-cell-group>
</view>
</view> -->
</view>
</template>
<script>
import mixinsList from '@/mixins/list.js'
import { mapState } from 'vuex'
export default {
mixins : [mixinsList],
data() {
return {
// mixinsListApi : 'getWaterPageList',
list : [],
type : ['-', '+'],
form : {
money : 0,
},
}
},
computed: {
...mapState(['userInfo', 'riceInfo']),
},
onShow() {
this.$store.commit('getUserInfo')
this.$store.commit('getRiceInfo')
},
methods: {
submit(){
if(this.$utils.verificationAll(this.form, {
money : '请输入金额'
})){
return
}
if(this.form.money <= 0){
uni.showToast({
title: '输入金额必须大于0',
icon: 'none'
})
return
}
this.$api('recharge', res => {
if(res.code == 200){
uni.showToast({
title: '充值成功',
icon : 'none'
})
this.form.money = 0
setTimeout(uni.navigateBack, 800, -1)
}
})
},
}
}
</script>
<style scoped lang="scss">
.page{
.bg{
background-color: $uni-color;
height: 380rpx;
position: absolute;
left: 0;
width: 100%;
z-index: -1;
border-bottom-left-radius: 30rpx;
border-bottom-right-radius: 30rpx;
}
.price{
color: #FFFFFF;
padding: 40rpx;
.title{
color: #eee;
font-size: 28rpx;
}
.input-box{
background-color: #FFFFFF;
color: $uni-color;
display: flex;
justify-content: center;
border-radius: 30rpx;
align-items: center;
padding: 10rpx;
margin: 20rpx 0;
.input{
color: #000;
font-size: 40rpx;
font-weight: 900;
display: flex;
flex: 1;
input{
flex: 1;
padding: 14rpx 20rpx;
}
}
}
.num{
font-size: 30rpx;
font-weight: 900;
margin-top: 10rpx;
}
}
.cell {
margin: 20rpx;
background-color: #FFFFFF;
border-radius: 16rpx;
.cell-top {
padding: 40rpx 34rpx;
color: #474747;
font-size: 34rpx;
font-weight: 600;
position: relative;
&::after{
content: '';
display: block;
position: absolute;
left: 55rpx;
bottom: 38rpx;
height: 10rpx;
width: 120rpx;
background: linear-gradient(to right, #fff, $uni-color);
}
}
.cell-text{
text-align: right;
.price-text{
color: #f40;
font-size: 32rpx;
font-weight: 900;
}
.tips{
font-size: 22rpx;
color: #aaa;
margin-top: 10rpx;
}
}
}
}
</style>