index.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. // pages/order/index.js
  2. import http from '../../utils/http'
  3. import util from '../../utils/util'
  4. import api from '../../utils/api'
  5. import Dialog from '../../miniprogram_npm/@vant/weapp/dialog/dialog';
  6. Page({
  7. /**
  8. * 页面的初始数据
  9. */
  10. data: {
  11. id: -1,
  12. project: null,
  13. tabs: ['全部订单', '待审核', '已审核', '已完成', '已驳回'],
  14. statuses: ['', 'checking', 'checked', 'pass', 'reject'],
  15. list: [
  16. [],
  17. [],
  18. [],
  19. [],
  20. []
  21. ],
  22. pages: [1, 1, 1, 1, 1],
  23. tabIndex: 0,
  24. touchBottom: [false, false, false, false, false],
  25. work_points: [],
  26. work_point_id: '',
  27. pointIndex: -1,
  28. isSearch: false,
  29. role: '',
  30. // list|check
  31. type: 'list'
  32. },
  33. /**
  34. * 生命周期函数--监听页面加载
  35. */
  36. onLoad: function (options) {
  37. // project_id
  38. console.log(options)
  39. var id = options.id ? options.id : 1
  40. var type = options.type ? options.type : 'list'
  41. var tabIndex = options.index ? options.index : 0
  42. this.setData({
  43. id,
  44. type,
  45. tabIndex
  46. })
  47. api.getProject(this)
  48. api.getByName(this, 'work-points/get', 'work_points', {type: 'drop_menu',project_id:id});
  49. api.getByName(this, 'orders/getRole', 'role', {id: id});
  50. this.getList();
  51. },
  52. navigate: function(e) {
  53. wx.navigateTo({
  54. url: e.currentTarget.dataset.url,
  55. })
  56. },
  57. search() {
  58. this.setData({
  59. list: [
  60. [],
  61. [],
  62. [],
  63. [],
  64. []
  65. ],
  66. pages: [1, 1, 1, 1, 1],
  67. touchBottom: [false, false, false, false, false],
  68. isSearch: true
  69. })
  70. this.getList()
  71. },
  72. getList: function () {
  73. var index = this.data.tabIndex
  74. var touchBottom = this.data.touchBottom[index]
  75. if (touchBottom) return false;
  76. var status = this.data.statuses[index]
  77. var page = this.data.pages[index]
  78. var that = this
  79. var work_point_id = this.data.work_point_id
  80. http({
  81. url: 'orders/get',
  82. data: {
  83. project_id: this.data.id,
  84. status: status,
  85. page: page,
  86. work_point_id: work_point_id,
  87. keyword: this.data.keyword,
  88. type: 1,
  89. is_draft: 2
  90. },
  91. success: function (res) {
  92. if (res.code == 0) {
  93. var list = that.data.list
  94. var touchBottom = that.data.touchBottom
  95. list[index] = list[index].concat(res.data);
  96. if (res.data.length <= 0) {
  97. touchBottom[index] = true;
  98. }
  99. that.setData({
  100. touchBottom,
  101. list,
  102. isSearch: false
  103. })
  104. }
  105. }
  106. })
  107. },
  108. switchTab: function (e) {
  109. var index = e.currentTarget.dataset.index
  110. this.setData({
  111. tabIndex: index
  112. })
  113. wx.pageScrollTo({
  114. scrollTop: 0,
  115. duration: 300
  116. })
  117. this.search()
  118. },
  119. onChange: function (e) {
  120. var name = e.currentTarget.dataset.name
  121. this.setData({
  122. [name]: e.detail.value
  123. })
  124. },
  125. onDropChange: function(e) {
  126. var name = e.currentTarget.dataset.name
  127. this.setData({
  128. [name]: e.detail
  129. })
  130. if(name == 'work_point_id') {
  131. this.search()
  132. }
  133. },
  134. /**
  135. * 生命周期函数--监听页面初次渲染完成
  136. */
  137. onReady: function () {
  138. },
  139. /**
  140. * 生命周期函数--监听页面显示
  141. */
  142. onShow: function () {
  143. },
  144. /**
  145. * 生命周期函数--监听页面隐藏
  146. */
  147. onHide: function () {
  148. },
  149. /**
  150. * 生命周期函数--监听页面卸载
  151. */
  152. onUnload: function () {
  153. },
  154. /**
  155. * 页面相关事件处理函数--监听用户下拉动作
  156. */
  157. onPullDownRefresh: function () {
  158. },
  159. /**
  160. * 页面上拉触底事件的处理函数
  161. */
  162. onReachBottom: function () {
  163. var index = this.data.tabIndex
  164. if(!this.data.isSearch && !this.data.touchBottom[index]) {
  165. var pages = this.data.pages
  166. pages[index] = pages[index] + 1;
  167. this.setData({
  168. pages
  169. })
  170. this.getList()
  171. }
  172. if(this.data.touchBottom[index]) {
  173. util.error('没有更多数据了')
  174. }
  175. },
  176. /**
  177. * 用户点击右上角分享
  178. */
  179. onShareAppMessage: function () {
  180. }
  181. })