index.js 4.2 KB

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