修复链接 feifei 不展示
This commit is contained in:
@@ -29,6 +29,7 @@ const STATUS_LABELS: Record<string, string> = {
|
|||||||
disabled: '已停用',
|
disabled: '已停用',
|
||||||
dispatched_pending_return: '待退还号码',
|
dispatched_pending_return: '待退还号码',
|
||||||
expired: '已过期',
|
expired: '已过期',
|
||||||
|
external: '外部链接',
|
||||||
failed: '失败',
|
failed: '失败',
|
||||||
invalid: '已作废',
|
invalid: '已作废',
|
||||||
link_generated: '已生成链接',
|
link_generated: '已生成链接',
|
||||||
@@ -90,6 +91,7 @@ const STATUS_COLORS: Record<string, string> = {
|
|||||||
customer_processing: 'blue',
|
customer_processing: 'blue',
|
||||||
delivered: 'green',
|
delivered: 'green',
|
||||||
disabled: 'red',
|
disabled: 'red',
|
||||||
|
external: 'cyan',
|
||||||
failed: 'red',
|
failed: 'red',
|
||||||
invalid: 'orange',
|
invalid: 'orange',
|
||||||
link_generated: 'cyan',
|
link_generated: 'cyan',
|
||||||
|
|||||||
@@ -88,11 +88,13 @@ export default function AdminTaskDetailPage() {
|
|||||||
const detail = query.data?.data
|
const detail = query.data?.data
|
||||||
const canManageTaskLifecycle = hasAdminRole('operator')
|
const canManageTaskLifecycle = hasAdminRole('operator')
|
||||||
const canCloseTasks = hasAdminRole('support')
|
const canCloseTasks = hasAdminRole('support')
|
||||||
|
const claimTokenStatus = String(detail?.claimToken?.status || '').trim()
|
||||||
|
const isExternalClaimLink = claimTokenStatus.toLowerCase() === 'external'
|
||||||
const claimUrl = useMemo(() => {
|
const claimUrl = useMemo(() => {
|
||||||
const tokenStatus = String(detail?.claimToken?.status || '').trim()
|
const tokenStatus = String(detail?.claimToken?.status || '').trim()
|
||||||
const taskStatus = String(detail?.task.status || '').trim()
|
const taskStatus = String(detail?.task.status || '').trim()
|
||||||
|
|
||||||
if (tokenStatus !== 'active' || ['closed', 'expired'].includes(taskStatus)) {
|
if (!isUsableClaimLinkStatus(tokenStatus) || ['closed', 'expired'].includes(taskStatus)) {
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,8 +102,8 @@ export default function AdminTaskDetailPage() {
|
|||||||
}, [detail?.claimToken?.claimUrl, detail?.claimToken?.status, detail?.task.status, lastClaimUrl])
|
}, [detail?.claimToken?.claimUrl, detail?.claimToken?.status, detail?.task.status, lastClaimUrl])
|
||||||
const claimLinkInvalid = Boolean(
|
const claimLinkInvalid = Boolean(
|
||||||
detail?.claimToken?.claimUrl &&
|
detail?.claimToken?.claimUrl &&
|
||||||
String(detail.claimToken.status || '').trim() &&
|
claimTokenStatus &&
|
||||||
String(detail.claimToken.status || '').trim() !== 'active',
|
!isUsableClaimLinkStatus(claimTokenStatus),
|
||||||
)
|
)
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -383,9 +385,13 @@ export default function AdminTaskDetailPage() {
|
|||||||
)}
|
)}
|
||||||
<Space wrap>
|
<Space wrap>
|
||||||
<StatusTag value={resolvedDetail.claimToken.status} />
|
<StatusTag value={resolvedDetail.claimToken.status} />
|
||||||
<Typography.Text type="secondary">
|
{isExternalClaimLink ? (
|
||||||
到期:{formatAdminDateTime(resolvedDetail.claimToken.expiredAt)}
|
<Typography.Text type="secondary">外部交付链接</Typography.Text>
|
||||||
</Typography.Text>
|
) : (
|
||||||
|
<Typography.Text type="secondary">
|
||||||
|
到期:{formatAdminDateTime(resolvedDetail.claimToken.expiredAt)}
|
||||||
|
</Typography.Text>
|
||||||
|
)}
|
||||||
<Button icon={<CopyOutlined />} disabled={!claimUrl} onClick={copyClaimUrl}>
|
<Button icon={<CopyOutlined />} disabled={!claimUrl} onClick={copyClaimUrl}>
|
||||||
复制链接
|
复制链接
|
||||||
</Button>
|
</Button>
|
||||||
@@ -655,6 +661,11 @@ function TaskActionPanel({
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isUsableClaimLinkStatus(value: unknown) {
|
||||||
|
const normalized = String(value || '').trim().toLowerCase()
|
||||||
|
return normalized === 'active' || normalized === 'external'
|
||||||
|
}
|
||||||
|
|
||||||
function FulfillmentOverviewPanel({
|
function FulfillmentOverviewPanel({
|
||||||
detail,
|
detail,
|
||||||
claimUrl,
|
claimUrl,
|
||||||
|
|||||||
Reference in New Issue
Block a user