耀实惠小程序
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.
 
 
 

180 lines
3.9 KiB

<template>
<view>
<u-picker mode="time" v-model="show_time" :params="params" @confirm="getTime"></u-picker>
<!-- 数据展示 -->
<view class="item_box">
<view class="item_title" @click="toChangeTime">
<text class="time">{{data_time}}</text>
<u-icon name="arrow-down"></u-icon>
</view>
<view class="item" v-for="(item,index) in list" :key="index">
<view class="left_box">
<view class="text_box">
<text class="title">{{item.name}}</text>
<text class="time">{{item.createTime}}</text>
</view>
</view>
<text class="get_num">{{item.payType==0?'+'+(item.getInteger+item.getMoney):'-¥'+item.wallet}}</text>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
data_time: "2021年7月",
show_time: false,
params: {
year: true,
month: true,
day: false,
hour: false,
minute: false,
second: false
},
list: [],
pageNo:1,
pageSize: 20,
total: null,
default_time: '',
isLock: false, //上拉加载锁
}
},
onLoad() {
this.default_time = new Date().getFullYear()+'-'+ (new Date().getMonth()+1>10? new Date().getMonth()+1: '0'+(new Date().getMonth()+1))
this.data_time = new Date().getFullYear()+'年' +(new Date().getMonth()+1)+'月';
this.getTopUpDetaleList({
pageNo: this.pageNo,
pageSize: this.pageSize,
stringDate: this.default_time.replace(/-/,'/')
});
},
onReachBottom() {
// 上拉加载
if(!this.isLock){
console.log(this.pageNo * this.pageSize , this.total)
if(this.pageNo * this.pageSize > this.total && this.total!== null) {
// 没有更多加载了
console.log(123)
this.isLock = true;
this.$Toast('没有更多数据了呢!');
setTimeout(()=> {
// 3秒后解锁
this.isLock = false;
},3000)
return
}
this.isLock = true;
this.pageNo+=1;
console.log(this.default_time)
this.getTopUpDetaleList({
pageNo: this.pageNo,
pageSize: this.pageSize,
stringDate: this.default_time.replace(/-/,'/')
})
}
},
methods: {
getTopUpDetaleList(params){
uni.showLoading();
this.$api('topUpDetail',params).then(res => {
let { code, result, message } = res;
this.isLock = false;
uni.hideLoading();
if (code === 200) {
if(this.total == null) {
this.total = result.total
}
this.list = this.list.concat(result.records);
} else {
this.$Toast(message)
}
}).catch(err => {
this.isLock = false;
uni.hideLoading();
this.$Toast(err.message)
})
},
toChangeTime() {
this.show_time = true;
console.log(123)
},
getTime(e) {
this.data_time = e.year+"年"+ (e.month>10?e.month:e.month.replace(/0/,'')) +"月";
this.default_time= `${e.year}-${e.month}`;
// 初始化数据
this.list = [];
this.pageNo = 1;
this.total = null;
const params = {
pageNo: this.pageNo,
pageSize: this.pageSize,
stringDate: `${e.year}/${e.month}`
}
console.log(params)
this.getTopUpDetaleList(params)
},
}
}
</script>
<style lang="scss" scoped>
.item_box {
display: flex;
flex-direction: column;
justify-content: center;
.item_title {
padding-top: 33rpx;
margin-left: 60rpx;
.time {
margin-right: 22rpx;
}
}
.item {
width: 670rpx;
margin: 0 auto;
border-bottom: 1rpx solid #E0E0E0;
display: flex;
justify-content: space-between;
align-items: center;
&:last-child {
border-bottom: none;
}
.get_num {
font-size: 24rpx;
color: #DD0F00;
}
.left_box {
display: flex;
align-items: center;
margin-top: 21rpx;
padding-bottom: 20rpx;
.text_box {
display: flex;
flex-direction: column;
.title {
font-size: 24rpx;
font-weight: bold;
color: #333333;
}
.time {
font-size: 20rpx;
color: #9A9A9A;
}
}
}
}
}
</style>