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)[status || ""] || "未知"; } export function getSalesPaymentStatusText(status?: GaoSalesPaymentStatus): string { return ({ UNPAID: "未收款", PARTIALLY_PAID: "部分收款", PAID: "已收款" } as Record)[status || ""] || "未知"; } export function getSalesRefundStatusText(status?: GaoSalesRefundStatus): string { return ({ NOT_REQUIRED: "无需退款", PENDING: "待处理退款", REFUNDED: "已退款" } as Record)[status || ""] || "未知"; } export function getFundOperationText(type?: FundOperationType): string { return ({ RECEIVE: "线下收款", REFUND: "退款", CONFIRM_NO_REFUND: "确认无需退款", REVOKE: "资金冲正" } as Record)[type || ""] || "未知"; } export function getFundStatusText(status?: FundRecordStatus): string { return ({ PENDING: "待核销", VERIFIED: "已生效", REJECTED: "已拒绝", CANCELLED: "已撤销" } as Record)[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)[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"; }