|
@@ -0,0 +1,386 @@
|
|
|
+<template>
|
|
|
+ <!-- 积分详情 -->
|
|
|
+ <view>
|
|
|
+ <view class='integral-details' :style="colorStyle">
|
|
|
+ <view class='header'>
|
|
|
+ <view class='currentScore'>当前股权</view>
|
|
|
+ <view class="scoreNum">{{userInfo.reward_share}}</view>
|
|
|
+ <view class='line'></view>
|
|
|
+ <view class='nav acea-row'>
|
|
|
+ <view class='item'>
|
|
|
+ <!-- <view class='num'>{{userInfo.sum_integral}}</view> -->
|
|
|
+ <view></view>
|
|
|
+ </view>
|
|
|
+ <view class='item' @click="navto">
|
|
|
+ <!-- <view class='num'>{{userInfo.deduction_integral}}</view> -->
|
|
|
+ <view>立即提现</view>
|
|
|
+ </view>
|
|
|
+ <view class='item'>
|
|
|
+ <!-- <view class='num'>{{userInfo.today_integral}}</view> -->
|
|
|
+ <view></view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class='wrapper'>
|
|
|
+ <!-- <view class='nav acea-row'>
|
|
|
+ <view class='item acea-row row-center-wrapper' :class='current==index?"on":""'
|
|
|
+ v-for="(item,index) in navList" :key='index' @click='nav(index)'><text class='iconfont'
|
|
|
+ :class="item.icon"></text>{{item.name}}</view>
|
|
|
+ </view> -->
|
|
|
+ <view class='list' :hidden='current!=0'>
|
|
|
+
|
|
|
+ <view class='item acea-row row-between-wrapper' v-for="(item,index) in integralList" :key="index">
|
|
|
+ <view style="max-width: 550rpx;">
|
|
|
+ <view class='state'>{{item.content}}</view>
|
|
|
+ <view>{{item.create_time}}</view>
|
|
|
+ </view>
|
|
|
+ <view class='num font-color' v-if="item.pm">+{{item.reward_share}}</view>
|
|
|
+ <view class='num' v-else>-{{item.reward_share}}</view>
|
|
|
+ </view>
|
|
|
+ <view class='loadingicon acea-row row-center-wrapper' v-if="integralList.length>0">
|
|
|
+ <text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
|
|
|
+ </view>
|
|
|
+ <view v-if="integralList.length == 0">
|
|
|
+ <emptyPage title="暂无股权记录哦~"></emptyPage>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <home v-if="navigation"></home>
|
|
|
+ <!-- #ifdef MP -->
|
|
|
+ <!-- <authorize v-if="isShowAuth" @authColse="authColse" @onLoadFun="onLoadFun"></authorize> -->
|
|
|
+ <!-- #endif -->
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import home from '@/components/home';
|
|
|
+ import {
|
|
|
+ postSignUser,
|
|
|
+ getrecordList
|
|
|
+ } from '@/api/user.js';
|
|
|
+ import dayjs from '@/plugin/dayjs/dayjs.min.js';
|
|
|
+ import {
|
|
|
+ toLogin
|
|
|
+ } from '@/libs/login.js';
|
|
|
+ import {
|
|
|
+ mapGetters
|
|
|
+ } from "vuex";
|
|
|
+ import emptyPage from '@/components/emptyPage.vue';
|
|
|
+ import colors from '@/mixins/color'
|
|
|
+ export default {
|
|
|
+ components: {
|
|
|
+ emptyPage,
|
|
|
+ home
|
|
|
+ },
|
|
|
+ filters: {
|
|
|
+ dateFormat: function(value) {
|
|
|
+ return dayjs(value * 1000).format('YYYY-MM-DD');
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mixins:[colors],
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ navList: [{
|
|
|
+ 'name': '分值明细',
|
|
|
+ 'icon': 'icon-mingxi'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ 'name': '分值提升',
|
|
|
+ 'icon': 'icon-tishengfenzhi'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ current: 0,
|
|
|
+ page: 1,
|
|
|
+ limit: 10,
|
|
|
+ integralList: [],
|
|
|
+ userInfo: {},
|
|
|
+ loadend: false,
|
|
|
+ loading: false,
|
|
|
+ loadTitle: '加载更多',
|
|
|
+ isAuto: false, //没有授权的不会自动授权
|
|
|
+ isShowAuth: false, //是否隐藏授权
|
|
|
+ isTime: 0
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: mapGetters(['isLogin']),
|
|
|
+ watch: {
|
|
|
+ isLogin: {
|
|
|
+ handler: function(newV, oldV) {
|
|
|
+ if (newV) {
|
|
|
+ this.getUserInfo();
|
|
|
+ // this.getIntegralList();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ deep: true
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onLoad() {
|
|
|
+ if (this.isLogin) {
|
|
|
+ this.getUserInfo();
|
|
|
+ // this.getIntegralList();
|
|
|
+ } else {
|
|
|
+ toLogin()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onShow() {
|
|
|
+ uni.removeStorageSync('form_type_cart');
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 页面上拉触底事件的处理函数
|
|
|
+ */
|
|
|
+ onReachBottom: function() {
|
|
|
+ this.getIntegralList();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ navto() {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/users/user_payment/index?is_gq=2'
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 授权回调
|
|
|
+ */
|
|
|
+ onLoadFun: function() {
|
|
|
+ this.getUserInfo();
|
|
|
+ this.isShowAuth = false;
|
|
|
+ },
|
|
|
+ // 授权关闭
|
|
|
+ authColse: function(e) {
|
|
|
+ this.isShowAuth = e
|
|
|
+ },
|
|
|
+ getUserInfo: function() {
|
|
|
+ let that = this;
|
|
|
+ postSignUser({
|
|
|
+ sign: 1,
|
|
|
+ integral: 1,
|
|
|
+ all: 1
|
|
|
+ }).then(function(res) {
|
|
|
+ that.$set(that, 'userInfo', res.data);
|
|
|
+ that.getIntegralList();
|
|
|
+ let clearTime = res.data.clear_time;
|
|
|
+ let showTime = clearTime-(86400*14);
|
|
|
+ let timestamp = Date.parse(new Date())/1000;
|
|
|
+ if(showTime < timestamp){
|
|
|
+ that.isTime = 1
|
|
|
+ }else{
|
|
|
+ that.isTime = 0
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取积分明细
|
|
|
+ */
|
|
|
+ getIntegralList: function() {
|
|
|
+ let that = this;
|
|
|
+ if (that.loading) return;
|
|
|
+ if (that.loadend) return;
|
|
|
+ that.loading = true;
|
|
|
+ that.loadTitle = '';
|
|
|
+ getrecordList({
|
|
|
+ page: that.page,
|
|
|
+ limit: that.limit,
|
|
|
+ uid:that.userInfo.uid
|
|
|
+ }).then(function(res) {
|
|
|
+ let list = res.data.list,
|
|
|
+ loadend = list.length < that.limit;
|
|
|
+ that.integralList = that.$util.SplitArray(list, that.integralList);
|
|
|
+ that.$set(that, 'integralList', that.integralList);
|
|
|
+ that.page = that.page + 1;
|
|
|
+ that.loading = false;
|
|
|
+ that.loadend = loadend;
|
|
|
+ that.loadTitle = loadend ? '没有更多内容啦~' : "加载更多";
|
|
|
+ }, function(res) {
|
|
|
+ this.loading = false;
|
|
|
+ that.loadTitle = '加载更多';
|
|
|
+ });
|
|
|
+ },
|
|
|
+ nav: function(current) {
|
|
|
+ this.current = current;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+ .integral-details .header {
|
|
|
+ background-repeat: no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ width: 100%;
|
|
|
+ height: 300rpx;
|
|
|
+ font-size: 72rpx;
|
|
|
+ color: #fff;
|
|
|
+ padding: 31rpx 0 45rpx 0;
|
|
|
+ box-sizing: border-box;
|
|
|
+ text-align: center;
|
|
|
+ font-family: 'Guildford Pro';
|
|
|
+ background-color: var(--view-theme);
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .header .currentScore {
|
|
|
+ font-size: 26rpx;
|
|
|
+ color: rgba(255, 255, 255, 0.8);
|
|
|
+ text-align: center;
|
|
|
+ margin-bottom: 11rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .header .scoreNum {
|
|
|
+ font-family: "Guildford Pro";
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .header .line {
|
|
|
+ width: 60rpx;
|
|
|
+ height: 3rpx;
|
|
|
+ background-color: #fff;
|
|
|
+ margin: 20rpx auto 0 auto;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .header .nav {
|
|
|
+ font-size: 22rpx;
|
|
|
+ color: rgba(255, 255, 255, 0.8);
|
|
|
+ flex: 1;
|
|
|
+ margin-top: 35rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .header .nav .item {
|
|
|
+ width: 33.33%;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .header .nav .item .num {
|
|
|
+ color: #fff;
|
|
|
+ font-size: 40rpx;
|
|
|
+ margin-bottom: 5rpx;
|
|
|
+ font-family: 'Guildford Pro';
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .nav {
|
|
|
+ flex: 1;
|
|
|
+ width: 690rpx;
|
|
|
+ border-radius: 20rpx 20rpx 0 0;
|
|
|
+ margin: -96rpx auto 0 auto;
|
|
|
+ background-color: #f7f7f7;
|
|
|
+ height: 96rpx;
|
|
|
+ font-size: 30rpx;
|
|
|
+ color: #bbb;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .nav .item {
|
|
|
+ text-align: center;
|
|
|
+ width: 50%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .nav .item.on {
|
|
|
+ background-color: #fff;
|
|
|
+ color: var( --view-theme);
|
|
|
+ font-weight: bold;
|
|
|
+ border-radius: 20rpx 0 0 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .nav .item:nth-of-type(2).on {
|
|
|
+ border-radius: 0 20rpx 0 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .nav .item .iconfont {
|
|
|
+ font-size: 38rpx;
|
|
|
+ margin-right: 10rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .list {
|
|
|
+ background-color: #fff;
|
|
|
+ padding: 24rpx 30rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .list .tip {
|
|
|
+ font-size: 25rpx;
|
|
|
+ width: 690rpx;
|
|
|
+ min-height: 60rpx;
|
|
|
+ border-radius: 50rpx;
|
|
|
+ background-color: #fff5e2;
|
|
|
+ border: 1rpx solid #ffeac1;
|
|
|
+ color: #c8a86b;
|
|
|
+ padding: 0 20rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ margin-bottom: 24rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .list .tip .tipCon{
|
|
|
+ width: 595rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .list .tip .iconfont {
|
|
|
+ font-size: 35rpx;
|
|
|
+ margin-right: 15rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .list .item {
|
|
|
+ height: 124rpx;
|
|
|
+ border-bottom: 1rpx solid #eee;
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #999;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .list .item .state {
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #282828;
|
|
|
+ margin-bottom: 8rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .list .item .num {
|
|
|
+ font-size: 36rpx;
|
|
|
+ font-family: 'Guildford Pro';
|
|
|
+ color: #16AC57;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .list .item .num.font-color{
|
|
|
+ color: #E93323!important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .list2 {
|
|
|
+ background-color: #fff;
|
|
|
+ padding: 24rpx 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .list2 .item {
|
|
|
+ background-image: linear-gradient(to right, #fff7e7 0%, #fffdf9 100%);
|
|
|
+ width: 690rpx;
|
|
|
+ height: 180rpx;
|
|
|
+ position: relative;
|
|
|
+ border-radius: 10rpx;
|
|
|
+ margin: 0 auto 20rpx auto;
|
|
|
+ padding: 0 25rpx 0 180rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .list2 .item .pictrue {
|
|
|
+ width: 90rpx;
|
|
|
+ height: 150rpx;
|
|
|
+ position: absolute;
|
|
|
+ bottom: 0;
|
|
|
+ left: 45rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .list2 .item .pictrue image {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .list2 .item .name {
|
|
|
+ width: 285rpx;
|
|
|
+ font-size: 30rpx;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #c8a86b;
|
|
|
+ }
|
|
|
+
|
|
|
+ .integral-details .wrapper .list2 .item .earn {
|
|
|
+ font-size: 26rpx;
|
|
|
+ color: #c8a86b;
|
|
|
+ border: 2rpx solid #c8a86b;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 52rpx;
|
|
|
+ height: 52rpx;
|
|
|
+ width: 160rpx;
|
|
|
+ border-radius: 50rpx;
|
|
|
+ }
|
|
|
+</style>
|