orderList.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. const orderList = {
  2. data() {
  3. return {
  4. hanldOrder: {}, // 当前要处理的订单信息
  5. modal: false,
  6. modalText: '',
  7. buyAgainModal: false,
  8. invalidList: [], // 失效商品列表
  9. }
  10. },
  11. methods: {
  12. // 操作订单
  13. handleConfirmClick(e) {
  14. const { type, order } = (this.hanldOrder = e)
  15. switch (type) {
  16. // 其他操作
  17. case 'again':
  18. this.buyAgain()
  19. break
  20. case 'share':
  21. this.handleShare()
  22. break
  23. case 'query':
  24. this.isModalLayer = true
  25. this.$api.navigateTo('/pages/order/order-logistics?orderId=' + order.orderId)
  26. break
  27. case 'fightDetail':
  28. console.log('拼团详情')
  29. this.$api.navigateTo('/pages/fight-order/fight-detail?collageId=' + order.collageId)
  30. break
  31. case 'fightShare':
  32. console.log('分享邀请好友拼团')
  33. this.$api.navigateTo('/pages/fight-order/fight-detail?collageId=' + order.collageId)
  34. break
  35. // 常规操作
  36. case 'cancel':
  37. this.modal = true
  38. this.modalText = '确认取消该订单吗?'
  39. break
  40. case 'delete':
  41. this.modal = true
  42. this.modalText = '确认删除该订单吗?'
  43. break
  44. case 'confirm':
  45. this.modal = true
  46. this.modalText = '是否确认收货?'
  47. break
  48. case 'pay':
  49. // this.modal = true
  50. // this.modalText = '确认支付?'
  51. this.$api.navigateTo('/pages/order/order-pay?orderId=' + order.orderId)
  52. break
  53. }
  54. },
  55. // 确认收货
  56. handleConfirm(order) {
  57. console.log('确认收货')
  58. return this.OrderService.ConfirmReceipt({ orderId: order.orderId })
  59. },
  60. // 取消订单
  61. handleCancel(order) {
  62. console.log('取消订单')
  63. return this.OrderService.CancelOrder({ orderId: order.orderId })
  64. },
  65. // 删除订单
  66. handleDelete(order) {
  67. console.log('删除订单')
  68. return this.OrderService.DeleteOrder({ orderId: order.orderId })
  69. },
  70. // 支付订单
  71. handlePay(order) {
  72. console.log('支付')
  73. this.miniWxPayFor(order)
  74. },
  75. // 再次购买初始化查询订单商品信息
  76. handleAgain(order) {
  77. console.log('再次购买初始化查询订单商品信息')
  78. return this.OrderService.GetOrderBuyAgain({ orderId: order.orderId })
  79. },
  80. // 查看物流
  81. handleQuery(order) {
  82. console.log('查看物流')
  83. },
  84. // 分享
  85. handleShare(order) {
  86. console.log('分享')
  87. },
  88. // 再次购买
  89. async buyAgain() {
  90. const { type, order } = this.hanldOrder
  91. try {
  92. await this.handleAgain(order)
  93. this.joinToCart(order)
  94. } catch (error) {
  95. if (error.data && error.data.length > 0) {
  96. this.buyAgainModal = true
  97. this.invalidList = error.data
  98. }
  99. }
  100. },
  101. // 确认再次购买
  102. buyAgainModalClick(e) {
  103. this.buyAgainModal = false
  104. if (!e.index) return
  105. this.joinToCart(this.hanldOrder.order)
  106. },
  107. // 再次购买弹窗关闭
  108. buyAgainModalHide() {
  109. console.log('再次购买弹窗关闭')
  110. this.invalidList = []
  111. },
  112. // 一键加入购物车
  113. async joinToCart(order) {
  114. try {
  115. await this.ProductService.ShoppingAgainCart({ orderId: order.orderId })
  116. this.$store.dispatch('cart/getCartNumber')
  117. this.$api.switchTabTo('/pages/tabBar/cart/index')
  118. } catch (error) {
  119. console.log(error.message)
  120. // this.$util.msg(error.msg, 2000)
  121. }
  122. },
  123. // 操作订单确认事件
  124. async handleModalConfirm(e) {
  125. this.modal = false
  126. if (!e.index) return
  127. const { type, order } = this.hanldOrder
  128. // 操作订单
  129. const confirmFunc = {
  130. cancel: this.handleCancel, //取消订单
  131. delete: this.handleDelete, //删除订单
  132. pay: this.handlePay, //支付订单
  133. confirm: this.handleConfirm //确认收货
  134. }
  135. try {
  136. const res = await confirmFunc[type](order)
  137. // 确认操作订单成功后的回调都在这里执行 在this.$on 中监听 orderAction 事件的执行
  138. this.$emit('orderAction')
  139. if (res && res.msg) this.$util.msg(res.msg, 2000, true, 'success')
  140. } catch (error) {
  141. this.$util.msg(error.msg, 2000)
  142. }
  143. },
  144. //订单状态文字
  145. stateExpFormat(status) {
  146. const stateTextObject = {
  147. 4: '交易完成',
  148. 5: '订单完成',
  149. 6: '已关闭',
  150. 7: '交易全退',
  151. 77: '交易全退',
  152. 11: '待付款待发货',
  153. 12: '待付款部分发货',
  154. 13: '待付款已发货',
  155. // 21: '部分付款待发货',
  156. // 22: '部分付款部分发货',
  157. // 23: '部分付款已发货',
  158. 31: '已付款待发货',
  159. 32: '已付款部分发货',
  160. 33: '已付款已发货',
  161. 111: '待付款待发货',
  162. 81: '拼团中',
  163. 82: '拼团成功待发货',
  164. 83: '拼团成功已发货'
  165. }
  166. return stateTextObject[status] || ''
  167. },
  168. }
  169. }
  170. export default orderList