index.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. // pages/filter/index.js
  2. import http from '../../utils/http'
  3. import util from '../../utils/util'
  4. import api from '../../utils/api'
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. active: 0,
  11. devices: [],
  12. device_ids: [''],
  13. names: [],
  14. device_name_ids: [''],
  15. specs: [],
  16. spec_ids: [''],
  17. rent_types: [],
  18. rent_type_ids: ['']
  19. },
  20. /**
  21. * 生命周期函数--监听页面加载
  22. */
  23. onLoad: function (options) {
  24. api.getByName(this, 'devices/get', 'devices', {type: 'drop_menu'});
  25. api.getByName(this, 'device-names/get', 'names', {type: 'drop_menu'});
  26. api.getByName(this, 'specs/get', 'specs', {type: 'drop_menu'});
  27. api.getByName(this, 'rent-types/get', 'rent_types', {type: 'drop_menu'});
  28. },
  29. onChange: function(e) {
  30. var name = e.currentTarget.dataset.name
  31. this.setData({
  32. [name]: e.detail
  33. })
  34. if(['device_id', 'device_name_id'].indexOf(name) != -1) {
  35. if(name == 'device_id') {
  36. this.setData({
  37. device_name_id: '',
  38. spec_id: ''
  39. })
  40. }
  41. if(name == 'device_name_id') {
  42. this.setData({
  43. spec_id: ''
  44. })
  45. }
  46. this.updateNameSpec()
  47. }
  48. },
  49. confirm: function() {
  50. this.saveFilter()
  51. wx.navigateBack()
  52. },
  53. /**
  54. * 生命周期函数--监听页面初次渲染完成
  55. */
  56. onReady: function () {
  57. },
  58. delete: function(e) {
  59. var name = e.currentTarget.dataset.name
  60. var index = e.currentTarget.dataset.index
  61. var items = this.data[name]
  62. items.splice(index, 1)
  63. this.setData({
  64. [name]: items
  65. })
  66. },
  67. add: function(e) {
  68. var name = e.currentTarget.dataset.name
  69. var items = this.data[name]
  70. if(!items[items.length - 1]) {
  71. util.error('请先选择');
  72. return false
  73. }
  74. items.push('')
  75. this.setData({
  76. [name]: items
  77. })
  78. },
  79. onDropChange: function(e) {
  80. var index = e.currentTarget.dataset.index
  81. var name = e.currentTarget.dataset.name
  82. var val = e.detail
  83. var items = this.data[name]
  84. items[index] = val
  85. this.setData({
  86. [name]: items
  87. })
  88. },
  89. /**
  90. * 生命周期函数--监听页面显示
  91. */
  92. onShow: function () {
  93. var data = wx.getStorageSync('sg-data-filters')
  94. this.setData(data)
  95. },
  96. /**
  97. * 生命周期函数--监听页面隐藏
  98. */
  99. onHide: function () {
  100. this.saveFilter()
  101. },
  102. saveFilter() {
  103. var data = {
  104. devices: this.data.devices,
  105. device_ids: this.data.device_ids,
  106. names: this.data.names,
  107. device_name_ids: this.data.device_name_ids,
  108. specs: this.data.specs,
  109. spec_ids: this.data.spec_ids,
  110. rent_types: this.data.rent_types,
  111. rent_type_ids: this.data.rent_type_ids
  112. }
  113. wx.setStorageSync('sg-data-filters', data)
  114. },
  115. /**
  116. * 生命周期函数--监听页面卸载
  117. */
  118. onUnload: function () {
  119. },
  120. /**
  121. * 页面相关事件处理函数--监听用户下拉动作
  122. */
  123. onPullDownRefresh: function () {
  124. },
  125. /**
  126. * 页面上拉触底事件的处理函数
  127. */
  128. onReachBottom: function () {
  129. },
  130. /**
  131. * 用户点击右上角分享
  132. */
  133. onShareAppMessage: function () {
  134. }
  135. })