fix(delivery): 隐藏上游单号并对齐无角色发货结果展示
1. 隐藏内部与上游单号:彻底移除提货页面顶部展示的内部工单号 (FO2026...),以及凭据图片中生成的官方单号行与表格凭证单号,防止暴露上游平台来源; 2. 对齐无角色发货结果展示:当订单无游戏角色名(为空或为 "-")时,提货页面结果卡片与 Canvas 生成的深海蓝凭据大图统一不渲染游戏角色项,消除多余占位横杠; 3. 两端信息项保持完全一致:提货结果卡片与发货凭据图片统一按照「游戏区服 -> 兑换账号/UID -> 时间」一致排版,干净清爽。
This commit is contained in:
@@ -341,9 +341,6 @@ export default function Delivery() {
|
||||
<Typography.Title level={3} style={{ marginBottom: 4 }}>
|
||||
游戏道具发货
|
||||
</Typography.Title>
|
||||
<Typography.Text type="secondary">
|
||||
订单编号:{decodedOrderNo}
|
||||
</Typography.Text>
|
||||
</div>
|
||||
{order.status === 'delivering' && (
|
||||
<Button
|
||||
@@ -479,7 +476,21 @@ export default function Delivery() {
|
||||
</div>
|
||||
|
||||
<Descriptions column={{ xs: 1, sm: 2 }} size="middle">
|
||||
<Descriptions.Item label="游戏账号 UID">
|
||||
{order.role_name && order.role_name.trim() !== '' && order.role_name.trim() !== '-' && (
|
||||
<Descriptions.Item label="游戏角色名">
|
||||
<Typography.Text
|
||||
strong
|
||||
style={{ fontSize: 15, color: '#0f172a' }}
|
||||
copyable={{ text: order.role_name }}
|
||||
>
|
||||
{order.role_name}
|
||||
</Typography.Text>
|
||||
</Descriptions.Item>
|
||||
)}
|
||||
<Descriptions.Item label="游戏区服">
|
||||
{order.game_channel || (order.game_uid?.length === 10 ? '微信区' : '手Q / 微信区')}
|
||||
</Descriptions.Item>
|
||||
<Descriptions.Item label="兑换账号 UID">
|
||||
<Typography.Text
|
||||
code
|
||||
strong
|
||||
@@ -489,18 +500,6 @@ export default function Delivery() {
|
||||
{order.game_uid || gameAccount || '-'}
|
||||
</Typography.Text>
|
||||
</Descriptions.Item>
|
||||
<Descriptions.Item label="游戏角色名">
|
||||
<Typography.Text
|
||||
strong
|
||||
style={{ fontSize: 15, color: '#0f172a' }}
|
||||
copyable={order.role_name ? { text: order.role_name } : false}
|
||||
>
|
||||
{order.role_name || '-'}
|
||||
</Typography.Text>
|
||||
</Descriptions.Item>
|
||||
<Descriptions.Item label="区服信息">
|
||||
{order.game_channel || (order.game_uid?.length === 10 ? '微信区' : '手Q / 微信区')}
|
||||
</Descriptions.Item>
|
||||
<Descriptions.Item label="下单时间">{formatDateTime(order.created_at)}</Descriptions.Item>
|
||||
<Descriptions.Item label="完成时间">
|
||||
{order.shipped_at ? formatDateTime(order.shipped_at) : '已完成'}
|
||||
|
||||
@@ -227,16 +227,16 @@ export default function PlatformRock() {
|
||||
const productName = record.target_skin || (isRockBlue ? '蓝色运动服上衣' : '黑色ROCK长袖T恤')
|
||||
const channel = record.actual_channel || record.region || '安卓-微信'
|
||||
const timeStr = record.redeemed_at || record.bound_at || record.created_at
|
||||
const cleanRole = (record.actual_role_name || '').trim()
|
||||
|
||||
const dataURL = await generateVoucherDataURL({
|
||||
productName,
|
||||
productSKU: sku,
|
||||
roleName: record.actual_role_name || '-',
|
||||
roleName: cleanRole && cleanRole !== '-' ? cleanRole : '',
|
||||
roleUID: record.expected_uid || record.actual_role_id || '-',
|
||||
channel,
|
||||
currencyText: '幸运币 x 10',
|
||||
redeemedAt: timeStr ? formatDateTime(timeStr) : formatDateTime(new Date().toISOString()),
|
||||
voucherNo: record.upstream_fulfill_id ? String(record.upstream_fulfill_id) : (record.assigned_order_no || undefined),
|
||||
})
|
||||
|
||||
const copied = await copyVoucherDataUrlToClipboard(dataURL)
|
||||
@@ -261,16 +261,16 @@ export default function PlatformRock() {
|
||||
const productName = record.target_skin || (isRockBlue ? '蓝色运动服上衣' : '黑色ROCK长袖T恤')
|
||||
const channel = record.actual_channel || record.region || '安卓-微信'
|
||||
const timeStr = record.redeemed_at || record.bound_at || record.created_at
|
||||
const cleanRole = (record.actual_role_name || '').trim()
|
||||
|
||||
const dataURL = await generateVoucherDataURL({
|
||||
productName,
|
||||
productSKU: sku,
|
||||
roleName: record.actual_role_name || '-',
|
||||
roleName: cleanRole && cleanRole !== '-' ? cleanRole : '',
|
||||
roleUID: record.expected_uid || record.actual_role_id || '-',
|
||||
channel,
|
||||
currencyText: '幸运币 x 10',
|
||||
redeemedAt: timeStr ? formatDateTime(timeStr) : formatDateTime(new Date().toISOString()),
|
||||
voucherNo: record.upstream_fulfill_id ? String(record.upstream_fulfill_id) : (record.assigned_order_no || undefined),
|
||||
})
|
||||
|
||||
setPreviewVoucherUrl(dataURL)
|
||||
@@ -440,20 +440,10 @@ export default function PlatformRock() {
|
||||
/>
|
||||
</Tooltip>
|
||||
</Space>
|
||||
<div style={{ display: 'flex', alignItems: 'center', gap: 4 }}>
|
||||
<div>
|
||||
<Tag color="cyan" style={{ fontSize: 11, margin: 0 }}>
|
||||
{record.target_skin || '黑色ROCK长袖T恤'}
|
||||
</Tag>
|
||||
{record.upstream_fulfill_id && (
|
||||
<Text
|
||||
type="secondary"
|
||||
copyable={{ text: String(record.upstream_fulfill_id) }}
|
||||
style={{ fontSize: 11, fontFamily: 'monospace' }}
|
||||
title={`官方凭据号: ${record.upstream_fulfill_id}`}
|
||||
>
|
||||
{record.upstream_fulfill_id}
|
||||
</Text>
|
||||
)}
|
||||
</div>
|
||||
</Space>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user