order.js 2.9 KB

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