309 lines
8.3 KiB
Vue
309 lines
8.3 KiB
Vue
|
|
<template>
|
|||
|
|
<view :data-theme="theme">
|
|||
|
|
<view class='my-account mb-40rpx pt-20 relative'>
|
|||
|
|
<!-- #ifdef MP -->
|
|||
|
|
<view class="relative">
|
|||
|
|
<nav-bar :isBackgroundColor="false" ref="navBarRef" navTitle='我的账户' :isShowMenu="false" :backgroundColor="backgroundColor">
|
|||
|
|
</nav-bar>
|
|||
|
|
</view>
|
|||
|
|
<!-- #endif -->
|
|||
|
|
<view class='wrapper borderPad'>
|
|||
|
|
<view class='header borRadius14'>
|
|||
|
|
<view class='headerCon'>
|
|||
|
|
<view class='account acea-row row-top row-between'>
|
|||
|
|
<view class='assets'>
|
|||
|
|
<view>账户余额(元)</view>
|
|||
|
|
<view class='money semiBold'>{{statistics.nowMoney || 0}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view v-if="statistics.rechargeSwitch"
|
|||
|
|
@click="openSubscribe('/pages/users/user_payment/index')"
|
|||
|
|
class='recharge font_color relative z-10'>充值</view>
|
|||
|
|
</view>
|
|||
|
|
<view class='cumulative acea-row row-middle'>
|
|||
|
|
<view class='item mr-80' v-if="statistics.rechargeSwitch">
|
|||
|
|
<view>余额充值(元)</view>
|
|||
|
|
<view class='money semiBold'>{{statistics.recharge || 0}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class='item'>
|
|||
|
|
<view>余额消费(元)</view>
|
|||
|
|
<view class='money semiBold'>{{statistics.monetary || 0}}</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="pictrue">
|
|||
|
|
<image :src="urlDomain+'crmebimage/presets/pig.png'"></image>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class='nav acea-row row-between-wrapper mt20'>
|
|||
|
|
<navigator class='item acea-row row-between-wrapper' hover-class='none' url='/pages/users/user_bill/index?type=expenditure'>
|
|||
|
|
<view class="left">
|
|||
|
|
<view class="name">消费记录</view>
|
|||
|
|
<view>赚积分抵现金</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="pictrue">
|
|||
|
|
<image src="../static/images/xiaofeijilu.png"></image>
|
|||
|
|
</view>
|
|||
|
|
</navigator>
|
|||
|
|
<navigator v-if="statistics.rechargeSwitch" class='item acea-row row-between-wrapper' hover-class='none' url='/pages/users/user_bill/index?type=recharge'>
|
|||
|
|
<view class="left">
|
|||
|
|
<view class="name">充值记录</view>
|
|||
|
|
<view>满减享优惠</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="pictrue">
|
|||
|
|
<image src="../static/images/chongzhijilu.png"></image>
|
|||
|
|
</view>
|
|||
|
|
</navigator>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<recommend ref="recommendIndex" @getRecommendLength="getRecommendLength"></recommend>
|
|||
|
|
<view class='noCommodity' v-if="isNoCommodity">
|
|||
|
|
<view class='pictrue'>
|
|||
|
|
<image :src="urlDomain+'crmebimage/presets/noShopper.png'"></image>
|
|||
|
|
</view>
|
|||
|
|
<text class="text-ccc">暂无商品</text>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
// +----------------------------------------------------------------------
|
|||
|
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
|||
|
|
// +----------------------------------------------------------------------
|
|||
|
|
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
|||
|
|
// +----------------------------------------------------------------------
|
|||
|
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
|||
|
|
// +----------------------------------------------------------------------
|
|||
|
|
// | Author: CRMEB Team <admin@crmeb.com>
|
|||
|
|
// +----------------------------------------------------------------------
|
|||
|
|
import {
|
|||
|
|
getMyAccountApi
|
|||
|
|
} from '@/api/user.js';
|
|||
|
|
import {
|
|||
|
|
toLogin
|
|||
|
|
} from '@/libs/login.js';
|
|||
|
|
import {
|
|||
|
|
mapGetters
|
|||
|
|
} from "vuex";
|
|||
|
|
import {
|
|||
|
|
alipayQueryPayResult
|
|||
|
|
} from '@/api/order.js';
|
|||
|
|
import recommend from "@/components/base/recommend.vue";
|
|||
|
|
import navBar from '@/components/navBar';
|
|||
|
|
let app = getApp();
|
|||
|
|
export default {
|
|||
|
|
components: {
|
|||
|
|
recommend,
|
|||
|
|
navBar
|
|||
|
|
},
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
urlDomain: this.$Cache.get("imgHost"),
|
|||
|
|
isClose: false,
|
|||
|
|
activity: {},
|
|||
|
|
hotScroll: false,
|
|||
|
|
statistics: {},
|
|||
|
|
hotPage: 1,
|
|||
|
|
hotLimit: 10,
|
|||
|
|
theme: app.globalData.theme,
|
|||
|
|
isNoCommodity: false,
|
|||
|
|
backgroundColor: '',
|
|||
|
|
};
|
|||
|
|
},
|
|||
|
|
computed: mapGetters(['isLogin', 'userInfo']),
|
|||
|
|
watch: {
|
|||
|
|
isLogin: {
|
|||
|
|
handler: function(newV, oldV) {
|
|||
|
|
if (newV) {
|
|||
|
|
this.userDalance();
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
deep: true
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onLoad() {
|
|||
|
|
if (this.isLogin) {
|
|||
|
|
// #ifdef H5
|
|||
|
|
var url = window.location.search;
|
|||
|
|
if (url) {
|
|||
|
|
var theRequest = new Object();
|
|||
|
|
if (url.indexOf("?") != -1) {
|
|||
|
|
var str = url.substr(1);
|
|||
|
|
var strs = str.split("&");
|
|||
|
|
for (var i = 0; i < strs.length; i++) {
|
|||
|
|
theRequest[strs[i].split('=')[0]] = decodeURI(strs[i].split('=')[1]);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
this.orderId = theRequest.out_trade_no; //返回的订单号
|
|||
|
|
this.alipayQueryPay();
|
|||
|
|
}
|
|||
|
|
// #endif
|
|||
|
|
this.userDalance();
|
|||
|
|
} else {
|
|||
|
|
toLogin();
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onReachBottom() {
|
|||
|
|
this.$refs.recommendIndex.get_host_product();
|
|||
|
|
},
|
|||
|
|
// 滚动监听
|
|||
|
|
onPageScroll(e) {
|
|||
|
|
// 传入scrollTop值并触发所有easy-loadimage组件下的滚动监听事件
|
|||
|
|
uni.$emit('scroll');
|
|||
|
|
// #ifdef MP
|
|||
|
|
if (e.scrollTop > 50) {
|
|||
|
|
this.backgroundColor = '#fff';
|
|||
|
|
this.iconColor = '#333333'
|
|||
|
|
} else if (e.scrollTop < 50) {
|
|||
|
|
this.backgroundColor = '';
|
|||
|
|
this.iconColor = '#fff'
|
|||
|
|
}
|
|||
|
|
// #endif
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
getRecommendLength(e) {
|
|||
|
|
this.isNoCommodity = e == 0 ? true : false;
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* 支付宝充值结果查询
|
|||
|
|
*/
|
|||
|
|
alipayQueryPay() {
|
|||
|
|
uni.showLoading({
|
|||
|
|
title: '查询中...'
|
|||
|
|
});
|
|||
|
|
alipayQueryPayResult(this.orderId).then(res => {
|
|||
|
|
this.userDalance();
|
|||
|
|
return this.$util.Tips({
|
|||
|
|
title: '充值成功'
|
|||
|
|
});
|
|||
|
|
uni.hideLoading();
|
|||
|
|
}).catch(err => {
|
|||
|
|
uni.hideLoading();
|
|||
|
|
return this.$util.Tips({
|
|||
|
|
title: err
|
|||
|
|
});
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
userDalance() {
|
|||
|
|
getMyAccountApi().then(res => {
|
|||
|
|
this.statistics = res.data;
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
openSubscribe(page) {
|
|||
|
|
uni.navigateTo({
|
|||
|
|
url: page,
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style scoped lang="scss">
|
|||
|
|
.my-account{
|
|||
|
|
@include shallow-gradient(theme);
|
|||
|
|
}
|
|||
|
|
.my-account .wrapper .header {
|
|||
|
|
width: 100%;
|
|||
|
|
height: 362rpx;
|
|||
|
|
@include linear-gradient(theme);
|
|||
|
|
margin: 0 auto;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
color: rgba(255, 255, 255, 0.6);
|
|||
|
|
font-size: 24rpx;
|
|||
|
|
position: relative;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.my-account .wrapper .header .headerCon {
|
|||
|
|
padding-top: 36rpx;
|
|||
|
|
.pictrue {
|
|||
|
|
width: 290rpx;
|
|||
|
|
height: 362rpx;
|
|||
|
|
position: absolute;
|
|||
|
|
right: 0;
|
|||
|
|
bottom: 0;
|
|||
|
|
image{
|
|||
|
|
width: 100%;
|
|||
|
|
height: 100%;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.my-account .wrapper .header .headerCon .account {
|
|||
|
|
padding: 0 28rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.my-account .wrapper .header .headerCon .account .assets .money {
|
|||
|
|
font-size: 64rpx;
|
|||
|
|
color: #fff;
|
|||
|
|
margin-top: 12rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.my-account .wrapper .header .headerCon .account .recharge {
|
|||
|
|
font-size: 24rpx;
|
|||
|
|
width: 112rpx;
|
|||
|
|
height: 56rpx;
|
|||
|
|
border-radius: 50rpx;
|
|||
|
|
background-color: rgba(255,255,255,0.8);
|
|||
|
|
text-align: center;
|
|||
|
|
line-height: 56rpx;
|
|||
|
|
font-weight: 500;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.font_color {
|
|||
|
|
@include main_color(theme);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.icon_txt {
|
|||
|
|
font-size: 43rpx;
|
|||
|
|
@include main_color(theme);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.my-account .wrapper .header .headerCon .cumulative {
|
|||
|
|
width: 100%;
|
|||
|
|
height: 142rpx;
|
|||
|
|
background: rgba(255,255,255,0.1);
|
|||
|
|
margin-top: 62rpx;
|
|||
|
|
padding-left: 28rpx;
|
|||
|
|
position: absolute;
|
|||
|
|
left: 0;
|
|||
|
|
bottom: 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.my-account .wrapper .header .headerCon .cumulative .item {
|
|||
|
|
position: static;
|
|||
|
|
z-index: 9;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.my-account .wrapper .header .headerCon .cumulative .item .money {
|
|||
|
|
font-size: 40rpx;
|
|||
|
|
color: #fff;
|
|||
|
|
margin-top: 12rpx;
|
|||
|
|
}
|
|||
|
|
.my-account .wrapper .nav .item {
|
|||
|
|
font-size: 24rpx;
|
|||
|
|
color: #999;
|
|||
|
|
width: 342rpx;
|
|||
|
|
height: 152rpx;
|
|||
|
|
background: linear-gradient(180deg, #FFF7F0 0%, #FFFFFF 100%);
|
|||
|
|
border-radius: 24rpx;
|
|||
|
|
border: 4rpx solid #fff;
|
|||
|
|
padding: 0 31rpx;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
.name{
|
|||
|
|
font-size: 28rpx;
|
|||
|
|
color: #333;
|
|||
|
|
font-weight: 500;
|
|||
|
|
margin-bottom: 8rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.my-account .wrapper .nav .item .pictrue {
|
|||
|
|
width: 96rpx;
|
|||
|
|
height: 96rpx;
|
|||
|
|
image{
|
|||
|
|
width: 100%;
|
|||
|
|
height: 100%;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|