monitor.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. // pages/monitor/monitor.js
  2. const api = require('../../api/index')
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. tableData:[],
  9. queryParams:{
  10. current:1,
  11. size:10
  12. },
  13. total:0,
  14. menu:[
  15. {
  16. label:'监控记录',
  17. method:'monitoringRecord'
  18. }
  19. ],
  20. triggered:false,
  21. load:false,
  22. hasMore:true,
  23. showPopup:false,
  24. changeFollow:false,
  25. },
  26. /**
  27. * 生命周期函数--监听页面加载
  28. */
  29. onLoad(options) {
  30. },
  31. /**
  32. * 生命周期函数--监听页面初次渲染完成
  33. */
  34. onReady() {
  35. this.init()
  36. },
  37. /**
  38. * 生命周期函数--监听页面显示
  39. */
  40. onShow() {
  41. },
  42. /**
  43. * 页面功能
  44. */
  45. //关注和监控
  46. closePopup(e){
  47. this.setData(
  48. {
  49. showPopup:false
  50. }
  51. )
  52. wx.nextTick(() => {
  53. this.setData({ changeFollow: false }) // 在当前同步流程结束后,下一个时间片执行
  54. })
  55. },
  56. openPopup(e){
  57. console.log(e)
  58. this.setData(
  59. {
  60. showPopup:true
  61. }
  62. )
  63. if(e.detail && e.detail.changeFollow){
  64. this.setData(
  65. {
  66. changeFollow:true
  67. }
  68. )
  69. }
  70. },
  71. attention(e){
  72. const childComponent = this.selectComponent('#myProduct');
  73. if (childComponent) {
  74. childComponent.attention(e); // 调用子组件的方法
  75. }
  76. },
  77. cancelFollow(e){
  78. const childComponent = this.selectComponent('#myProduct');
  79. // var {type} = e.detail
  80. if (childComponent) {
  81. childComponent.cancelFollow(e); // 调用子组件的方法
  82. }
  83. },
  84. //初始化加载
  85. init(){
  86. var params = {
  87. current:1,
  88. size:10
  89. }
  90. this.setData(
  91. {
  92. queryParams:params,
  93. total:0,
  94. tableData:[],
  95. hasMore:true
  96. }
  97. )
  98. this.getMyMonitor()
  99. },
  100. //下拉刷新
  101. onRefresh() {
  102. console.log('onRefresh')
  103. this.setData({
  104. triggered: true,
  105. })
  106. this.init()
  107. },
  108. //获取监控产品
  109. getMyMonitor(type){
  110. var params = {
  111. ...this.data.queryParams
  112. }
  113. wx.showLoading({
  114. title: '加载中',
  115. })
  116. api.selectMonitoring(params).then(res=>{
  117. if(res.code == 200){
  118. var data = this.data.tableData
  119. wx.hideLoading()
  120. if(type){
  121. var startIndex = (this.data.queryParams.current-1)*this.data.queryParams.size
  122. var endIndex = data.length
  123. var len = endIndex - startIndex
  124. data.splice(startIndex,len,...res.data.data)
  125. }else{
  126. data = data.concat(res.data.data)
  127. }
  128. this.setData(
  129. {
  130. tableData:data,
  131. total:res.data.total,
  132. triggered: false,
  133. load:false
  134. }
  135. )
  136. if(this.data.total<=data.length){
  137. this.setData({
  138. hasMore:false
  139. })
  140. }
  141. api.notify(
  142. {
  143. type:'success',
  144. message:'查询成功',
  145. top:wx.getStorageSync('height')
  146. }
  147. )
  148. }
  149. }).catch(error=>{
  150. wx.hideLoading()
  151. this.setData({
  152. triggered: false,
  153. load:false
  154. })
  155. })
  156. },
  157. //加载更多
  158. loadMore(){
  159. var current = this.data.queryParams.current
  160. this.setData(
  161. {
  162. ['queryParams.current']:current+1,
  163. load:true
  164. }
  165. )
  166. this.getMyMonitor()
  167. },
  168. //取消监控
  169. cancelMonitoring(e){
  170. var index = e.detail
  171. var data = this.data.tableData
  172. data.splice(index,1)
  173. this.setData(
  174. {
  175. tableData:data
  176. }
  177. )
  178. this.getMyMonitor(1)
  179. },
  180. //按钮菜单点击事件
  181. click(e){
  182. var {method,params} = e.detail
  183. this[method](params)
  184. },
  185. //查看监控结果
  186. monitoringRecord(params){
  187. var index = params.index
  188. var product = this.data.tableData[index]
  189. wx.navigateTo({
  190. url: '/pages/monitor/monitoringRecord?id='+product.assoId+'&productName='+product.name,
  191. })
  192. },
  193. /**
  194. * 生命周期函数--监听页面隐藏
  195. */
  196. onHide() {
  197. },
  198. /**
  199. * 生命周期函数--监听页面卸载
  200. */
  201. onUnload() {
  202. },
  203. /**
  204. * 页面相关事件处理函数--监听用户下拉动作
  205. */
  206. onPullDownRefresh() {
  207. },
  208. /**
  209. * 页面上拉触底事件的处理函数
  210. */
  211. onReachBottom() {
  212. },
  213. /**
  214. * 用户点击右上角分享
  215. */
  216. onShareAppMessage() {
  217. }
  218. })