material_serch.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. import http from '../../../base/httputil'
  2. const app = getApp()
  3. Page({
  4. /**
  5. * 组件的初始数据
  6. */
  7. data: {
  8. host: app.globalData.host,
  9. materialList: [],
  10. /**
  11. * 控制上拉到底部时是否出现 "数据加载中..."
  12. */
  13. hidden: true,
  14. /**
  15. * 数据是否正在加载中,避免数据多次加载
  16. */
  17. loadingData: false,
  18. isRefresh: true,
  19. total: 0,
  20. pageNum: 1, // 页码
  21. serchValue: ""
  22. },
  23. onLoad() {
  24. // this.list(null)
  25. },
  26. // 搜索结果跳页
  27. bindViewSearchEnd() {
  28. // wx.navigateTo({
  29. // url: '../search/search'
  30. // })
  31. },
  32. // 物资详情页
  33. bindViewDetails(e) {
  34. let material_details = e.currentTarget.dataset.index
  35. wx.navigateTo({
  36. url: '../details/material_details?details=' + JSON.stringify(material_details)
  37. })
  38. },
  39. searchEnterprise(e) {
  40. var obj = new Object()
  41. //每次搜索初始化数据
  42. this.setData({
  43. serchValue: e.detail.value,
  44. materialList: [],
  45. hidden: true,
  46. loadingData: false,
  47. isRefresh: true,
  48. total: 0,
  49. pageNum: 1, // 页
  50. })
  51. obj.materialName = e.detail.value
  52. obj.pageNum = this.data.pageNum
  53. obj.pageSize = 10
  54. obj.reasonable = false
  55. this.list(obj)
  56. },
  57. list(data) {
  58. console.log("$$$$$-=-=-=-"+data.materialName);
  59. http.send_get("/system/AppMaterialController/geMaterialList", data, this.getMaterListSuccess)
  60. },
  61. getMaterListSuccess(res) {
  62. if (res.code == 200) {
  63. // 显示加载图标
  64. wx.showLoading({
  65. title: '玩命加载中',
  66. })
  67. var that = this
  68. if (res.data.rows.length == 0) {
  69. wx.showToast({
  70. title: '暂无更多数据',
  71. icon: "none"
  72. })
  73. }
  74. if (this.data.isRefresh) {
  75. this.setData({
  76. materialList: res.data.rows,
  77. total: res.data.total
  78. })
  79. // 隐藏导航栏加载框
  80. setTimeout(function () {
  81. that.setData({
  82. loadingData: false
  83. });
  84. wx.hideNavigationBarLoading();
  85. // 停止下拉动作
  86. wx.stopPullDownRefresh();
  87. wx.hideLoading()
  88. }, 1000)
  89. } else {
  90. this.setData({
  91. materialList: this.data.materialList.concat(res.data.rows)
  92. })
  93. // 隐藏加载框
  94. setTimeout(function () {
  95. that.setData({
  96. hidden: true,
  97. loadingData: false
  98. });
  99. wx.hideLoading();
  100. }, 1000)
  101. }
  102. } else {
  103. console.log("@@!", "请求失败")
  104. }
  105. },
  106. onPullDownRefresh: function () {
  107. // 显示顶部刷新图标
  108. if (this.data.serchValue == "") {
  109. wx.showToast({
  110. title: '请输入搜索内容',
  111. icon: 'error'
  112. })
  113. return
  114. }
  115. wx.showNavigationBarLoading();
  116. var that = this;
  117. var loadingData = this.data.loadingData
  118. if (loadingData) {
  119. return;
  120. }
  121. that.setData({
  122. pageNum: 1,
  123. isRefresh: true
  124. })
  125. let obj = new Object()
  126. obj.pageNum = this.data.pageNum
  127. obj.materialName = this.data.serchValue
  128. obj.pageSize = 10
  129. obj.reasonable = false
  130. this.list(obj)
  131. },
  132. /**
  133. * 页面上拉触底事件的处理函数
  134. */
  135. onReachBottom: function () {
  136. let that = this
  137. var loadingData = that.data.loadingData
  138. var hidden = that.data.hidden
  139. // 页数+1
  140. that.setData({
  141. pageNum: that.data.pageNum + 1,
  142. isRefresh: false
  143. })
  144. if (hidden) {
  145. that.setData({
  146. hidden: false
  147. });
  148. console.info(that.data.hidden);
  149. }
  150. if (loadingData) {
  151. return;
  152. }
  153. that.setData({
  154. loadingData: true
  155. });
  156. //console.log("@@@@"+Math.ceil(this.data.total/10))
  157. // if(Math.ceil(that.data.total/10)>=that.data.pageNum){
  158. // that.loadData();
  159. let obj = new Object()
  160. obj.pageNum = that.data.pageNum
  161. obj.materialName = that.data.serchValue
  162. obj.pageSize = 10
  163. obj.reasonable = false
  164. that.list(obj)
  165. // }else{
  166. // setTimeout(function () {
  167. // that.setData({
  168. // hidden: true,
  169. // });
  170. // }, 2000)
  171. // }
  172. },
  173. })