用工小程序前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
3.3 KiB

  1. /**
  2. * 全局状态文字获取方法
  3. * @param {Object} params - 参数对象
  4. * @param {number} params.type - 页面类型 0: default, 1: job-order
  5. * @param {number} params.payType - 支付类型 0: 先付后用, 1: 先试用后支付
  6. * @param {number} params.status - 订单状态
  7. * @returns {string} 状态文字
  8. */
  9. export function getStatusText(params) {
  10. const { type = 0, payType = 1, status = 0 } = params;
  11. // 根据type确定pageType
  12. const pageType = type == 1 ? 'job-order' : 'default';
  13. const statusTextMap = {
  14. '0': { // 先付后用
  15. 'job-order': {
  16. 0: '等待师傅确认', // 师傅操作
  17. 1: '企业待支付', // 企业操作
  18. 2: '订单进行中', // 师傅操作
  19. 3: '试工完成', // 企业操作
  20. 4: '', // 暂无
  21. 5: '订单已完成',
  22. 6: '订单已取消'
  23. },
  24. default: {
  25. 0: '等待企业确认', // 企业操作
  26. 1: '企业待支付', // 暂无
  27. 2: '订单进行中', // 师傅操作
  28. 3: '试工完成', // 企业操作
  29. 4: '', // 暂无
  30. 5: '订单已完成',
  31. 6: '订单已取消'
  32. }
  33. },
  34. '1': { // 试用后支付
  35. 'job-order': {
  36. 0: '等待企业确认',
  37. 1: '订单进行中',
  38. 2: '试工完成',
  39. 3: '企业待支付',
  40. 4: '订单待完成',
  41. 5: '订单已完成',
  42. 6: '订单已取消'
  43. },
  44. default: {
  45. 0: '等待企业确认',
  46. 1: '订单进行中',
  47. 2: '试工完成',
  48. 3: '企业待支付',
  49. 4: '订单待完成',
  50. 5: '订单已完成',
  51. 6: '订单已取消'
  52. }
  53. }
  54. };
  55. const payTypeKey = String(payType);
  56. const statusTextMapItem = statusTextMap[payTypeKey] || statusTextMap['1'];
  57. const pageTypeMap = statusTextMapItem[pageType] || statusTextMapItem.default;
  58. return pageTypeMap[status] || '未知状态';
  59. }
  60. /**
  61. * 获取步骤列表
  62. * @param {Object} params - 参数对象
  63. * @param {number} params.type - 页面类型 0: default, 1: job-order
  64. * @param {number} params.payType - 支付类型 0: 先付后用, 1: 先试用后支付
  65. * @returns {Array} 步骤列表
  66. */
  67. export function getStepsList(params) {
  68. const { type = 0, payType = 1 } = params;
  69. // 根据type确定pageType
  70. const pageType = type == 1 ? 'job-order' : 'default';
  71. const stepsListMap = {
  72. 0: { // 先付后用
  73. 'job-order': [
  74. { title: "师傅确认", date: "" },
  75. { title: "企业支付", date: "" },
  76. { title: "进行", date: "" },
  77. { title: "试工完成", date: "" },
  78. { title: "订单完成", date: "" }
  79. ],
  80. default: [
  81. { title: "接单", date: "" },
  82. { title: "企业支付", date: "" },
  83. { title: "进行", date: "" },
  84. { title: "试工完成", date: "" },
  85. { title: "订单完成", date: "" }
  86. ]
  87. },
  88. 1: { // 试用后支付
  89. 'job-order': [
  90. { title: "师傅确认", date: "" },
  91. { title: "进行", date: "" },
  92. { title: "试工完成", date: "" },
  93. { title: "企业确认", date: "" },
  94. { title: "企业支付", date: "" },
  95. { title: "订单完成", date: "" }
  96. ],
  97. default: [
  98. { title: "接单", date: "" },
  99. { title: "进行", date: "" },
  100. { title: "试工完成", date: "" },
  101. { title: "企业确认", date: "" },
  102. { title: "企业支付", date: "" },
  103. { title: "订单完成", date: "" }
  104. ]
  105. }
  106. };
  107. const stepsListMapItem = stepsListMap[payType] || stepsListMap[1];
  108. return stepsListMapItem[pageType] || stepsListMapItem.default;
  109. }
  110. export default {
  111. getStatusText,
  112. getStepsList
  113. };