dingdanquanliucheng/frontend/mini-app/utils/status.js
2026-07-08 09:04:37 +08:00

76 lines
1.9 KiB
JavaScript

/**
* 状态映射工具模块
* 职责:将任务/订单状态码映射为中文文本和样式类名。
*/
function mapTaskStatus(status) {
var statusMap = {
pending: "待接单",
accepted: "已接单",
picked_up: "已揽货",
canceled: "已取消",
};
return statusMap[status] || status || "-";
}
function mapOrderStatus(status) {
var statusMap = {
draft: "草稿",
pending_approve: "待审批",
cancel_pending: "待取消审批",
cancel_fulfillment_pending: "履约取消审批中",
approved: "已审批",
rejected: "已驳回",
pending_driver: "待司机接单",
accepted: "已接单",
picked_up: "已揽货",
pending_logistics: "待绑定物流单号",
in_transit: "运输中",
shipped: "已发货",
completed: "已完成",
pending_settle: "待结算",
settled: "已结算",
canceled: "已取消",
};
return statusMap[status] || status || "-";
}
function getTaskStatusBadge(status) {
var map = {
pending: "badge-orange",
accepted: "badge-blue",
picked_up: "badge-blue",
canceled: "badge-red",
};
return map[status] || "badge-gray";
}
function getOrderStatusBadge(status) {
var map = {
draft: "badge-gray",
pending_approve: "badge-orange",
cancel_pending: "badge-orange",
cancel_fulfillment_pending: "badge-orange",
approved: "badge-green",
rejected: "badge-red",
pending_driver: "badge-blue",
accepted: "badge-blue",
picked_up: "badge-blue",
pending_logistics: "badge-orange",
in_transit: "badge-blue",
shipped: "badge-blue",
completed: "badge-green",
pending_settle: "badge-orange",
settled: "badge-green",
canceled: "badge-red",
};
return map[status] || "badge-gray";
}
module.exports = {
mapTaskStatus: mapTaskStatus,
mapOrderStatus: mapOrderStatus,
getTaskStatusBadge: getTaskStatusBadge,
getOrderStatusBadge: getOrderStatusBadge,
};