|
@@ -2,7 +2,7 @@
|
|
<template>
|
|
<template>
|
|
<s-layout class="wallet-wrap" :bgStyle="{'backgroundColor':'#ffffff'}" title="我的积分" navbar="normal">
|
|
<s-layout class="wallet-wrap" :bgStyle="{'backgroundColor':'#ffffff'}" title="我的积分" navbar="normal">
|
|
<view class="score-box bg-white ss-flex-col ss-row-center ss-col-center">
|
|
<view class="score-box bg-white ss-flex-col ss-row-center ss-col-center">
|
|
- <view class="ss-m-b-40 value-box " @tap="state.showModel = true">
|
|
|
|
|
|
+ <view class="ss-m-b-40 value-box " @tap="showModel()">
|
|
<view class="all-title ss-m-r-8">#</view>
|
|
<view class="all-title ss-m-r-8">#</view>
|
|
</view>
|
|
</view>
|
|
<view class="ss-m-b-40 ss-font-40">
|
|
<view class="ss-m-b-40 ss-font-40">
|
|
@@ -11,7 +11,7 @@
|
|
<view class="ss-m-b-40 ss-font-32 text-center">
|
|
<view class="ss-m-b-40 ss-font-32 text-center">
|
|
<view class="all-title ss-m-r-8 ss-m-b-10 ">
|
|
<view class="all-title ss-m-r-8 ss-m-b-10 ">
|
|
当前可兑换积分:#{{ points2point(userWallet.integralDO.currentQuota) }}</view>
|
|
当前可兑换积分:#{{ points2point(userWallet.integralDO.currentQuota) }}</view>
|
|
- <view class="all-title ss-m-r-8" style="color: var(--ui-BG-Main)" @tap="state.showQueModel = true">
|
|
|
|
|
|
+ <view class="all-title ss-m-r-8" style="color: var(--ui-BG-Main)" @tap="showQueModel()">
|
|
待确权积分:#{{points2point(userWallet.integralDO.freezeQuota)}}</view>
|
|
待确权积分:#{{points2point(userWallet.integralDO.freezeQuota)}}</view>
|
|
</view>
|
|
</view>
|
|
<view class="ss-m-b-80">
|
|
<view class="ss-m-b-80">
|
|
@@ -36,73 +36,12 @@
|
|
</view>
|
|
</view>
|
|
<!-- 积分来源 -->
|
|
<!-- 积分来源 -->
|
|
<su-popup :show="state.showModel" type="center" round="10" :isMaskClick="false" showClose @close="close">
|
|
<su-popup :show="state.showModel" type="center" round="10" :isMaskClick="false" showClose @close="close">
|
|
- <view class="model-box ss-flex-col">
|
|
|
|
- <scroll-view class="list-box" style="width: 600rpx;" scroll-y="true" @touchmove.stop>
|
|
|
|
- <view v-if="state.pagination.total > 0">
|
|
|
|
- <view class="list-item ss-flex ss-col-center ss-row-between "
|
|
|
|
- v-for="(item,index) in state.pagination.list" :key="item.id" style="padding: 30rpx 0;">
|
|
|
|
- <view class="ss-flex ss-col-center" style="width: 100%;">
|
|
|
|
- <view>
|
|
|
|
- {{index+1}}
|
|
|
|
- </view>
|
|
|
|
- <!-- 头像 -->
|
|
|
|
- <view class="avatar-box ss-m-x-20">
|
|
|
|
- <image class="avatar-img" :src="
|
|
|
|
- sheep.$url.static('/static/img/shop/default_avatar.png')" mode="aspectFill"></image>
|
|
|
|
- </view>
|
|
|
|
- <view class="ss-flex ss-m-t-10"
|
|
|
|
- style="flex-direction: column;align-items: flex-start;width: calc(100% - 5.5rem);">
|
|
|
|
- <view class="name" style="width: 100%;"> {{ item.name || '空' }} <text
|
|
|
|
- style="float: right;">#{{item.point}}</text></view>
|
|
|
|
- <view class="time " style="width: 100%;">
|
|
|
|
- {{sheep.$helper.timeFormat(item.createTime, 'yyyy-mm-dd hh:MM')}}
|
|
|
|
- <text style="float: right;">消费额:¥234</text>
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- <s-empty v-else text="暂无数据" paddingTop="120" icon="/static/data-empty.png" />
|
|
|
|
- </scroll-view>
|
|
|
|
- </view>
|
|
|
|
|
|
+ <ScoreLog :isFreeze="false"/>
|
|
</su-popup>
|
|
</su-popup>
|
|
-
|
|
|
|
|
|
+
|
|
<!-- 积分确权 -->
|
|
<!-- 积分确权 -->
|
|
<su-popup :show="state.showQueModel" type="center" round="10" :isMaskClick="false" showClose @close="close">
|
|
<su-popup :show="state.showQueModel" type="center" round="10" :isMaskClick="false" showClose @close="close">
|
|
- <view class="model-box ss-flex-col">
|
|
|
|
- <view class="all-title ss-p-x-30 ss-p-t-30">
|
|
|
|
- 待确权积分 <text style="float: right;">共#{{points2point(userWallet.integralDO.freezeQuota)}}</text>
|
|
|
|
- </view>
|
|
|
|
- <!-- {{state.pagination.list}} -->
|
|
|
|
- <scroll-view class="list-box" style="width: 600rpx;" scroll-y="true" @touchmove.stop>
|
|
|
|
- <view v-if="!(state.pagination.total > 0)">
|
|
|
|
- <view class="list-item ss-flex ss-col-center ss-row-between "
|
|
|
|
- v-for="(item,index) in state.pagination.list" :key="item.id" style="padding: 30rpx 0;">
|
|
|
|
- <view class="ss-flex ss-col-center" style="width: 100%;">
|
|
|
|
- <view>
|
|
|
|
- {{index+1}}
|
|
|
|
- </view>
|
|
|
|
- <!-- 头像 -->
|
|
|
|
- <view class="avatar-box ss-m-x-20">
|
|
|
|
- <image class="avatar-img" :src="
|
|
|
|
- sheep.$url.static('/static/img/shop/default_avatar.png')" mode="aspectFill"></image>
|
|
|
|
- </view>
|
|
|
|
- <view class="ss-flex ss-m-t-10"
|
|
|
|
- style="flex-direction: column;align-items: flex-start;width: calc(100% - 5.5rem);">
|
|
|
|
- <view class="name" style="width: 100%;"> {{ item.name || '空' }} <text
|
|
|
|
- style="float: right;">#{{item.point}}</text></view>
|
|
|
|
- <view class="time " style="width: 100%;">
|
|
|
|
- {{sheep.$helper.timeFormat(item.createTime, 'yyyy-mm-dd hh:MM')}}
|
|
|
|
- <text style="float: right;">消费额:¥234</text>
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
-
|
|
|
|
- <s-empty v-else text="暂无数据" paddingTop="80" icon="/static/data-empty.png" />
|
|
|
|
- </scroll-view>
|
|
|
|
- </view>
|
|
|
|
|
|
+ <ScoreLog :isFreeze="true"/>
|
|
</su-popup>
|
|
</su-popup>
|
|
</s-layout>
|
|
</s-layout>
|
|
|
|
|
|
@@ -128,7 +67,8 @@
|
|
resetPagination
|
|
resetPagination
|
|
} from '@/sheep/util';
|
|
} from '@/sheep/util';
|
|
import ScoreApi from '@/sheep/api/distri/score';
|
|
import ScoreApi from '@/sheep/api/distri/score';
|
|
-
|
|
|
|
|
|
+ import ScoreLog from './ScoreLog'
|
|
|
|
+
|
|
const userWallet = computed(() => sheep.$store('user').userWallet);
|
|
const userWallet = computed(() => sheep.$store('user').userWallet);
|
|
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2;
|
|
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2;
|
|
const userInfo = computed(() => sheep.$store('user').userInfo);
|
|
const userInfo = computed(() => sheep.$store('user').userInfo);
|
|
@@ -137,60 +77,27 @@
|
|
const state = reactive({
|
|
const state = reactive({
|
|
currentTab: 0,
|
|
currentTab: 0,
|
|
pagination: {
|
|
pagination: {
|
|
- "list": [{
|
|
|
|
- "createTime": 1713607898000,
|
|
|
|
- "profitStatus": 6,
|
|
|
|
- "profitStatusName": "最高可以获得积分",
|
|
|
|
- "userId": 247,
|
|
|
|
- "orderId": 67,
|
|
|
|
- "orderNo": "o202404161713151",
|
|
|
|
- "id": 28,
|
|
|
|
- "amount": 93312,
|
|
|
|
- "afterAmount": 2822688,
|
|
|
|
- "freezeAmount": null,
|
|
|
|
- "afterFreezeAmount": null,
|
|
|
|
- "percentTemplate": "{\"createTime\":1712568106000,\"updateTime\":1713238272000,\"creator\":\"1\",\"updater\":\"1\",\"deleted\":false,\"id\":1,\"grossProfitPerc\":\"0.3888\",\"grossProfitUserQuotaPerc\":\"0.3500\",\"grossProfitAncestorQuotaPerc\":\"0.3500\",\"grossProfitBonusQuotaPerc\":\"0.0800\",\"grossProfitPlatformQuotaPerc\":\"0.1000\",\"divideIntoPerc\":\"0.0400\",\"status\":1}"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "createTime": 1713607898000,
|
|
|
|
- "profitStatus": 4,
|
|
|
|
- "profitStatusName": "直推人额度",
|
|
|
|
- "userId": 247,
|
|
|
|
- "orderId": 73,
|
|
|
|
- "orderNo": "o202404172239581",
|
|
|
|
- "id": 33,
|
|
|
|
- "amount": 13608,
|
|
|
|
- "afterAmount": 227832,
|
|
|
|
- "freezeAmount": null,
|
|
|
|
- "afterFreezeAmount": null,
|
|
|
|
- "percentTemplate": "{\"createTime\":1712568106000,\"updateTime\":1713238272000,\"creator\":\"1\",\"updater\":\"1\",\"deleted\":false,\"id\":1,\"grossProfitPerc\":\"0.3888\",\"grossProfitUserQuotaPerc\":\"0.3500\",\"grossProfitAncestorQuotaPerc\":\"0.3500\",\"grossProfitBonusQuotaPerc\":\"0.0800\",\"grossProfitPlatformQuotaPerc\":\"0.1000\",\"divideIntoPerc\":\"0.0400\",\"status\":1}"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "createTime": 1713607898000,
|
|
|
|
- "profitStatus": 6,
|
|
|
|
- "profitStatusName": "最高可以获得积分",
|
|
|
|
- "userId": 247,
|
|
|
|
- "orderId": 73,
|
|
|
|
- "orderNo": "o202404172239581",
|
|
|
|
- "id": 35,
|
|
|
|
- "amount": 116640,
|
|
|
|
- "afterAmount": 1632960,
|
|
|
|
- "freezeAmount": null,
|
|
|
|
- "afterFreezeAmount": null,
|
|
|
|
- "percentTemplate": "{\"createTime\":1712568106000,\"updateTime\":1713238272000,\"creator\":\"1\",\"updater\":\"1\",\"deleted\":false,\"id\":1,\"grossProfitPerc\":\"0.3888\",\"grossProfitUserQuotaPerc\":\"0.3500\",\"grossProfitAncestorQuotaPerc\":\"0.3500\",\"grossProfitBonusQuotaPerc\":\"0.0800\",\"grossProfitPlatformQuotaPerc\":\"0.1000\",\"divideIntoPerc\":\"0.0400\",\"status\":1}"
|
|
|
|
- }
|
|
|
|
- ],
|
|
|
|
-
|
|
|
|
|
|
+ list: [],
|
|
total: 0,
|
|
total: 0,
|
|
- pageSize: 6,
|
|
|
|
|
|
+ pageSize: 10,
|
|
pageNo: 1,
|
|
pageNo: 1,
|
|
},
|
|
},
|
|
loadStatus: '',
|
|
loadStatus: '',
|
|
-
|
|
|
|
|
|
+ showModel:false,
|
|
|
|
+ showQueModel:false
|
|
});
|
|
});
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+ function close(){
|
|
|
|
+ state.showModel = false;
|
|
|
|
+ state.showQueModel = false;
|
|
|
|
+ }
|
|
|
|
+ function showModel(){
|
|
|
|
+ state.showModel = true;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ function showQueModel(){
|
|
|
|
+ state.showQueModel = true;
|
|
|
|
+ }
|
|
async function getLogList(isFreeze) {
|
|
async function getLogList(isFreeze) {
|
|
state.loadStatus = 'loading';
|
|
state.loadStatus = 'loading';
|
|
// isFreeze为true是冻结积分 isFreeze为false是已拿到的积分
|
|
// isFreeze为true是冻结积分 isFreeze为false是已拿到的积分
|
|
@@ -205,31 +112,39 @@
|
|
if (code !== 0) {
|
|
if (code !== 0) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- state.pagination.list = data.list;
|
|
|
|
|
|
+ let list = _.concat(state.pagination.list, data.list);
|
|
|
|
+ state.pagination.list = list;
|
|
state.pagination.total = data.total;
|
|
state.pagination.total = data.total;
|
|
state.loadStatus = state.pagination.list.length < state.pagination.total ? 'more' : 'noMore';
|
|
state.loadStatus = state.pagination.list.length < state.pagination.total ? 'more' : 'noMore';
|
|
}
|
|
}
|
|
|
|
|
|
onLoad(() => {
|
|
onLoad(() => {
|
|
- // getLogList(true);
|
|
|
|
- // getLogList(false);
|
|
|
|
|
|
+
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
- function onLoadMore() {
|
|
|
|
|
|
+ function onLoadMore(isFreeze) {
|
|
|
|
+
|
|
if (state.loadStatus === 'noMore') {
|
|
if (state.loadStatus === 'noMore') {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
state.pagination.pageNo++;
|
|
state.pagination.pageNo++;
|
|
- getLogList();
|
|
|
|
|
|
+ getLogList(isFreeze);
|
|
}
|
|
}
|
|
|
|
|
|
onReachBottom(() => {
|
|
onReachBottom(() => {
|
|
|
|
+
|
|
onLoadMore();
|
|
onLoadMore();
|
|
});
|
|
});
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
|
|
+ .color-red{
|
|
|
|
+ color: red;
|
|
|
|
+ }
|
|
|
|
+ .color-green{
|
|
|
|
+ color: green;
|
|
|
|
+ }
|
|
.score-box {
|
|
.score-box {
|
|
margin: 20rpx;
|
|
margin: 20rpx;
|
|
border-radius: 20rpx;
|
|
border-radius: 20rpx;
|
|
@@ -325,11 +240,12 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ .model-box{
|
|
|
|
+ height: 50vh;
|
|
|
|
+ }
|
|
.list-box {
|
|
.list-box {
|
|
width: 500rpx;
|
|
width: 500rpx;
|
|
- height: 600rpx;
|
|
|
|
- padding: 0 20rpx;
|
|
|
|
|
|
+ padding: 0 30rpx;
|
|
overflow-y: auto;
|
|
overflow-y: auto;
|
|
|
|
|
|
.list-item {
|
|
.list-item {
|