OrderUtils.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. // 权重大的在前面显示 基础是-1在最后
  2. const merchantStatusMap = new Map([
  3. [
  4. 'NOT_RECEIVED',
  5. {
  6. name: '待商家接单',
  7. sort: 0,
  8. type: 'merchant',
  9. nowImgType: 'merchant',
  10. },
  11. ],
  12. [
  13. 'RECEIVED',
  14. {
  15. name: '商家已接单',
  16. sort: 0,
  17. type: 'merchant',
  18. nowImgType: 'merchant',
  19. },
  20. ],
  21. [
  22. 'REJECTED',
  23. {
  24. name: '商家已退单',
  25. sort: -1,
  26. type: 'merchant',
  27. },
  28. ],
  29. [
  30. 'COMPLETED',
  31. {
  32. name: '已完成',
  33. sort: -1,
  34. type: 'merchant',
  35. },
  36. ],
  37. ]);
  38. const orderStatusMap = new Map([
  39. [
  40. 'UNPAID',
  41. {
  42. name: '订单未支付',
  43. sort: 1,
  44. type: 'order',
  45. },
  46. ],
  47. [
  48. 'PAID',
  49. {
  50. name: '用户已支付',
  51. sort: -1,
  52. type: 'order',
  53. },
  54. ],
  55. [
  56. 'RATED',
  57. {
  58. name: '待评价',
  59. sort: 0,
  60. type: 'order',
  61. },
  62. ],
  63. [
  64. 'CANCELLED',
  65. {
  66. name: '订单已取消',
  67. sort: -1,
  68. type: 'order',
  69. },
  70. ],
  71. [
  72. 'REFUNDED_PENDING',
  73. {
  74. name: '申请退款中',
  75. sort: -1,
  76. type: 'order',
  77. },
  78. ],
  79. [
  80. 'REFUNDING',
  81. {
  82. name: '退款中',
  83. sort: -1,
  84. type: 'order',
  85. },
  86. ],
  87. [
  88. 'REFUNDED',
  89. {
  90. name: '已退款',
  91. sort: -1,
  92. type: 'order',
  93. },
  94. ],
  95. [
  96. 'COMPLETED',
  97. {
  98. name: '已完成',
  99. sort: 2,
  100. type: 'order',
  101. },
  102. ],
  103. ]);
  104. const RiderStatusMap = new Map([
  105. [
  106. 'NOT_RECEIVED',
  107. {
  108. name: '待骑手接单',
  109. sort: -1,
  110. type: 'rider',
  111. },
  112. ],
  113. [
  114. 'RECEIVED',
  115. {
  116. name: '骑手已接单',
  117. sort: 1,
  118. type: 'rider',
  119. nowImgType: 'rider',
  120. },
  121. ],
  122. [
  123. 'TAKE_MEAL',
  124. {
  125. name: '骑手已取餐',
  126. sort: 1,
  127. type: 'rider',
  128. nowImgType: 'rider',
  129. },
  130. ],
  131. [
  132. 'MEAL_DELIVERY',
  133. {
  134. name: '订单正在配送中',
  135. sort: 1,
  136. type: 'rider',
  137. nowImgType: 'rider',
  138. },
  139. ],
  140. [
  141. 'CARRY_OUT',
  142. {
  143. name: '订单已送达',
  144. sort: 1,
  145. type: 'rider',
  146. },
  147. ],
  148. ]);
  149. const payMap = new Map([
  150. [
  151. 'ALI_PAY',
  152. {
  153. name: '支付宝',
  154. icon: 'alipay-square',
  155. iconColor: 'blue500',
  156. },
  157. ],
  158. [
  159. 'CASH_DELIVERY',
  160. {
  161. name: '货到付款',
  162. icon: 'wallet',
  163. iconColor: 'green500',
  164. },
  165. ],
  166. [
  167. 'CREDIT_CARD',
  168. {
  169. name: '信用卡',
  170. icon: 'creditcard',
  171. iconColor: 'red500',
  172. },
  173. ],
  174. ]);
  175. function getStatusInfo(orderInfo) {
  176. const statusList = [];
  177. if (orderInfo.status) {
  178. statusList.push(orderStatusMap.get(orderInfo.status));
  179. }
  180. if (orderInfo.merchantStatus) {
  181. statusList.push(merchantStatusMap.get(orderInfo.merchantStatus));
  182. }
  183. if (orderInfo.riderStatus) {
  184. statusList.push(RiderStatusMap.get(orderInfo.riderStatus));
  185. }
  186. if (statusList.length > 0) {
  187. return statusList.sort((a, b) => {
  188. return b.sort - a.sort;
  189. })[0];
  190. } else {
  191. return {
  192. name: '订单详情',
  193. };
  194. }
  195. }
  196. export {
  197. merchantStatusMap,
  198. orderStatusMap,
  199. RiderStatusMap,
  200. payMap,
  201. getStatusInfo,
  202. };