index.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  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. let RoomOrder = new Parse.Query('RoomOrder')
  33. RoomOrder.include('room')
  34. RoomOrder.include('shopStore')
  35. let roomOrder = await RoomOrder.get(id)
  36. let currentStore = wx.getStorageSync('store')
  37. if(roomOrder?.get('shopStore')?.id!=currentStore?.objectId){
  38. this.setData({
  39. isHide:true
  40. })
  41. return
  42. }
  43. console.log(roomOrder, 666666);
  44. let Order = roomOrder.toJSON()
  45. Order.createdAt = dateF.formatTime("YYYY-mm-dd HH:MM:SS", Order.createdAt)
  46. // Order.room.note = rechText.formatRichText(Order.room.note)
  47. Order['day'] = parseInt((new Date(Order.endTime.iso).getTime() - new Date(Order.startTime.iso).getTime()) / (1000 * 60 * 60 * 24));
  48. Order.startTime = dateServ.formatTime('YYYY-mm-dd HH:MM', Order.startTime.iso)
  49. Order.endTime = dateServ.formatTime('mm-dd HH:MM', Order.endTime.iso)
  50. this.setData({
  51. order: Order
  52. })
  53. console.log(this.data.order);
  54. },
  55. async submit() {
  56. try {
  57. let id = this.data.id
  58. let {order,statusMap}=this.data
  59. let RoomOrder = new Parse.Query("RoomOrder")
  60. let roomOrder = await RoomOrder.get(id)
  61. if((order.status == 100 || order.status == 500 || order.status == 602)&&roomOrder?.get('status') == 200){
  62. wx.showToast({
  63. title: '已执行入住操作,无需重复',
  64. icon:'none'
  65. })
  66. return
  67. }
  68. if (roomOrder?.get('status') == 100 || roomOrder?.get('status') == 500 || roomOrder?.get('status') == 602) {
  69. roomOrder.set("status", 200)
  70. await roomOrder.save()
  71. wx.showToast({
  72. title: '已入住',
  73. icon: 'success'
  74. })
  75. setTimeout(() => {
  76. wx.navigateBack({
  77. delta: 1
  78. })
  79. }, 1000);
  80. } else if (roomOrder?.get('status') == 200 || roomOrder?.get('status') == 102 || roomOrder?.get('status') == 104) {
  81. roomOrder.set("status", 400)
  82. await roomOrder.save()
  83. wx.showToast({
  84. title: '退房成功',
  85. icon: 'success'
  86. })
  87. setTimeout(() => {
  88. wx.navigateBack({
  89. delta: 1
  90. })
  91. }, 1000);
  92. }else{
  93. wx.showToast({
  94. title: `当前订单 ${statusMap[roomOrder?.get('status')]} 无法操作。`,
  95. icon: 'none'
  96. })
  97. }
  98. } catch (error) {
  99. wx.showToast({
  100. title: '核销失败',
  101. icon: 'none'
  102. })
  103. }
  104. },
  105. /**
  106. * 生命周期函数--监听页面加载
  107. */
  108. onLoad: function (options) {
  109. let id = options.id
  110. this.setData({
  111. id: id
  112. })
  113. this.getRoomOrder()
  114. },
  115. /**
  116. * 生命周期函数--监听页面初次渲染完成
  117. */
  118. onReady: function () {
  119. },
  120. /**
  121. * 生命周期函数--监听页面显示
  122. */
  123. onShow: function () {
  124. },
  125. /**
  126. * 生命周期函数--监听页面隐藏
  127. */
  128. onHide: function () {
  129. },
  130. /**
  131. * 生命周期函数--监听页面卸载
  132. */
  133. onUnload: function () {
  134. },
  135. /**
  136. * 页面相关事件处理函数--监听用户下拉动作
  137. */
  138. onPullDownRefresh: function () {
  139. },
  140. /**
  141. * 页面上拉触底事件的处理函数
  142. */
  143. onReachBottom: function () {
  144. },
  145. /**
  146. * 用户点击右上角分享
  147. */
  148. onShareAppMessage: function () {
  149. }
  150. })