add product

This commit is contained in:
Timi
2026-09-03 14:27:40 +08:00
parent 7f669621fb
commit 333999fe21
63 changed files with 5662 additions and 2210 deletions
+33
View File
@@ -0,0 +1,33 @@
import type { FulfillmentStatus, FulfillmentType } from "@/types/Fulfillment";
import type { FundOperationType, FundRecordStatus, SalesOrderStatus, SalesOrderType, SalesPaymentStatus, SalesRefundStatus } from "@/types/SalesOrder";
export function getSalesOrderTypeText(type?: SalesOrderType): string {
return type === "PACKAGE" ? "套餐订单" : type === "DIRECT_PRODUCT" ? "直接产品订单" : "未知订单";
}
export function getSalesOrderStatusText(status?: SalesOrderStatus): string {
return ({ ACTIVE: "进行中", FULFILLED: "已履约", CANCELLED: "已取消" } as Record<string, string>)[status || ""] || "未知";
}
export function getSalesPaymentStatusText(status?: SalesPaymentStatus): string {
return ({ UNPAID: "未收款", PARTIALLY_PAID: "部分收款", PAID: "已收款" } as Record<string, string>)[status || ""] || "未知";
}
export function getSalesRefundStatusText(status?: SalesRefundStatus): 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 getFulfillmentTypeText(type?: FulfillmentType): string {
return type === "PACKAGE_ENTITLEMENT" ? "套餐权益" : type === "DIRECT_PRODUCT" ? "直接产品" : "未知来源";
}
export function getFulfillmentStatusText(status?: FulfillmentStatus): 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";
}