From c014ad381ee34957809f2f5f4f4512441dc83e12 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:57:54 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BC=98=E5=8C=96]=20=E5=95=86=E5=AE=B6?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0=E6=BB=91?= =?UTF-8?q?=E5=8A=A8=E9=A1=B5=E9=9D=A2=E5=88=87=E6=8D=A2tab=E7=9A=84?= =?UTF-8?q?=E8=83=BD=E5=8A=9B=20[=E4=BF=AE=E6=94=B9]=20=E5=B1=8F=E8=94=BD?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E3=80=81=E7=94=A8=E6=88=B7=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E3=80=81=E5=95=86=E5=AE=B6=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E9=A1=B5=E9=9D=A2=E4=B8=8B=E6=8B=89=E5=88=B7?= =?UTF-8?q?=E6=96=B0=EF=BC=8C=E5=9B=A0=E4=B8=BAscroll-view=E5=B7=B2?= =?UTF-8?q?=E6=9C=89=EF=BC=8C=E5=A6=82=E6=9E=9C=E9=9C=80=E8=A6=81=E5=86=8D?= =?UTF-8?q?=E6=89=93=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages.json | 6 +- pages/order/index.vue | 7 +- pages/shopOrder/index.vue | 143 +++++++++++++++++++++----------------- 3 files changed, 85 insertions(+), 71 deletions(-) diff --git a/pages.json b/pages.json index 0b7d089..95bbaee 100644 --- a/pages.json +++ b/pages.json @@ -7,21 +7,21 @@ "path": "pages/index/index", "style": { "navigationBarTitleText": "首页", - "enablePullDownRefresh": true + "enablePullDownRefresh": false } }, { "path": "pages/order/index", "style": { "navigationBarTitleText": "我的订单", - "enablePullDownRefresh": true + "enablePullDownRefresh": false } }, { "path": "pages/shopOrder/index", "style": { "navigationBarTitleText": "商户订单", - "enablePullDownRefresh": true + "enablePullDownRefresh": false } }, { diff --git a/pages/order/index.vue b/pages/order/index.vue index 9e56340..eea3276 100644 --- a/pages/order/index.vue +++ b/pages/order/index.vue @@ -115,12 +115,7 @@ }, onShow() { this.verifyUserInfo(); - 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(); + this.refreshFn({}); }, methods: { // 检查当前用户登录状态 diff --git a/pages/shopOrder/index.vue b/pages/shopOrder/index.vue index 7ccd913..4e1a3b0 100644 --- a/pages/shopOrder/index.vue +++ b/pages/shopOrder/index.vue @@ -3,44 +3,48 @@ - - - - - - {{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 }} - - - - - + + + + + @@ -95,19 +99,17 @@ current: 0, // tab下表 pageSize: 10, assetsType: '', //账户类型 - orderType: [] + orderType: [], + windowHeight: 0, // 屏幕可用高度 + isRefresher: false // scroll-view下拉刷新状态,当前默认没有触发 } }, onLoad(e) { + this.windowHeight = getApp().globalData.windowHeight; this.assetsType = e.type }, onShow() { - 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(); + this.refreshFn({}); }, methods: { // 切换tab @@ -115,27 +117,17 @@ this.current = index; this.getUserOrder(); }, + // 滑块下标值变化 + swiperChange(event){ + this.current = event.detail.current; + if(event.detail.source == '') return; // 如果是被动出发,没有事件类型则不做处理 + this.getUserOrder(); + }, goDetails(tabIndex,index) { let item = this.tab_list[tabIndex].list[index] this.$routerGo('/pages/shopOrder/order-details?order_id=' + item.id) }, - 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_SHOPORDER, { @@ -145,21 +137,48 @@ }).then(res => { let isPage = res.data.has_more_page; tab_item.isPage = isPage; - if (isPage) { - tab_item.loadingClass = true; - tab_item.loadingText = '正在加载中'; - } else { + 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); } }) + }, + // 页面触底,加载下一页 + 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'}); + }, }