feat(finance): 统一履约事实并改造人工账单分类

This commit is contained in:
yml2213
2026-10-23 13:35:48 +08:00
parent fb80cad695
commit 5d1ba11523
18 changed files with 764 additions and 123 deletions
@@ -32,7 +32,7 @@ import StatusTag from '@/components/admin/StatusTag'
import { fetchAdminOrderDetail, updateAdminOrderClaimStatus } from '@/services/admin'
import type { AdminOrderDetail, AdminTaskListItem } from '@/types/admin'
import { formatAdminDateTime } from '@/utils/admin-time'
import { resolveOrderFulfillmentMode } from '@/utils/admin-display'
import { resolveOrderFulfillmentMode, resolveVoucherStateLabel } from '@/utils/admin-display'
export default function AdminOrderDetailPage() {
const navigate = useNavigate()
@@ -185,9 +185,11 @@ export default function AdminOrderDetailPage() {
detail.order.payStatus === 'refunded' || detail.order.orderStatus === 'cancelled'
const canPauseOrClose = !isOrderFulfilled && !isOrderRefundedOrCancelled
const isAutoClaimOrder = Boolean(
detail.order.canClaimH5 || detail.order.fulfillmentType === 'auto_claim',
detail.order.fulfillmentMode === 'affiliate_dash' ||
(detail.order.fulfillmentMode === 'mixed' && detail.order.canClaimH5),
)
const fulfillmentMode = resolveOrderFulfillmentMode(detail.order)
const voucherLabel = resolveVoucherStateLabel(detail.order.voucherState)
return (
<section className="page-stack">
@@ -254,6 +256,15 @@ export default function AdminOrderDetailPage() {
{fulfillmentMode.label}
</Tag>
</Descriptions.Item>
<Descriptions.Item label="核销码">
{detail.order.hasVoucher && voucherLabel ? (
<Tag color="gold" style={{ margin: 0 }}>
🎫 {voucherLabel}
</Tag>
) : (
<span className="muted">无</span>
)}
</Descriptions.Item>
<Descriptions.Item label="订单状态">
<StatusTag value={detail.order.orderStatus} />
</Descriptions.Item>