feat(admin): 订单列表只展示平台判断 SKU

This commit is contained in:
yml2213
2026-10-22 19:55:13 +08:00
parent 74b62f3494
commit c38cd8ca2d
6 changed files with 135 additions and 62 deletions
@@ -204,76 +204,55 @@ export default function AdminOrdersPage() {
},
},
{
title: '商品 / 规格',
minWidth: 260,
title: '平台 SKU',
minWidth: 190,
render: (_, row) => {
const itemTitle = row.itemTitle || row.itemSummary || '-'
const skuNick = row.skuNick
const items = row.items && row.items.length > 0 ? row.items : null
const fallbackSku = row.matchSku || row.skuNick || '未识别 SKU'
const renderSkuTag = (sku: string | undefined, title?: string, key?: string) => {
const label = sku || '未识别 SKU'
return (
<Tooltip
key={key}
title={
title && title !== label
? `平台 SKU:${label}|原商品标题:${title}`
: `平台 SKU:${label}`
}
>
<Tag
color={label === '未识别 SKU' ? 'default' : 'blue'}
style={{
margin: 0,
maxWidth: 200,
overflow: 'hidden',
textOverflow: 'ellipsis',
whiteSpace: 'nowrap',
fontSize: 12,
}}
>
{label}
</Tag>
</Tooltip>
)
}
return (
<div className="cell-stack" style={{ gap: 4 }}>
{items && items.length > 1 ? (
<div className="cell-stack" style={{ gap: 4 }}>
{items.slice(0, 2).map((item, idx) => (
<div key={idx} className="cell-stack" style={{ gap: 2 }}>
<Typography.Text
strong
ellipsis={{ tooltip: item.itemTitle }}
style={{ maxWidth: 360, fontSize: 13 }}
>
{item.itemTitle || '-'}
</Typography.Text>
{item.skuNick ? (
<Space size={4} wrap>
<Tag
color="blue"
style={{
margin: 0,
maxWidth: 320,
overflow: 'hidden',
textOverflow: 'ellipsis',
whiteSpace: 'nowrap',
fontSize: 12,
}}
title={`规格:${item.skuNick}`}
>
{item.skuNick}
</Tag>
</Space>
) : null}
</div>
))}
{items.length > 2 ? <span className="muted">等 {items.length} 种商品</span> : null}
{items
.slice(0, 2)
.map((item, idx) =>
renderSkuTag(item.matchSku || item.skuNick, item.itemTitle, `sku-${idx}`),
)}
{items.length > 2 ? <span className="muted">等 {items.length} 项</span> : null}
</div>
) : items && items.length === 1 ? (
renderSkuTag(items[0].matchSku || items[0].skuNick, items[0].itemTitle, 'sku-0')
) : (
<>
<Typography.Text
strong
ellipsis={{ tooltip: itemTitle }}
style={{ maxWidth: 360, fontSize: 13 }}
>
{itemTitle}
</Typography.Text>
{skuNick ? (
<Space size={4} wrap>
<Tag
color="blue"
style={{
margin: 0,
maxWidth: 320,
overflow: 'hidden',
textOverflow: 'ellipsis',
whiteSpace: 'nowrap',
fontSize: 12,
}}
title={`规格:${skuNick}`}
>
{skuNick}
</Tag>
</Space>
) : null}
</>
renderSkuTag(fallbackSku, row.itemTitle || row.itemSummary, 'sku-0')
)}
<span className="muted" style={{ fontSize: 12 }}>
数量 {row.totalQuantity || 1}
+2
View File
@@ -11,6 +11,7 @@ export interface AdminOrderFulfillmentProgress {
export interface AdminOrderItemSummary {
itemTitle: string
skuNick: string
matchSku: string
quantity: number
}
@@ -37,6 +38,7 @@ export interface AdminOrderListItem {
itemSummary: string
itemTitle?: string
skuNick?: string
matchSku?: string
items?: AdminOrderItemSummary[]
taskCount: number
resourceStatus: string