index.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. let Parse = getApp().Parse
  2. const company = getApp().globalData.company
  3. let navigationBarHeight = getApp().globalData.statusBarHeight + 44;
  4. const rechText = require('../../../../../utils/rech-text')
  5. const dateF = require('../../../../../utils/date')
  6. const dateServ = require('../../../../../utils/date')
  7. Page({
  8. /**
  9. * 页面的初始数据
  10. */
  11. data: {
  12. statusMap: {
  13. 100: '未入住',
  14. 200: '已入住',
  15. 400: '已退房',
  16. 500: '申请退款',
  17. 601: '退款审核通过',
  18. 602: '退款已驳回',
  19. 700: '退款成功',
  20. 800: '已完成',
  21. 101: '已取消支付',
  22. 102: '申请退房',
  23. 103: '退房成功',
  24. 104: '退房被驳回',
  25. 105: '未支付',
  26. },
  27. id: "",
  28. order: null,
  29. },
  30. async getRoomOrder() {
  31. let id = this.data.id
  32. console.log(id, 12222323);
  33. let RoomOrder = new Parse.Query('RoomOrder')
  34. RoomOrder.include('room')
  35. RoomOrder.include('shopStore')
  36. let roomOrder = await RoomOrder.get(id)
  37. console.log(roomOrder, 666666);
  38. let Order = roomOrder.toJSON()
  39. Order.createdAt = dateF.formatTime("YYYY-mm-dd HH:MM:SS", Order.createdAt)
  40. // Order.room.note = rechText.formatRichText(Order.room.note)
  41. Order['day'] = parseInt((new Date(Order.endTime.iso).getTime() - new Date(Order.startTime.iso).getTime()) / (1000 * 60 * 60 * 24));
  42. Order.startTime = dateServ.formatTime('YYYY-mm-dd HH:MM', Order.startTime.iso)
  43. Order.endTime = dateServ.formatTime('mm-dd HH:MM', Order.endTime.iso)
  44. this.setData({
  45. order: Order
  46. })
  47. console.log(this.data.order);
  48. },
  49. async submit() {
  50. try {
  51. let id = this.data.id
  52. let {order,statusMap}=this.data
  53. let RoomOrder = new Parse.Query("RoomOrder")
  54. let roomOrder = await RoomOrder.get(id)
  55. if((order.status == 100 || order.status == 500 || order.status == 602)&&roomOrder?.get('status') == 200){
  56. wx.showToast({
  57. title: '已执行入住操作,无需重复',
  58. icon:'none'
  59. })
  60. return
  61. }
  62. if (roomOrder?.get('status') == 100 || roomOrder?.get('status') == 500 || roomOrder?.get('status') == 602) {
  63. roomOrder.set("status", 200)
  64. await roomOrder.save()
  65. wx.showToast({
  66. title: '已入住',
  67. icon: 'success'
  68. })
  69. setTimeout(() => {
  70. wx.navigateBack({
  71. delta: 1
  72. })
  73. }, 1000);
  74. } else if (roomOrder?.get('status') == 200 || roomOrder?.get('status') == 102 || roomOrder?.get('status') == 104) {
  75. roomOrder.set("status", 400)
  76. await roomOrder.save()
  77. wx.showToast({
  78. title: '退房成功',
  79. icon: 'success'
  80. })
  81. setTimeout(() => {
  82. wx.navigateBack({
  83. delta: 1
  84. })
  85. }, 1000);
  86. }else{
  87. wx.showToast({
  88. title: `当前订单 ${statusMap[roomOrder?.get('status')]} 无法操作。`,
  89. icon: 'none'
  90. })
  91. }
  92. } catch (error) {
  93. wx.showToast({
  94. title: '核销失败',
  95. icon: 'none'
  96. })
  97. }
  98. },
  99. /**
  100. * 生命周期函数--监听页面加载
  101. */
  102. onLoad: function (options) {
  103. let id = options.id
  104. this.setData({
  105. id: id
  106. })
  107. this.getRoomOrder()
  108. },
  109. /**
  110. * 生命周期函数--监听页面初次渲染完成
  111. */
  112. onReady: function () {
  113. },
  114. /**
  115. * 生命周期函数--监听页面显示
  116. */
  117. onShow: function () {
  118. },
  119. /**
  120. * 生命周期函数--监听页面隐藏
  121. */
  122. onHide: function () {
  123. },
  124. /**
  125. * 生命周期函数--监听页面卸载
  126. */
  127. onUnload: function () {
  128. },
  129. /**
  130. * 页面相关事件处理函数--监听用户下拉动作
  131. */
  132. onPullDownRefresh: function () {
  133. },
  134. /**
  135. * 页面上拉触底事件的处理函数
  136. */
  137. onReachBottom: function () {
  138. },
  139. /**
  140. * 用户点击右上角分享
  141. */
  142. onShareAppMessage: function () {
  143. }
  144. })