Files
gao-customer-h5/src/utils/salesOrder.ts
T
2026-09-06 15:49:20 +08:00

37 lines
2.5 KiB
TypeScript

import type { GaoFulfillmentStatus } from "@/types/Fulfillment";
import type { FundBizType, FundOperationType, FundRecordStatus, GaoSalesOrderItemType, GaoSalesOrderStatus, GaoSalesOrderType, GaoSalesPaymentStatus, GaoSalesRefundStatus } from "@/types/SalesOrder";
export function getFundBizTypeText(type?: FundBizType): string {
return type === "SALES_ORDER" ? "销售订单" : "未知";
}
export function getSalesOrderTypeText(type?: GaoSalesOrderType): string {
return type === "PACKAGE" ? "套餐订单" : type === "DIRECT_PRODUCT" ? "产品订单" : "未知订单";
}
export function getSalesOrderStatusText(status?: GaoSalesOrderStatus): string {
return ({ ACTIVE: "进行中", FULFILLED: "已履约", CANCELLED: "已取消" } as Record<string, string>)[status || ""] || "未知";
}
export function getSalesPaymentStatusText(status?: GaoSalesPaymentStatus): string {
return ({ UNPAID: "未收款", PARTIALLY_PAID: "部分收款", PAID: "已收款" } as Record<string, string>)[status || ""] || "未知";
}
export function getSalesRefundStatusText(status?: GaoSalesRefundStatus): string {
return ({ NOT_REQUIRED: "无需退款", PENDING: "待处理退款", REFUNDED: "已退款" } as Record<string, string>)[status || ""] || "未知";
}
export function getFundOperationText(type?: FundOperationType): string {
return ({ RECEIVE: "线下收款", REFUND: "退款", CONFIRM_NO_REFUND: "确认无需退款", REVOKE: "资金冲正" } as Record<string, string>)[type || ""] || "未知";
}
export function getFundStatusText(status?: FundRecordStatus): string {
return ({ PENDING: "待核销", VERIFIED: "已生效", REJECTED: "已拒绝", CANCELLED: "已撤销" } as Record<string, string>)[status || ""] || "未知";
}
export function getSalesOrderItemTypeText(type?: GaoSalesOrderItemType): string {
return type === "PACKAGE_ENTITLEMENT" ? "套餐权益" : type === "DIRECT_PRODUCT" ? "直接产品" : "未知来源";
}
export function getFulfillmentStatusText(status?: GaoFulfillmentStatus): string {
return ({ WAITING_STOCK: "等待库存", PENDING: "待核销", VERIFIED: "已核销", REJECTED: "已拒绝", CANCELLED: "已撤销", REVOKED: "已冲正" } as Record<string, string>)[status || ""] || "未知";
}
export function getStatusTheme(status?: string): "success" | "warning" | "danger" | "default" {
if (["VERIFIED", "PAID", "FULFILLED"].includes(status || "")) return "success";
if (["PENDING", "ACTIVE", "WAITING_STOCK"].includes(status || "")) return "warning";
if (["REJECTED", "CANCELLED"].includes(status || "")) return "danger";
return "default";
}