修复提现申请冻结余额

This commit is contained in:
yml2213
2026-08-23 16:51:32 +08:00
parent b49fa12484
commit 844f071aab
10 changed files with 409 additions and 42 deletions
@@ -22,7 +22,9 @@ import { formatMoney, formatStatus, formatWorkerStatus, resolveStatusColor } fro
/** 与打手端 worker-profile-view-utils 的流水文案保持一致;未知类型原样展示。 */
const LEDGER_TYPE_LABELS: Record<string, string> = {
manual_credit: '人工充值',
withdraw_freeze: '提现冻结',
withdraw_paid: '提现打款',
withdraw_release: '提现退回',
deposit_freeze: '冻结押金',
deposit_release: '释放押金',
deposit_pending_unfreeze: '待解冻金额',
@@ -57,7 +59,9 @@ function resolveLedgerTagColor(ledgerType: string) {
return 'red'
if (['reward_settlement', 'sharing_reward'].includes(ledgerType)) return 'cyan'
if (ledgerType === 'manual_credit') return 'blue'
if (ledgerType === 'withdraw_freeze') return 'orange'
if (ledgerType === 'withdraw_paid') return 'purple'
if (ledgerType === 'withdraw_release') return 'green'
return 'default'
}
@@ -287,7 +291,7 @@ function LedgersSection({ workerId }: { workerId: number }) {
render: (_, row) => formatMoney(row.balanceAfter),
},
{
title: '冻结金',
title: '冻结金',
width: 110,
render: (_, row) => formatMoney(row.frozenAfter),
},
@@ -17,6 +17,7 @@ import {
formatWithdrawChannel,
maskAccountNo,
renderRechargeRequestSummary,
resolveLedgerFrozenAmountLabel,
resolveLedgerTagColor,
resolveRequestStatusColor,
workerFinanceRequestColumns,
@@ -26,7 +27,9 @@ import {
const LEDGER_TYPE_OPTIONS = [
{ value: '', label: '全部流水' },
{ value: 'manual_credit', label: '人工充值' },
{ value: 'withdraw_freeze', label: '提现冻结' },
{ value: 'withdraw_paid', label: '提现打款' },
{ value: 'withdraw_release', label: '提现退回' },
{ value: 'deposit_freeze', label: '冻结押金' },
{ value: 'deposit_release', label: '释放押金' },
{ value: 'deposit_pending_unfreeze', label: '待解冻金额' },
@@ -132,7 +135,9 @@ export function WorkerProfileMobileLedgerRecords({
</div>
<div className="worker-profile-record-row-meta">
<span>: {formatMoney(row.balanceAfter)}</span>
<span>: {formatMoney(row.frozenAfter)}</span>
<span>
{resolveLedgerFrozenAmountLabel(row.ledgerType)}: {formatMoney(row.frozenAfter)}
</span>
</div>
{row.note ? <div className="worker-profile-record-note">: {row.note}</div> : null}
{row.relatedPlatformOrderId ? (
@@ -11,12 +11,10 @@ import { formatDateTime } from '@/utils/date-time'
export function resolveAvailableForWithdraw(
worker: WorkerUser | undefined,
summary: WorkerProfileSummary | undefined,
_summary: WorkerProfileSummary | undefined,
) {
return Math.max(
0,
Number(worker?.wallet.availableAmount || 0) - Number(summary?.pendingWithdrawAmount || 0),
)
// 提现申请即冻结 available_amount,可提现口径就是当前可用余额,无需再减待处理申请。
return Math.max(0, Number(worker?.wallet.availableAmount || 0))
}
export function resolveWorkerInitial(worker: WorkerUser | undefined) {
@@ -49,7 +47,9 @@ export function resolveWorkerStatusColor(status: string) {
export function formatLedgerType(ledgerType: string) {
const labels: Record<string, string> = {
manual_credit: '人工充值',
withdraw_freeze: '提现冻结',
withdraw_paid: '提现打款',
withdraw_release: '提现退回',
deposit_freeze: '冻结押金',
deposit_release: '释放押金',
deposit_pending_unfreeze: '待解冻金额',
@@ -67,7 +67,9 @@ export function formatLedgerType(ledgerType: string) {
export function resolveLedgerTagColor(ledgerType: string) {
if (ledgerType === 'manual_credit') return 'blue'
if (ledgerType === 'withdraw_freeze') return 'orange'
if (ledgerType === 'withdraw_paid') return 'purple'
if (ledgerType === 'withdraw_release') return 'green'
if (ledgerType === 'deposit_freeze') return 'gold'
if (ledgerType === 'deposit_release') return 'green'
if (ledgerType === 'deposit_pending_unfreeze') return 'orange'
@@ -82,6 +84,12 @@ export function resolveLedgerTagColor(ledgerType: string) {
return 'default'
}
export function resolveLedgerFrozenAmountLabel(ledgerType: string) {
return ['withdraw_freeze', 'withdraw_paid', 'withdraw_release'].includes(ledgerType)
? '提现冻结'
: '冻结押金'
}
export function formatRequestType(requestType: string) {
if (requestType === 'recharge') return '充值申请'
if (requestType === 'withdraw') return '提现申请'
@@ -180,7 +188,7 @@ export const workerLedgerColumns: TableColumnsType<WorkerWalletLedger> = [
),
},
{ title: '余额', width: 120, render: (_, row) => formatMoney(row.balanceAfter) },
{ title: '冻结金', width: 120, render: (_, row) => formatMoney(row.frozenAfter) },
{ title: '冻结金', width: 120, render: (_, row) => formatMoney(row.frozenAfter) },
{
title: '说明',
minWidth: 260,