material_serch.js 4.0 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. http.send_get("/system/AppMaterialController/geMaterialList", data, this.getMaterListSuccess)
  59. },
  60. getMaterListSuccess(res) {
  61. if (res.code == 200) {
  62. // 显示加载图标
  63. wx.showLoading({
  64. title: '玩命加载中',
  65. })
  66. var that = this
  67. if (res.data.rows.length == 0) {
  68. wx.showToast({
  69. title: '暂无更多数据',
  70. icon: "none"
  71. })
  72. }
  73. if (this.data.isRefresh) {
  74. this.setData({
  75. materialList: res.data.rows,
  76. total: res.data.total
  77. })
  78. // 隐藏导航栏加载框
  79. setTimeout(function () {
  80. that.setData({
  81. loadingData: false
  82. });
  83. wx.hideNavigationBarLoading();
  84. // 停止下拉动作
  85. wx.stopPullDownRefresh();
  86. wx.hideLoading()
  87. }, 1000)
  88. } else {
  89. this.setData({
  90. materialList: this.data.materialList.concat(res.data.rows)
  91. })
  92. // 隐藏加载框
  93. setTimeout(function () {
  94. that.setData({
  95. hidden: true,
  96. loadingData: false
  97. });
  98. wx.hideLoading();
  99. }, 1000)
  100. }
  101. } else {
  102. //("@@!", "请求失败")
  103. }
  104. },
  105. onPullDownRefresh: function () {
  106. // 显示顶部刷新图标
  107. if (this.data.serchValue == "") {
  108. wx.showToast({
  109. title: '请输入搜索内容',
  110. icon: 'error'
  111. })
  112. return
  113. }
  114. wx.showNavigationBarLoading();
  115. var that = this;
  116. var loadingData = this.data.loadingData
  117. if (loadingData) {
  118. return;
  119. }
  120. that.setData({
  121. pageNum: 1,
  122. isRefresh: true
  123. })
  124. let obj = new Object()
  125. obj.pageNum = this.data.pageNum
  126. obj.materialName = this.data.serchValue
  127. obj.pageSize = 10
  128. obj.reasonable = false
  129. this.list(obj)
  130. },
  131. /**
  132. * 页面上拉触底事件的处理函数
  133. */
  134. onReachBottom: function () {
  135. let that = this
  136. var loadingData = that.data.loadingData
  137. var hidden = that.data.hidden
  138. // 页数+1
  139. that.setData({
  140. pageNum: that.data.pageNum + 1,
  141. isRefresh: false
  142. })
  143. if (hidden) {
  144. that.setData({
  145. hidden: false
  146. });
  147. console.info(that.data.hidden);
  148. }
  149. if (loadingData) {
  150. return;
  151. }
  152. that.setData({
  153. loadingData: true
  154. });
  155. //console.log("@@@@"+Math.ceil(this.data.total/10))
  156. // if(Math.ceil(that.data.total/10)>=that.data.pageNum){
  157. // that.loadData();
  158. let obj = new Object()
  159. obj.pageNum = that.data.pageNum
  160. obj.materialName = that.data.serchValue
  161. obj.pageSize = 10
  162. obj.reasonable = false
  163. that.list(obj)
  164. // }else{
  165. // setTimeout(function () {
  166. // that.setData({
  167. // hidden: true,
  168. // });
  169. // }, 2000)
  170. // }
  171. },
  172. })