order-data.ts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. import { dayjs } from 'wot-design-uni'
  2. export const navTabTypeList = [
  3. { name: '全部', value: 0 },
  4. { name: '配送(外卖)', value: 3 },
  5. { name: '快递', value: 1 },
  6. ]
  7. export const orderStatusList = [
  8. { name: '全部', value: 'all' },
  9. { name: '待支付', value: 'paddingPay' },
  10. { name: '进行中', value: 'ing' },
  11. { name: '已完成', value: 'completed' },
  12. { name: '已取消', value: 'cancel' },
  13. ]
  14. export enum OrderStatus {
  15. /**
  16. * 待支付
  17. */
  18. PaddingPay = 0,
  19. /**
  20. * 订单已接单
  21. */
  22. OrderAccepted = 20,
  23. /**
  24. * 订单待配送
  25. */
  26. OrderWaitDelivery = 30,
  27. /**
  28. * 订单配送中
  29. */
  30. OrderDelivering = 40,
  31. /**
  32. * 订单取消审核
  33. */
  34. OrderCancelAudit = 50,
  35. /**
  36. * 订单取消
  37. */
  38. OrderCancel = 60,
  39. /**
  40. * 订单已送达
  41. */
  42. OrderArrived = 70,
  43. /**
  44. * 订单完成
  45. */
  46. OrderCompleted = 80,
  47. }
  48. /**
  49. * 订单状态文字统一处理
  50. * @param order
  51. *
  52. */
  53. export function handleCommonOrderStatusText(order: Api.xsbOrderList): any {
  54. if (order.hbOrderStatus === OrderStatus.PaddingPay) {
  55. const endTime = dayjs(order.createTime).add(15, 'minutes')
  56. const remaining = dayjs(endTime).valueOf() - dayjs().valueOf()
  57. return Math.max(0, remaining) // 确保不会返回负数
  58. }
  59. if (order.hbOrderStatus === OrderStatus.OrderAccepted) {
  60. return '订单已接单'
  61. }
  62. if (order.hbOrderStatus === OrderStatus.OrderWaitDelivery) {
  63. return '订单待配送'
  64. }
  65. if (order.hbOrderStatus === OrderStatus.OrderDelivering) {
  66. return '订单配送中'
  67. }
  68. if (order.hbOrderStatus === OrderStatus.OrderCancelAudit) {
  69. return '订单取消审核'
  70. }
  71. if (order.hbOrderStatus === OrderStatus.OrderCancel) {
  72. return '订单取消'
  73. }
  74. if (order.hbOrderStatus === OrderStatus.OrderArrived) {
  75. return '订单已送达'
  76. }
  77. if (order.hbOrderStatus === OrderStatus.OrderCompleted) {
  78. return '订单完成'
  79. }
  80. return '未知订单状态'
  81. }
  82. /**
  83. * 统一取消订单逻辑处理
  84. * @param order
  85. */
  86. export function handleCommonCancelOrder(order: Api.xsbOrderList) {
  87. console.log(order, '取消顶顶顶')
  88. return new Promise((resolve, reject) => {
  89. useGlobalMessage().confirm({
  90. title: '取消订单',
  91. msg: '确定要取消订单吗?',
  92. success: async () => {
  93. uni.showLoading({ mask: true })
  94. Apis.xsb.cancelOrder({
  95. data: {
  96. orderNo: String(order.orderNumber),
  97. },
  98. }).then(res => resolve(res)).catch(err => reject(err)).finally(() => uni.hideLoading())
  99. },
  100. fail: async (err) => {
  101. reject(err)
  102. },
  103. })
  104. })
  105. }
  106. /**
  107. * 统一删除订单
  108. */
  109. export function handleCommonDeleteOrder(order: Api.xsbOrderList) {
  110. return new Promise((resolve, reject) => {
  111. useGlobalMessage().confirm({
  112. title: '删除订单',
  113. msg: '确定要删除该订单吗?',
  114. success: async () => {
  115. uni.showLoading({ mask: true })
  116. Apis.xsb.deleteOrder({
  117. pathParams: {
  118. ids: String(order.orderId),
  119. },
  120. }).then(res => resolve(res)).catch(err => reject(err)).finally(() => uni.hideLoading())
  121. },
  122. fail: async (err) => {
  123. reject(err)
  124. },
  125. })
  126. })
  127. }