You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

161 lines
3.4 KiB
Vue

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view class="container" v-if="!isLoading">
<view class="space-upper">
<view class="wallet-account">
<view class="wallet-account_balance">
<text>{{ userInfo.balance }}</text>
</view>
<view class="wallet-account_lable">
<text>余额</text>
</view>
</view>
</view>
<view class="space-lower">
<view class="space-lower_item btn-recharge">
<view class="btn-submit" @click="onTargetRecharge()"></view>
</view>
<view class="space-lower_item item-lable dis-flex flex-x-around">
<view class="lable-text" @click="onTargetRechargeOrder()">
<text>充值记录</text>
</view>
<view class="lable-text" @click="onTargetBalanceLog()">
<text>账单详情</text>
</view>
</view>
</view>
</view>
</template>
<script>
import * as UserApi from '@/api/user'
import * as BalanceApi from '@/api/balance'
export default {
data() {
return {
// 正在加载
isLoading: true,
// 会员信息
userInfo: {},
// 充值设置
setting: {},
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
// 获取页面数据
this.getPageData()
},
methods: {
// 获取页面数据
getPageData() {
const app = this
app.isLoading = true
Promise.all([app.getUserInfo(), app.getSetting()])
.then(() => app.isLoading = false)
},
// 获取会员信息
getUserInfo() {
const app = this
return new Promise((resolve, reject) => {
UserApi.info()
.then(result => {
app.userInfo = result.data.userInfo
resolve(app.userInfo)
})
})
},
// 获取充值设置
getSetting() {
const app = this
return new Promise((resolve, reject) => {
BalanceApi.setting()
.then(result => {
app.setting = result.data.data
resolve(app.setting)
})
})
},
// 跳转充值页面
onTargetRecharge() {
this.$navTo('pages/wallet/recharge/index')
},
// 跳转充值记录页面
onTargetRechargeOrder() {
this.$navTo('pages/wallet/recharge/order')
},
// 跳转账单详情页面
onTargetBalanceLog() {
this.$navTo('pages/wallet/balance/log')
}
}
}
</script>
<style>
page {
background: #fff;
}
</style>
<style lang="scss" scoped>
.container {
background: #fff;
}
.space-upper {
padding: 100rpx 0;
text-align: center;
background: $fuint-theme;
margin: 50rpx 30rpx 10rpx 30rpx;
border-radius: 8rpx;
}
.wallet-account {
margin-top: 20rpx;
}
.wallet-account_balance {
font-size: 52rpx;
color: #FFFFFF;
}
.wallet-account_lable {
margin-top: 10rpx;
color: #FFFFFF;
font-size: 24rpx;
}
.space-lower {
margin-top: 30rpx;
padding: 0rpx 30rpx 0rpx 30rpx;
}
.btn-recharge .btn-submit {
width: 100%;
height: 84rpx;
line-height: 84rpx;
margin: 100rpx auto;
text-align: center;
border-radius: 5rpx;
background: linear-gradient(to right, #f9211c, #ff6335);
color: white;
font-size: 30rpx;
}
.item-lable {
margin-top: 80rpx;
font-size: 26rpx;
color: rgb(94, 94, 94);
padding: 0 100rpx;
}
</style>