order.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. import {
  2. drawById
  3. } from "../../utils/qrcode"
  4. import orderApi from '../../api/order'
  5. // pages/order/order.js
  6. Page({
  7. /**
  8. * 页面的初始数据
  9. */
  10. data: {
  11. orderId:0,
  12. order: {},
  13. //1显示订单详情,2显示确认支付,取消订单,3显示删除订单
  14. orderStatus: 1,
  15. timer: {}
  16. },
  17. /**
  18. * 生命周期函数--监听页面加载
  19. */
  20. onLoad: async function (options) {
  21. var orderId = options.id;
  22. this.setData({
  23. orderId:orderId
  24. })
  25. },
  26. //生成二维码
  27. createQrcode: function () {
  28. drawById.call(wx, "qrCode", {
  29. text: "1233", // 二维码内容
  30. })
  31. },
  32. createTimeClock: function () {
  33. var self = this;
  34. let order = this.data.order;
  35. console.log(order.createTime)
  36. let orderCreateTime = new Date(order.createTime);
  37. let endTime = orderCreateTime.getTime() + 15 * 60 * 1000;
  38. // let endTime = orderCreateTime.getTime() + 30 * 1000;
  39. var timerID = setInterval(() => {
  40. let nowTime = new Date();
  41. let timer = endTime - nowTime;
  42. if (timer < 1) {
  43. clearInterval(timerID);
  44. order.status = 3;
  45. self.setData({
  46. order
  47. })
  48. }
  49. let minute = Math.floor(timer / (60 * 1000));
  50. minute = minute < 0 ? 0 : minute;
  51. let second = Math.round((timer % (60 * 1000)) / 1000);
  52. this.setData({
  53. timer: {
  54. minute: minute,
  55. second: second
  56. }
  57. })
  58. }, 500);
  59. },
  60. cancelOrder: function () {
  61. var self = this;
  62. wx.showModal({
  63. title: '是否确认取消订单?',
  64. success(res) {
  65. if (res.confirm) {
  66. self.setData({
  67. orderStatus: 3
  68. })
  69. } else if (res.cancel) {}
  70. },
  71. })
  72. },
  73. deleteOrder: async function () {
  74. let id = this.data.order.id;
  75. await orderApi.deleteOrder(id);
  76. wx.showToast({
  77. title: '删除成功',
  78. success: function () {
  79. setTimeout(() => {
  80. wx.switchTab({
  81. url: '../personorder/personorder',
  82. })
  83. }, 1000);
  84. }
  85. })
  86. },
  87. /**
  88. * 生命周期函数--监听页面初次渲染完成
  89. */
  90. onReady: function () {
  91. },
  92. /**
  93. * 生命周期函数--监听页面显示
  94. */
  95. onShow:async function () {
  96. var orderId = this.data.orderId;
  97. let order = await orderApi.getOrderById(orderId);
  98. this.setData({
  99. order: order.info,
  100. orderStatus: order.info.status,
  101. })
  102. if (order.info.status == 1) {
  103. this.createTimeClock()
  104. }
  105. if (order.info.status == 2) {
  106. drawById.call(wx, "qrCode", {
  107. text: order.info.writeOffCode, // 二维码内容
  108. })
  109. }
  110. },
  111. /**
  112. * 生命周期函数--监听页面隐藏
  113. */
  114. onHide: function () {
  115. },
  116. /**
  117. * 生命周期函数--监听页面卸载
  118. */
  119. onUnload: function () {
  120. },
  121. /**
  122. * 页面相关事件处理函数--监听用户下拉动作
  123. */
  124. onPullDownRefresh: function () {
  125. },
  126. /**
  127. * 页面上拉触底事件的处理函数
  128. */
  129. onReachBottom: function () {
  130. },
  131. /**
  132. * 用户点击右上角分享
  133. */
  134. onShareAppMessage: function () {
  135. }
  136. })