Bang Hu
1 天以前 8a709ba6db50831048f9c3e2452ea6dc6c3de36f
src/utils/orderWorkflow.ts
@@ -6,10 +6,12 @@
// 订单状态枚举(按照流程顺序)
export enum OrderStatus {
  WAIT_UPLOAD = '待上传文件',      // 1
  WAIT_AUTHORIZE = '待授权',       // 2
  WAIT_AUTHORIZE = '待授权',       // 2
  WAIT_APPROVAL_AUTHORIZE = '待审批授权',
  WAIT_CONFIRM = '待交易确认',     // 3
  COMPLETED = '已完成',           // 4
  EVALUATED = '已评价'            // 5 (最终状态)
  EVALUATED = '已评价',            // 5 (最终状态)
  CANCELED = '已取消'
}
// 操作类型枚举
@@ -21,7 +23,8 @@
  CONFIRM_TRADE = '交易确认',
  EVALUATE = '评价',
  CANCEL_ORDER = '取消订单',
  COMPLETED = '已完成'
  COMPLETED = '已完成',
  WAIT_APPROVAL_AUTHORIZE = '审批'
}
// 页面类型枚举
@@ -50,6 +53,11 @@
      { type: ActionType.TRACK },
      { type: ActionType.AUTHORIZE, routeName: 'tradeApproval' }
    ],
    [OrderStatus.WAIT_APPROVAL_AUTHORIZE]: [
      { type: ActionType.VIEW, routeName: 'tradeOrderDetail' },
      { type: ActionType.TRACK },
      { type: ActionType.WAIT_APPROVAL_AUTHORIZE, routeName: 'tradeApproval' }
    ],
    [OrderStatus.WAIT_CONFIRM]: [
      { type: ActionType.VIEW, routeName: 'tradeOrderDetail' },
      { type: ActionType.TRACK }
@@ -59,6 +67,10 @@
      { type: ActionType.TRACK }
    ],
    [OrderStatus.EVALUATED]: [
      { type: ActionType.VIEW, routeName: 'tradeOrderDetail' },
      { type: ActionType.TRACK }
    ],
    [OrderStatus.CANCELED]: [
      { type: ActionType.VIEW, routeName: 'tradeOrderDetail' },
      { type: ActionType.TRACK }
    ]
@@ -75,6 +87,11 @@
      { type: ActionType.TRACK },
      { type: ActionType.CANCEL_ORDER }
    ],
    [OrderStatus.WAIT_APPROVAL_AUTHORIZE]: [
      { type: ActionType.VIEW, routeName: 'tradeOrderDetail' },
      { type: ActionType.TRACK },
      { type: ActionType.WAIT_APPROVAL_AUTHORIZE, routeName: 'tradeApproval' }
    ],
    [OrderStatus.WAIT_CONFIRM]: [
      { type: ActionType.VIEW, routeName: 'tradeOrderDetail' },
      { type: ActionType.TRACK },
@@ -89,6 +106,10 @@
    [OrderStatus.EVALUATED]: [
      { type: ActionType.VIEW, routeName: 'tradeOrderDetail' },
      { type: ActionType.TRACK }
    ],
    [OrderStatus.CANCELED]: [
      { type: ActionType.VIEW, routeName: 'tradeOrderDetail' },
      { type: ActionType.TRACK }
    ]
  },
  [PageType.SELLER_CENTER]: {
@@ -99,6 +120,11 @@
    [OrderStatus.WAIT_AUTHORIZE]: [
      { type: ActionType.VIEW, routeName: 'tradeOrderDetail' },
      { type: ActionType.TRACK }
    ],
    [OrderStatus.WAIT_APPROVAL_AUTHORIZE]: [
      { type: ActionType.VIEW, routeName: 'tradeOrderDetail' },
      { type: ActionType.TRACK },
      { type: ActionType.WAIT_APPROVAL_AUTHORIZE, routeName: 'tradeApproval' }
    ],
    [OrderStatus.WAIT_CONFIRM]: [
      { type: ActionType.VIEW, routeName: 'tradeOrderDetail' },
@@ -111,17 +137,23 @@
    [OrderStatus.EVALUATED]: [
      { type: ActionType.VIEW, routeName: 'tradeOrderDetail' },
      { type: ActionType.TRACK }
    ],
    [OrderStatus.CANCELED]: [
      { type: ActionType.VIEW, routeName: 'tradeOrderDetail' },
      { type: ActionType.TRACK }
    ]
  }
}
// 状态流转映射(当前状态 -> 下一个状态)
const STATUS_FLOW_MAP: Record<OrderStatus, OrderStatus | null> = {
  [OrderStatus.WAIT_UPLOAD]: OrderStatus.WAIT_AUTHORIZE,
  [OrderStatus.WAIT_UPLOAD]: OrderStatus.WAIT_APPROVAL_AUTHORIZE,
  [OrderStatus.WAIT_AUTHORIZE]: OrderStatus.WAIT_CONFIRM,
  [OrderStatus.WAIT_APPROVAL_AUTHORIZE]: OrderStatus.WAIT_CONFIRM,
  [OrderStatus.WAIT_CONFIRM]: OrderStatus.COMPLETED,
  [OrderStatus.COMPLETED]: OrderStatus.EVALUATED,
  [OrderStatus.EVALUATED]: null // 最终状态,无下一状态
  [OrderStatus.EVALUATED]: null, // 最终状态,无下一状态
  [OrderStatus.CANCELED]: null
}
/**
@@ -245,12 +277,16 @@
        return OrderStatus.WAIT_UPLOAD
      case '待授权':
        return OrderStatus.WAIT_AUTHORIZE
      case '待审批授权':
        return OrderStatus.WAIT_APPROVAL_AUTHORIZE
      case '待交易确认':
        return OrderStatus.WAIT_CONFIRM
      case '已完成':
        return OrderStatus.COMPLETED
      case '已评价':
        return OrderStatus.EVALUATED
      case '已取消':
        return OrderStatus.CANCELED
      default:
        console.warn(`未知的订单状态: ${serverStatus},默认返回待授权状态`)
        return OrderStatus.WAIT_AUTHORIZE