order.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  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;
  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. this.orderRequest()
  37. },
  38. fail: function () {
  39. wx.lxd.Notify({
  40. message: "取消付款",
  41. icon: "warn-o"
  42. })
  43. },
  44. })
  45. }
  46. })
  47. },
  48. /**
  49. * 生命周期函数--监听页面加载
  50. */
  51. onLoad: function (options) {
  52. wx.lxd.Ctr({
  53. // nav
  54. title: "我的订单", //标题
  55. })
  56. },
  57. // tabs 切换
  58. tabs (e) {
  59. let { index: active } = e.detail;
  60. this.setData({
  61. active
  62. })
  63. this.orderRequest();
  64. },
  65. // 请求数据
  66. orderlist: [{
  67. totalPage: 1,
  68. currentPage: 1,
  69. }, {
  70. totalPage: 1,
  71. currentPage: 1,
  72. }, {
  73. totalPage: 1,
  74. currentPage: 1,
  75. }, {
  76. totalPage: 1,
  77. currentPage: 1,
  78. }],
  79. orderRequest () {
  80. let { active, orderlist } = this.data,
  81. status = active == 0 ? '' : active, that = this;
  82. if (this.orderlist[active]["totalPage"] < this.orderlist[active]["currentPage"]) return false;
  83. axios({
  84. url: "/order/",
  85. method: 'get',
  86. data: {
  87. status,
  88. limit: 10,
  89. page: that.orderlist[active]["currentPage"]
  90. },
  91. success (res) {
  92. let { totalPage, data } = res.data;
  93. orderlist[active] = [...orderlist[active], ...data];
  94. that.setData({ orderlist });
  95. wx.stopPullDownRefresh();
  96. that.orderlist[active]["totalPage"] = totalPage;
  97. that.orderlist[active]["currentPage"]++;
  98. }
  99. })
  100. },
  101. /**
  102. * 生命周期函数--监听页面初次渲染完成
  103. */
  104. onReady: function () {
  105. },
  106. /**
  107. * 生命周期函数--监听页面显示
  108. */
  109. onShow: function () {
  110. this.orderRequest()
  111. },
  112. /**
  113. * 生命周期函数--监听页面隐藏
  114. */
  115. onHide: function () {
  116. },
  117. /**
  118. * 生命周期函数--监听页面卸载
  119. */
  120. onUnload: function () {
  121. },
  122. /**
  123. * 页面相关事件处理函数--监听用户下拉动作
  124. */
  125. onPullDownRefresh: function () {
  126. let { active } = this.data;
  127. this.orderlist[active]["totalPage"] = 1;
  128. this.orderlist[active]["currentPage"] = 1;
  129. this.setData({
  130. orderlist: [[], [], [], []],
  131. })
  132. this.orderlist = [{
  133. totalPage: 1,
  134. currentPage: 1,
  135. }, {
  136. totalPage: 1,
  137. currentPage: 1,
  138. }, {
  139. totalPage: 1,
  140. currentPage: 1,
  141. }, {
  142. totalPage: 1,
  143. currentPage: 1,
  144. }],
  145. this.orderRequest()
  146. },
  147. /**
  148. * 页面上拉触底事件的处理函数
  149. */
  150. onReachBottom: function () {
  151. this.orderRequest()
  152. },
  153. })