feat(admin): v3.5.18 用户详情明文手机、任务关联版本与核销快链

HQ 后台:用户/核销记录展示完整手机号;任务列表与编辑可关联版本;账单核销单号与券号/用户可快链;门店账单日标明为出账自然日;技术支持操作按钮右对齐。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-28 13:58:08 +08:00
parent b226af2adc
commit da19c39965
11 changed files with 302 additions and 88 deletions
+38 -6
View File
@@ -1,5 +1,5 @@
import { useEffect, useState } from 'react';
import { useSearchParams } from 'react-router-dom';
import { useSearchParams, useNavigate } from 'react-router-dom';
import {
Button,
Card,
@@ -14,6 +14,7 @@ import {
Statistic,
Table,
Tag,
Tooltip,
Typography,
message,
} from 'antd';
@@ -75,6 +76,7 @@ const KIND_COLORS: Record<StoreSettlementKind, string> = {
};
export default function StoreBillsPage() {
const navigate = useNavigate();
const [searchParams] = useSearchParams();
const initialKind = searchParams.get('kind') === 'WITHDRAW' ? 'WITHDRAW' : '';
const initialStoreId = searchParams.get('storeId') || '';
@@ -294,7 +296,11 @@ export default function StoreBillsPage() {
),
},
{
title: '日期',
title: (
<Tooltip title="T+1 为账单日(对应昨日核销自然日窗口,不是该账单里最后一笔核销时间);手动提现为申请时间">
</Tooltip>
),
dataIndex: 'date',
width: 160,
render: (v, row) => (row.kind === 'T1_BILL' ? String(v || '').slice(0, 10) : fmtTime(v)),
@@ -389,6 +395,7 @@ export default function StoreBillsPage() {
<>
T+1 沿
= T+1 =
T+1
{overdueSummary && overdueSummary.overdueCount > 0 ? (
<div>
<Typography.Text type="danger">
@@ -469,7 +476,7 @@ export default function StoreBillsPage() {
}))}
/>
</Form.Item>
<Form.Item name="range" label="日">
<Form.Item name="range" label="账单日">
<DatePicker.RangePicker />
</Form.Item>
<Form.Item>
@@ -592,8 +599,22 @@ export default function StoreBillsPage() {
columns={[
{
title: '核销单号',
render: (_, r) =>
String((r.redeemRecord as { redeemNo?: string })?.redeemNo || '—'),
render: (_, r) => {
const redeemNo = String(
(r.redeemRecord as { redeemNo?: string } | undefined)?.redeemNo || '',
);
return redeemNo ? (
<AdminPrimaryLink
onClick={() =>
navigate(`/redeem-records?redeemNo=${encodeURIComponent(redeemNo)}`)
}
>
{redeemNo}
</AdminPrimaryLink>
) : (
'—'
);
},
},
{
title: '金额',
@@ -662,7 +683,18 @@ export default function StoreBillsPage() {
const payout = r.storePayout as
| { redeemRecord?: { redeemNo?: string }; payoutAmount?: number }
| undefined;
return String(payout?.redeemRecord?.redeemNo || '');
const redeemNo = payout?.redeemRecord?.redeemNo || '';
return redeemNo ? (
<AdminPrimaryLink
onClick={() =>
navigate(`/redeem-records?redeemNo=${encodeURIComponent(redeemNo)}`)
}
>
{redeemNo}
</AdminPrimaryLink>
) : (
'—'
);
},
},
{