优化资金审核与流水展示

This commit is contained in:
yml2213
2026-08-21 12:54:44 +08:00
parent 1090bd691b
commit b2a1ac3db1
8 changed files with 129 additions and 59 deletions
@@ -500,6 +500,7 @@ export default function FinancePanel() {
}
open={Boolean(reviewState)}
destroyOnHidden
width="min(860px, calc(100vw - 32px))"
confirmLoading={reviewing}
onCancel={() => {
setReviewState(null)
@@ -509,64 +510,63 @@ export default function FinancePanel() {
>
{reviewState ? (
<Space direction="vertical" size={16} className="full-width">
<Descriptions column={1} bordered size="small">
<Descriptions.Item label="打手">
{reviewState.request.worker?.displayName ||
reviewState.request.worker?.username ||
'-'}
</Descriptions.Item>
<Descriptions.Item label="申请类型">
{formatFinanceRequestType(reviewState.request.requestType)}
</Descriptions.Item>
<Descriptions.Item label="金额">
{formatMoney(reviewState.request.amount)}
</Descriptions.Item>
<Descriptions.Item label="收款信息">
{renderFinanceRequestAccountText(reviewState.request)}
</Descriptions.Item>
{reviewState.request.requestType === 'withdraw' &&
reviewState.request.accountChannel === 'alipay' ? (
<>
<Descriptions.Item label="支付宝账号">
{reviewState.request.accountNo ? (
<Typography.Text copyable>{reviewState.request.accountNo}</Typography.Text>
) : (
'-'
)}
<div className="finance-review-layout">
<div className="finance-review-details">
<Typography.Text strong>
{reviewState.request.requestType === 'withdraw' ? '提现信息' : '充值信息'}
</Typography.Text>
<Descriptions column={1} bordered size="small">
<Descriptions.Item label="打手">
{reviewState.request.worker?.displayName ||
reviewState.request.worker?.username ||
'-'}
</Descriptions.Item>
<Descriptions.Item label="支付宝收款二维码">
<ImagePreviewList
files={getAlipayWithdrawQrCode(reviewState.request)}
size={88}
/>
<Descriptions.Item label="申请类型">
{formatFinanceRequestType(reviewState.request.requestType)}
</Descriptions.Item>
</>
) : null}
{reviewState.request.requestType === 'recharge' ? (
<>
<Descriptions.Item label="付款时间">
{getRechargePaidAt(reviewState.request)
? formatAdminDateTime(getRechargePaidAt(reviewState.request))
: '-'}
<Descriptions.Item label="金额">
{formatMoney(reviewState.request.amount)}
</Descriptions.Item>
<Descriptions.Item label="付款凭证">
<ImagePreviewList files={getRechargeProofs(reviewState.request)} size={88} />
<Descriptions.Item label="收款信息">
{renderFinanceRequestAccountText(reviewState.request)}
</Descriptions.Item>
</>
) : null}
{reviewState.request.requestType === 'withdraw' &&
reviewState.request.accountChannel === 'wechat' ? (
<Descriptions.Item label="微信收款二维码">
<ImagePreviewList
files={getWechatWithdrawQrCode(reviewState.request)}
size={88}
/>
</Descriptions.Item>
) : null}
<Descriptions.Item label="申请备注">
{reviewState.request.note || '-'}
</Descriptions.Item>
</Descriptions>
{reviewState.request.requestType === 'withdraw' ? (
<Descriptions.Item label="收款账号">
{reviewState.request.accountNo ? (
<Typography.Text copyable>{reviewState.request.accountNo}</Typography.Text>
) : (
'-'
)}
</Descriptions.Item>
) : null}
{reviewState.request.requestType === 'recharge' ? (
<Descriptions.Item label="付款时间">
{getRechargePaidAt(reviewState.request)
? formatAdminDateTime(getRechargePaidAt(reviewState.request))
: '-'}
</Descriptions.Item>
) : null}
<Descriptions.Item label="申请备注">
{reviewState.request.note || '-'}
</Descriptions.Item>
</Descriptions>
</div>
<div className="finance-review-evidence">
<Typography.Text strong>
{reviewState.request.requestType === 'withdraw'
? `${formatFinanceChannel(reviewState.request.accountChannel)}收款二维码`
: '付款凭证'}
</Typography.Text>
<ImagePreviewList
files={
reviewState.request.requestType === 'withdraw'
? getWithdrawQrCode(reviewState.request)
: getRechargeProofs(reviewState.request)
}
size={280}
/>
</div>
</div>
<Form form={reviewForm} layout="vertical" onFinish={submitFinanceReview}>
<Form.Item label="审核备注" name="reviewedNote">
@@ -420,8 +420,8 @@ export default function WorkerProfilePage() {
render: (_, row) => (
<div className="cell-stack">
<Typography.Text>{row.note || '-'}</Typography.Text>
{row.relatedWorkOrderId ? (
<Typography.Text type="secondary"> #{row.relatedWorkOrderId}</Typography.Text>
{row.relatedPlatformOrderId ? (
<Typography.Text type="secondary"> {row.relatedPlatformOrderId}</Typography.Text>
) : null}
</div>
),
@@ -841,9 +841,9 @@ export default function WorkerProfilePage() {
{row.note ? (
<div className="worker-profile-record-note">: {row.note}</div>
) : null}
{row.relatedWorkOrderId ? (
{row.relatedPlatformOrderId ? (
<div className="worker-profile-record-sub">
#{row.relatedWorkOrderId}
{row.relatedPlatformOrderId}
</div>
) : null}
<div className="worker-profile-record-time">