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