index.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  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. if (tabIndex == 4) {
  43. wx.setNavigationBarTitle({
  44. title: "异常处理"
  45. })
  46. }
  47. if (type == 'check') {
  48. wx.setNavigationBarTitle({
  49. title: "租赁订单"
  50. })
  51. }
  52. this.setData({
  53. id,
  54. type,
  55. tabIndex
  56. })
  57. api.getProject(this)
  58. api.getByName(this, 'work-points/get', 'work_points', { type: 'drop_menu', project_id: id });
  59. api.getByName(this, 'orders/getRole', 'role', { id: id });
  60. this.getList();
  61. },
  62. navigate: function (e) {
  63. wx.navigateTo({
  64. url: e.currentTarget.dataset.url,
  65. })
  66. },
  67. search() {
  68. this.setData({
  69. list: [
  70. [],
  71. [],
  72. [],
  73. [],
  74. []
  75. ],
  76. pages: [1, 1, 1, 1, 1],
  77. touchBottom: [false, false, false, false, false],
  78. isSearch: true
  79. })
  80. this.getList()
  81. },
  82. getList: function () {
  83. var index = this.data.tabIndex
  84. var touchBottom = this.data.touchBottom[index]
  85. if (touchBottom) return false;
  86. var status = this.data.statuses[index]
  87. var page = this.data.pages[index]
  88. var that = this
  89. var work_point_id = this.data.work_point_id
  90. http({
  91. url: 'orders/get',
  92. data: {
  93. project_id: this.data.id,
  94. status: status,
  95. page: page,
  96. work_point_id: work_point_id,
  97. keyword: this.data.keyword,
  98. type: 1,
  99. is_draft: 2
  100. },
  101. success: function (res) {
  102. if (res.code == 0) {
  103. var list = that.data.list
  104. var touchBottom = that.data.touchBottom
  105. list[index] = list[index].concat(res.data);
  106. if (res.data.length <= 0) {
  107. touchBottom[index] = true;
  108. }
  109. that.setData({
  110. touchBottom,
  111. list,
  112. isSearch: false
  113. })
  114. }
  115. }
  116. })
  117. },
  118. switchTab: function (e) {
  119. var index = e.currentTarget.dataset.index
  120. this.setData({
  121. tabIndex: index
  122. })
  123. wx.pageScrollTo({
  124. scrollTop: 0,
  125. duration: 300
  126. })
  127. this.search()
  128. },
  129. onChange: function (e) {
  130. var name = e.currentTarget.dataset.name
  131. this.setData({
  132. [name]: e.detail.value
  133. })
  134. },
  135. onDropChange: function (e) {
  136. var name = e.currentTarget.dataset.name
  137. this.setData({
  138. [name]: e.detail
  139. })
  140. if (name == 'work_point_id') {
  141. this.search()
  142. }
  143. },
  144. /**
  145. * 生命周期函数--监听页面初次渲染完成
  146. */
  147. onReady: function () {
  148. },
  149. /**
  150. * 生命周期函数--监听页面显示
  151. */
  152. onShow: function () {
  153. },
  154. /**
  155. * 生命周期函数--监听页面隐藏
  156. */
  157. onHide: function () {
  158. },
  159. /**
  160. * 生命周期函数--监听页面卸载
  161. */
  162. onUnload: function () {
  163. },
  164. /**
  165. * 页面相关事件处理函数--监听用户下拉动作
  166. */
  167. onPullDownRefresh: function () {
  168. },
  169. /**
  170. * 页面上拉触底事件的处理函数
  171. */
  172. onReachBottom: function () {
  173. var index = this.data.tabIndex
  174. if (!this.data.isSearch && !this.data.touchBottom[index]) {
  175. var pages = this.data.pages
  176. pages[index] = pages[index] + 1;
  177. this.setData({
  178. pages
  179. })
  180. this.getList()
  181. }
  182. if (this.data.touchBottom[index]) {
  183. util.error('没有更多数据了')
  184. }
  185. },
  186. /**
  187. * 用户点击右上角分享
  188. */
  189. onShareAppMessage: function () {
  190. }
  191. })