From 3fe0724e19d23b2c4e55a8135eac511c49bb5539 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=93=E5=B9=B3=E8=89=BA?= <52643018@qq.com> Date: Fri, 2 Jul 2021 11:39:14 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BC=98=E5=8C=96]=20=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E6=BB=91=E5=8A=A8=E5=88=87=E6=8D=A2tab=E5=A4=9A=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E4=BA=86=E4=B8=80=E6=AC=A1=E6=8E=A5=E5=8F=A3=20[?= =?UTF-8?q?=E4=BC=98=E5=8C=96]=20=E7=94=A8=E6=88=B7=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0=E6=BB=91=E5=8A=A8page?= =?UTF-8?q?=E5=88=87=E6=8D=A2tab=E7=9A=84=E8=83=BD=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/index/index.vue | 4 + pages/order/index.vue | 195 ++++++++++++++++++++---------------------- 2 files changed, 99 insertions(+), 100 deletions(-) diff --git a/pages/index/index.vue b/pages/index/index.vue index 32f1cf4..415fccc 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -80,6 +80,10 @@ // 滑块下标值变化 swiperChange(event){ this.current = event.detail.current; + if(event.detail.source == '') return; // 如果是被动出发,没有事件类型则不做处理 + if(this.tab_list[event.detail.current].list.length <= 0){ + this.getGoodsList(); // tab下没有数据,请求第一页 + } }, // 获取分类tab getCategoryList(options = {}){ diff --git a/pages/order/index.vue b/pages/order/index.vue index 3660549..9e56340 100644 --- a/pages/order/index.vue +++ b/pages/order/index.vue @@ -4,47 +4,51 @@ - - - - - - {{item.state_text.text}} - - - {{item.goods.name}} - - 数量 - x {{item.number}} + + + + + + + + {{item.state_text.text}} + + + {{item.goods.name}} + + 数量 + x {{item.number}} + + + + + + + + - - - - - + + + + {{item.created_at_text}} + + + {{item.comment_text}} + + - - - - - {{item.created_at_text}} - - - {{item.comment_text}} - + + + {{ tab.loadingText }} + - - - - - {{ tab.loadingText }} - - - - - + + + + + @@ -100,10 +104,13 @@ pageSize: 10, assetsType: '', //账户类型 orderType: [], - showLogin: true + showLogin: true, + windowHeight: 0, // 屏幕可用高度 + isRefresher: false // scroll-view下拉刷新状态,当前默认没有触发 } }, onLoad(e) { + this.windowHeight = getApp().globalData.windowHeight; this.assetsType = e.type; }, onShow() { @@ -134,6 +141,12 @@ this.current = index; this.getUserOrder(); }, + // 滑块下标值变化 + swiperChange(event){ + this.current = event.detail.current; + if(event.detail.source == '') return; // 如果是被动出发,没有事件类型则不做处理 + this.getUserOrder(); + }, goDetails(tabIndex,index) { console.log(tabIndex,index) let item = this.tab_list[tabIndex].list[index] @@ -146,23 +159,8 @@ } }, - onReachBottom() { - let tab_item = this.tab_list[this.current]; - if (tab_item.isPage) { - tab_item.page = tab_item.page + 1; - this.getUserOrder(); - } - }, - onPullDownRefresh() { - let tab_item = this.tab_list[this.current]; - tab_item.page = 1; - tab_item.isPage = true; - tab_item.loadingClass = true; - tab_item.loadingText = '正在加载中'; - this.getUserOrder(); - uni.stopPullDownRefresh() - }, - getUserOrder() { + + getUserOrder(options = {}) { let per_page = this.pageSize; let tab_item = this.tab_list[this.current]; this.$http(this.API.API_USERORDER, { @@ -170,57 +168,54 @@ page: tab_item.page, per_page }).then(res => { - if (res.code == 0) { - console.log(res) - if( Object.keys(res.metal_data).length != 0 ) { - this.$routerGo('/pages/login/index?type=userinfo') - }else { - let isPage = res.data.has_more_page; - tab_item.isPage = isPage; - if (isPage) { - tab_item.loadingClass = true; - tab_item.loadingText = '正在加载中'; - } else { - tab_item.loadingClass = false; - tab_item.loadingText = '没有更多数据啦~'; - } - if (tab_item.page == 1) { - tab_item.list = res.data.items; - } else { - tab_item.list.push(...res.data.items); - } + if( Object.keys(res.metal_data).length != 0 ) { + this.$routerGo('/pages/login/index?type=userinfo') + }else { + let isPage = res.data.has_more_page; + tab_item.isPage = isPage; + if (!isPage) { + tab_item.loadingClass = false; + tab_item.loadingText = '没有更多数据啦~'; + } + if(options.type == 'pageRefresh'){ + uni.stopPullDownRefresh(); + }else if(options.type == 'scrollRefresh'){ + this.isRefresher = false; + } + if (tab_item.page == 1) { + tab_item.list = res.data.items; + } else { + tab_item.list.push(...res.data.items); } } - - }).catch(err => { - - }); + }) }, - //返回 - back() { - if (this.assetsType === 'all2') { - // #ifdef H5 - window.history.go(-2) - // #endif - - // #ifndef H5 - uni.navigateBack({ - delta: 2 - }); - // #endif - } else { - // #ifdef H5 - window.history.go(-1) - // #endif - - // #ifndef H5 - uni.navigateBack({ - delta: 1 - }); - // #endif + // 页面触底,加载下一页 + onScrolltolower(){ + let tab_item = this.tab_list[this.current]; + if(tab_item.isPage){ + tab_item.page = tab_item.page + 1; + this.getUserOrder(); } + }, + // scroll-view 下拉刷新 + onRefresherrefresh(){ + this.isRefresher = true; + this.refreshFn({type: 'scrollRefresh'}); + }, + // 下拉刷新处理 + refreshFn(options){ + let tab_item = this.tab_list[this.current]; + tab_item.page = 1; + tab_item.isPage = true; + tab_item.loadingClass = true; + tab_item.loadingText = '正在加载中'; + this.getUserOrder(options); } }, + onPullDownRefresh() { + this.refreshFn({type: 'pageRefresh'}); + } }