|
|
- <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>
|