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'});
+ }
}