diff --git a/apps/backend/src/services/admin/admin-read-service.ts b/apps/backend/src/services/admin/admin-read-service.ts index f30e7217..40ca655e 100644 --- a/apps/backend/src/services/admin/admin-read-service.ts +++ b/apps/backend/src/services/admin/admin-read-service.ts @@ -56,6 +56,7 @@ import { resolveAdminTaskScreenshotUrl, resolveDisplayShopName, resolveOrderItemDeliveryMode, + resolveOrderItemMatchSku, resolveOrderItemSkuNick, resolveOrderItemTitle, } from './admin-read-shared-helpers.js' @@ -236,6 +237,7 @@ export async function getAdminOrderDetail( skuName: item.sku_name, itemTitle: resolveOrderItemTitle(item, order, kuaishouIndustryVouchers), skuNick: resolveOrderItemSkuNick(item, order, kuaishouIndustryVouchers), + matchSku: resolveOrderItemMatchSku(item, order, kuaishouIndustryVouchers), quantity: item.quantity, deliveryMode: resolveOrderItemDeliveryMode(tasks, item.id), spec: diff --git a/apps/frontend/src/components/admin/ManualOrderCostModal.tsx b/apps/frontend/src/components/admin/ManualOrderCostModal.tsx index 8737459c..5a09227b 100644 --- a/apps/frontend/src/components/admin/ManualOrderCostModal.tsx +++ b/apps/frontend/src/components/admin/ManualOrderCostModal.tsx @@ -8,8 +8,9 @@ import { hasAdminPermission } from '@/utils/admin-auth' export type ManualOrderCostItem = { orderItemId: number - itemTitle: string - skuNick?: string + matchSku?: string + skuName?: string + skuCode?: string quantity?: number } @@ -51,10 +52,9 @@ const PAYMENT_METHOD_OPTIONS = [ ] function itemLabel(item: ManualOrderCostItem) { - const parts = [item.itemTitle || `订单项 #${item.orderItemId}`] - if (item.skuNick) parts.push(item.skuNick) - if (item.quantity && item.quantity > 1) parts.push(`×${item.quantity}`) - return parts.join(' · ') + // 只展示平台判断用的真实 SKU,引流长标题不进录单选项。 + const sku = item.matchSku || item.skuName || item.skuCode || `订单项 #${item.orderItemId}` + return item.quantity && item.quantity > 1 ? `${sku} ×${item.quantity}` : sku } export default function ManualOrderCostModal({ diff --git a/apps/frontend/src/pages/admin/AdminOrderDetailPage.tsx b/apps/frontend/src/pages/admin/AdminOrderDetailPage.tsx index 13171fb8..f2292560 100644 --- a/apps/frontend/src/pages/admin/AdminOrderDetailPage.tsx +++ b/apps/frontend/src/pages/admin/AdminOrderDetailPage.tsx @@ -390,8 +390,9 @@ export default function AdminOrderDetailPage() { orderNo={detail.order.platformOrderId || String(detail.order.orderId)} items={detail.items.map((item) => ({ orderItemId: item.orderItemId, - itemTitle: item.itemTitle, - skuNick: item.skuNick, + matchSku: item.matchSku, + skuName: item.skuName, + skuCode: item.skuCode, quantity: item.quantity, }))} onClose={closeManualCost} diff --git a/apps/frontend/src/types/admin/orders.ts b/apps/frontend/src/types/admin/orders.ts index 24f2efed..7c3a7885 100644 --- a/apps/frontend/src/types/admin/orders.ts +++ b/apps/frontend/src/types/admin/orders.ts @@ -90,6 +90,7 @@ export interface AdminOrderDetail { skuName: string itemTitle: string skuNick?: string + matchSku?: string quantity: number deliveryMode: string spec: Record