order.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. // pages/order/order.js
  2. const app = getApp()
  3. const { axios } = app.globalData;
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. active: 0,
  10. orderlist: [[], [], [], []],
  11. },
  12. // 付款
  13. pay (e) {
  14. let { item } = e.currentTarget.dataset, obj = {}, id = null, shopdetail = {};
  15. let { appid, user } = app.globalData, { openid } = user, that = this;
  16. axios({
  17. url: `/order/${item.id}/pay_order/`,
  18. method: 'post',
  19. data: {
  20. appid, openid
  21. },
  22. success (res) {
  23. let { data } = res.data;
  24. wx.requestPayment({
  25. timeStamp: data.timeStamp,
  26. nonceStr: data.nonceStr,
  27. package: data.package,
  28. signType: data.signType,
  29. paySign: data.paySign,
  30. success: function (res) {
  31. wx.lxd.Notify({
  32. message: "付款成功",
  33. type: 'success',
  34. icon: "certificate"
  35. })
  36. let { active } = that.data;
  37. that.orderlist[active]["totalPage"] = 1;
  38. that.orderlist[active]["currentPage"] = 1;
  39. that.setData({
  40. orderlist: [[], [], [], []],
  41. })
  42. that.orderlist = [{
  43. totalPage: 1,
  44. currentPage: 1,
  45. }, {
  46. totalPage: 1,
  47. currentPage: 1,
  48. }, {
  49. totalPage: 1,
  50. currentPage: 1,
  51. }, {
  52. totalPage: 1,
  53. currentPage: 1,
  54. }],
  55. that.orderRequest()
  56. },
  57. fail: function () {
  58. wx.lxd.Notify({
  59. message: "取消付款",
  60. icon: "warn-o"
  61. })
  62. },
  63. })
  64. }
  65. })
  66. },
  67. /**
  68. * 生命周期函数--监听页面加载
  69. */
  70. onLoad: function (options) {
  71. wx.lxd.Ctr({
  72. // nav
  73. title: "我的订单", //标题
  74. })
  75. },
  76. // tabs 切换
  77. tabs (e) {
  78. let { index: active } = e.detail;
  79. this.setData({
  80. active
  81. })
  82. this.orderRequest();
  83. },
  84. // 请求数据
  85. orderlist: [{
  86. totalPage: 1,
  87. currentPage: 1,
  88. }, {
  89. totalPage: 1,
  90. currentPage: 1,
  91. }, {
  92. totalPage: 1,
  93. currentPage: 1,
  94. }, {
  95. totalPage: 1,
  96. currentPage: 1,
  97. }],
  98. orderRequest () {
  99. let { active, orderlist } = this.data,
  100. status = active == 0 ? '' : active, that = this;
  101. if (this.orderlist[active]["totalPage"] < this.orderlist[active]["currentPage"]) return false;
  102. axios({
  103. url: "/order/",
  104. method: 'get',
  105. data: {
  106. status,
  107. limit: 10,
  108. page: that.orderlist[active]["currentPage"]
  109. },
  110. success (res) {
  111. let { totalPage, data } = res.data;
  112. orderlist[active] = [...orderlist[active], ...data];
  113. that.setData({ orderlist });
  114. wx.stopPullDownRefresh();
  115. that.orderlist[active]["totalPage"] = totalPage;
  116. that.orderlist[active]["currentPage"]++;
  117. }
  118. })
  119. },
  120. /**
  121. * 生命周期函数--监听页面初次渲染完成
  122. */
  123. onReady: function () {
  124. },
  125. /**
  126. * 生命周期函数--监听页面显示
  127. */
  128. onShow: function () {
  129. this.orderRequest()
  130. },
  131. /**
  132. * 生命周期函数--监听页面隐藏
  133. */
  134. onHide: function () {
  135. },
  136. /**
  137. * 生命周期函数--监听页面卸载
  138. */
  139. onUnload: function () {
  140. },
  141. /**
  142. * 页面相关事件处理函数--监听用户下拉动作
  143. */
  144. onPullDownRefresh: function () {
  145. let { active } = this.data;
  146. this.orderlist[active]["totalPage"] = 1;
  147. this.orderlist[active]["currentPage"] = 1;
  148. this.setData({
  149. orderlist: [[], [], [], []],
  150. })
  151. this.orderlist = [{
  152. totalPage: 1,
  153. currentPage: 1,
  154. }, {
  155. totalPage: 1,
  156. currentPage: 1,
  157. }, {
  158. totalPage: 1,
  159. currentPage: 1,
  160. }, {
  161. totalPage: 1,
  162. currentPage: 1,
  163. }],
  164. this.orderRequest()
  165. },
  166. /**
  167. * 页面上拉触底事件的处理函数
  168. */
  169. onReachBottom: function () {
  170. this.orderRequest()
  171. },
  172. })