You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
2.8 KiB
138 lines
2.8 KiB
![]()
1 year ago
|
<template>
|
||
|
<view class="points-body">
|
||
|
<view class="card flex ac jc">
|
||
|
<view class="balance">{{Number(user.integral.accountBalance).toFixed(0)}}</view>
|
||
|
<view class="label"> 当前积分 </view>
|
||
|
</view>
|
||
|
<view v-for="(item,index) in list" :key="index" class="points-item flex ac">
|
||
|
<view class="points-item-left oneflex">
|
||
|
<view class="label">{{item.type|type}}</view>
|
||
|
<view class="time">{{item.createTime}}</view>
|
||
|
</view>
|
||
|
<view class="points-item-right">
|
||
|
{{item.type==3||item.type==2?'-':'+'}}{{Number(item.occurAmount).toFixed(2)}}
|
||
|
</view>
|
||
|
</view>
|
||
|
<uni-load-more :status="loadingType"></uni-load-more>
|
||
|
</view>
|
||
|
</template>
|
||
|
<script>
|
||
|
import pointsApi from "@/api/product.js"
|
||
|
export default {
|
||
|
data() {
|
||
|
return {
|
||
|
user: uni.getStorageSync('user'),
|
||
|
list: [],
|
||
|
page: {
|
||
|
"currentPage": 1,
|
||
|
"pageSize": 10,
|
||
|
"params": {
|
||
|
"orderStatus": ""
|
||
|
}
|
||
|
},
|
||
|
loadingType: 'more', //加载更多状态
|
||
|
pageData: null
|
||
|
}
|
||
|
},
|
||
|
filters: {
|
||
|
type(e) {
|
||
|
switch (Number(e)) {
|
||
|
case 1:
|
||
|
return "加油收入";
|
||
|
case 2:
|
||
|
return "加油退款";
|
||
|
case 3:
|
||
|
return "商品兑换";
|
||
|
case 4:
|
||
|
return "商品兑换退款";
|
||
|
default:
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
onLoad() {
|
||
|
this.getList()
|
||
|
},
|
||
|
methods: {
|
||
|
onPullDownRefresh() {
|
||
|
this.page.currentPage = 1;
|
||
|
this.loadingType = 'more';
|
||
|
this.getList();
|
||
|
},
|
||
|
//加载更多
|
||
|
onReachBottom() {
|
||
|
this.page.currentPage += 1
|
||
|
this.getList();
|
||
|
},
|
||
|
async getList() {
|
||
|
if (this.loadingType === 'nomore') {
|
||
|
return;
|
||
|
};
|
||
|
await pointsApi.accountRecordByPage(this.page).then(res => {
|
||
|
if (res.code == 20000) {
|
||
|
this.list = this.page.currentPage != 1 ? this.list.concat(res.data.list) : res.data
|
||
|
.list;
|
||
|
this.loadingType = res.data.list.length < this.page.pageSize ? 'nomore' : 'more';
|
||
|
}
|
||
|
});
|
||
|
uni.stopPullDownRefresh()
|
||
|
},
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style lang="scss">
|
||
|
.points-body {
|
||
|
width: 100vw;
|
||
|
min-height: 100vh;
|
||
|
overflow: hidden;
|
||
|
padding-top: 357rpx;
|
||
|
background-color: #F2F2F2;
|
||
|
position: relative;
|
||
|
box-sizing: border-box;
|
||
|
|
||
|
.points-item {
|
||
|
background-color: #FFFFFF;
|
||
|
padding: 30rpx;
|
||
|
box-sizing: border-box;
|
||
|
border-bottom: solid 1rpx #F6F6F6;
|
||
|
|
||
|
.points-item-right {
|
||
|
color: #666666;
|
||
|
font-size: 28rpx;
|
||
|
}
|
||
|
|
||
|
.points-item-left {
|
||
|
.time {
|
||
|
font-size: 22rpx;
|
||
|
color: #999999;
|
||
|
}
|
||
|
|
||
|
.label {
|
||
|
color: #333333;
|
||
|
font-size: 28rpx;
|
||
|
margin-bottom: 15rpx;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.card {
|
||
|
width: 684rpx;
|
||
|
height: 337rpx;
|
||
|
background-color: #FE5439;
|
||
|
border-radius: 10rpx;
|
||
|
position: fixed;
|
||
|
top: 0;
|
||
|
left: 0;
|
||
|
right: 0;
|
||
|
margin: 10rpx auto;
|
||
|
color: #FFFFFF;
|
||
|
flex-direction: column;
|
||
|
|
||
|
.balance {
|
||
|
font-size: 64rpx;
|
||
|
font-weight: 600;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
</style>
|