zhanghongrui 2 лет назад
Родитель
Сommit
d71a919b76
2 измененных файлов с 144 добавлено и 5 удалено
  1. 141 5
      pages/search/search.js
  2. 3 0
      pages/search/search.json

+ 141 - 5
pages/search/search.js

@@ -9,14 +9,36 @@ Page({
     enterpriseList: [],
     enterpriseCode:'',
     keyword:'',
+    /**
+     * 控制上拉到底部时是否出现 "数据加载中..."
+     */
+    hidden: true,
+    /**
+     * 数据是否正在加载中,避免数据多次加载
+     */
+    loadingData: false,
+ 
+    isRefresh: true,
+    total: 0,
+    pageNum: 1 // 页码
   },
   onLoad() {
   },
-  onShow(){
+
+   //加载数据
+   loadData: function () {
     var obj = new Object()
+    obj.pageNum = this.data.pageNum
+    obj.pageSize = 10
+    obj.reasonable= false
     // obj.businessName = e.detail.value
     obj.searchValue=this.data.keyword,
     this.list(obj)
+
+
+  },
+  onShow(){
+   this.loadData();
   },
  
   // 企业详细页
@@ -61,9 +83,123 @@ Page({
 
   getQiyeEnterpriseListSuccess(res) {
     
-    this.setData({
-      enterpriseList: res.rows
-    })
-  }
+    if(res.code==200){
+      // 显示加载图标
+      wx.showLoading({
+       title: '玩命加载中',
+     })
+   
+     var that = this
+ 
+     if(res.data.rows.length==0){
+       wx.showToast({
+         title: '暂无更多数据',
+         icon:"none"
+       })
+       that.setData({
+         hidden: true,
+         loadingData: false
+       });
+     
+     }
+     if (this.data.isRefresh) {
+       this.setData({
+         enterpriseList: res.data.rows,
+         total: res.data.total
+       })
+ 
+ 
+ 
+       // 隐藏导航栏加载框
+       setTimeout(function () {
+         that.setData({
+           loadingData: false
+         });
+         wx.hideNavigationBarLoading();
+         // 停止下拉动作
+         wx.stopPullDownRefresh();
+         wx.hideLoading()
+ 
+       }, 1000)
+ 
+     } else {
+       this.setData({
+         enterpriseList: this.data.enterpriseList.concat(res.data.rows)
+       })
+       // 隐藏加载框
+ 
+       setTimeout(function () {
+         that.setData({
+           hidden: true,
+           loadingData: false
+         });
+ 
+         wx.hideLoading();
+       }, 1000)
+ 
+     }
+   }else{
+  
+   }
+   },
+   onPullDownRefresh: function () {
+     // 显示顶部刷新图标
+     wx.showNavigationBarLoading();
+     var that = this;
+     var loadingData = this.data.loadingData
+     if (loadingData) {
+       return;
+     }
+     that.setData({
+       pageNum: 1,
+       isRefresh: true
+     })
+     this.loadData()
+   },
+   /**
+    * 页面上拉触底事件的处理函数
+    */
+   onReachBottom: function () {
+     let that = this
+     var loadingData = that.data.loadingData
+    
+     var hidden = that.data.hidden
+     // 页数+1
+     that.setData({
+       pageNum: that.data.pageNum + 1,
+       isRefresh: false
+     })
+     if (hidden) {
+       that.setData({
+         hidden: false
+       });
+       console.info(that.data.hidden);
+     }
+ 
+     if (loadingData) {
+       return;
+     }
+     that.setData({
+       loadingData: true
+     });
+ 
+     
+     //console.log("@@@@"+Math.ceil(this.data.total/10))
+    // if(Math.ceil(that.data.total/10)>=that.data.pageNum){
+       that.loadData();
+   
+     // }else{
+      
+     //   setTimeout(function () {
+     //     that.setData({
+     //       hidden: true,
+     //     });
+ 
+     //   }, 2000)
+     // }
+ 
+    
+   },
+ 
 
 })

+ 3 - 0
pages/search/search.json

@@ -2,5 +2,8 @@
   "usingComponents": {},
   "navigationBarBackgroundColor": "#f94b0e",
     "navigationBarTextStyle": "white",
+    "enablePullDownRefresh": true,
+    "onPullDownRefresh": true,
+    "onReachBottom": true,
     "navigationBarTitleText": "搜索"
 }