deming/pageE/mine/Integral.vue

104 lines
2.3 KiB
Vue
Raw Normal View History

2020-06-08 15:23:23 +08:00
<template>
<view class="integral1">
<view class="integral-top">
<view>
<view class="title">总积分</view>
2020-07-30 20:33:16 +08:00
<view class="value">{{ memberInfo.member_points || 0 }}</view>
2020-06-08 15:23:23 +08:00
</view>
<view>
<view class="title">经验值</view>
2020-07-30 20:33:16 +08:00
<view class="value">{{ memberInfo.member_exppoints || 0 }}</view>
2020-06-08 15:23:23 +08:00
</view>
2020-07-08 18:14:41 +08:00
<view @click="viewProgress">
2020-06-08 15:23:23 +08:00
<view class="title">预计进度</view>
2020-07-08 18:14:41 +08:00
<!-- <view class="value">{{ memberInfo.next_grade_exppoints_diff }}</view> -->
<view class="value">
<image src="/static/image/mine/32.png"></image>
</view>
2020-06-08 15:23:23 +08:00
</view>
</view>
2020-07-06 17:32:29 +08:00
<scroll-view scroll-y class="integral-botom" :style="{ height: integralHeight }">
2020-06-08 15:23:23 +08:00
<rich-text :nodes="nodes"></rich-text>
</scroll-view>
</view>
</template>
<script>
2020-07-06 17:32:29 +08:00
import common from '@/static/js/common.js';
2020-06-08 15:23:23 +08:00
export default {
data() {
return {
2020-07-06 17:32:29 +08:00
memberInfo: {},
integralHeight: 0,
nodes: '',
2020-06-08 15:23:23 +08:00
}
},
onShow() {
this.setIntegralHeight();
2020-07-06 17:32:29 +08:00
this.getMemberPointsStat();
2020-06-08 15:23:23 +08:00
},
methods: {
setIntegralHeight() {
2020-07-06 17:32:29 +08:00
const res = uni.getSystemInfoSync();
// console.log(res.windowHeight);
this.integralHeight = res.windowHeight - 251 / 2 + 'px';
},
getMemberPointsStat() {
this.$u.api.getMemberPointsStat().then((res)=>{
if (res.errCode == 0) {
this.memberInfo = res.data;
this.nodes = common.unescapeHTML(this.memberInfo.points_rule);
}
})
},
2020-07-08 18:14:41 +08:00
viewProgress() {
this.$u.route({
url: '/pageE/mine/MineProgress'
})
},
2020-06-08 15:23:23 +08:00
},
};
</script>
<style lang="scss" scoped>
.integral1 {
height: calc(100vh - var(--window-top));
overflow: hidden;
position: relative;
.integral-top {
padding: 79rpx 88rpx;
width: 750rpx;
height: 271rpx;
background: linear-gradient(0deg,rgba(246,211,119,1) 1%,rgba(240,154,105,1) 100%);
display: flex;
justify-content: space-between;
> view {
flex: 1;
text-align: center;
.title {
font-size: 28rpx;
color: rgba(255,255,255, 0.6);
margin-bottom: 29rpx;
}
.value {
font-size: 48rpx;
font-weight: 500;
color: rgba(255,255,255,1);
2020-07-08 18:14:41 +08:00
> image {
width: 52rpx;
height: 35rpx;
}
2020-06-08 15:23:23 +08:00
}
}
}
.integral-botom {
2020-07-06 17:32:29 +08:00
box-sizing: border-box;
padding: 30rpx;
2020-06-08 15:23:23 +08:00
position: absolute;
2020-07-06 17:32:29 +08:00
width: 100%;
// height: calc(100vh - 251rpx);
2020-06-08 15:23:23 +08:00
background: rgba(255,255,255,1);
border-radius: 20rpx 20rpx 0rpx 0rpx;
top: 251rpx;
z-index: 9;
}
}
</style>