修复押金与待解冻资金处理

This commit is contained in:
yml2213
2026-08-28 22:22:26 +08:00
parent f20ff3018f
commit 04dc363320
16 changed files with 97 additions and 23 deletions
@@ -1935,7 +1935,7 @@ export default function WorkOrdersPanel() {
type="warning"
message={`该工单当前待解冻押金 ${formatMoney(
deductOrder.pendingUnfreezeAmount,
)},扣减后剩余部分仍按原计划解冻。`}
)}(不含待解冻报酬),扣减后剩余部分仍按原计划解冻。`}
style={{ marginBottom: 16 }}
/>
<Form.Item
@@ -28,7 +28,9 @@ const LEDGER_TYPE_LABELS: Record<string, string> = {
deposit_freeze: '冻结押金',
deposit_release: '释放押金',
deposit_pending_unfreeze: '待解冻金额',
reward_pending_unfreeze: '报酬待解冻',
deposit_unfreeze: '押金已解冻',
reward_unfreeze: '报酬已解冻',
deposit_deduction: '扣除押金',
reward_settlement: '结算报酬',
sharing_reward: '拼单报酬',
@@ -44,10 +46,15 @@ function formatLedgerType(ledgerType: string) {
function resolveLedgerTagColor(ledgerType: string) {
if (
['deposit_freeze', 'deposit_pending_unfreeze', 'after_sales_debt_offset'].includes(ledgerType)
[
'deposit_freeze',
'deposit_pending_unfreeze',
'reward_pending_unfreeze',
'after_sales_debt_offset',
].includes(ledgerType)
)
return 'gold'
if (['deposit_release', 'deposit_unfreeze', 'after_sales_refund'].includes(ledgerType))
if (['deposit_release', 'deposit_unfreeze', 'reward_unfreeze', 'after_sales_refund'].includes(ledgerType))
return 'green'
if (
[
@@ -206,6 +213,18 @@ function UnfreezesSection({ workerId }: { workerId: number }) {
})
const data = unfreezesQuery.data?.data
const columns: TableColumnsType<WorkerDepositUnfreeze> = [
{
title: '资金类型',
width: 110,
render: (_, row) => {
const labels: Record<string, string> = {
deposit: '押金',
reward: '报酬',
legacy_combined: '历史合并',
}
return <Tag>{labels[row.fundType] || row.fundType}</Tag>
},
},
{
title: '金额',
width: 110,
@@ -339,7 +339,7 @@ function WorkerAfterSalesItem({
) : null}
{Number(item.pendingDepositDeductionAmount || 0) > 0 ? (
<Typography.Text type="secondary">
{formatMoney(item.pendingDepositDeductionAmount)}
{formatMoney(item.pendingDepositDeductionAmount)}
</Typography.Text>
) : null}
{Number(item.availableDeductionAmount || 0) > 0 ? (
@@ -286,7 +286,7 @@ export function WorkerProfileDesktopAccountDetails({
)}
</Descriptions.Item>
<Descriptions.Item label="免押额度">
{formatMoney(worker.level?.permissions.depositFreeAmount || 0)}
{formatMoney(worker.effectiveDepositFreeAmount)}
</Descriptions.Item>
<Descriptions.Item label="最大同时接单">
{worker.level?.permissions.maxActiveOrders || 0}
@@ -359,7 +359,7 @@ function WorkerProfileMobileAccountDetails({
</Tag>,
],
['当前等级', worker.level?.name || '-'],
['免押额度', formatMoney(worker.level?.permissions.depositFreeAmount || 0)],
['免押额度', formatMoney(worker.effectiveDepositFreeAmount)],
['最大同时接单', `${worker.level?.permissions.maxActiveOrders || 0}`],
['邀请人', worker.inviter ? worker.inviter.displayName || worker.inviter.username : '-'],
['已完成订单', `${summary?.acceptedOrderCount || 0}`],
@@ -33,6 +33,7 @@ const LEDGER_TYPE_OPTIONS = [
{ value: 'deposit_freeze', label: '冻结押金' },
{ value: 'deposit_release', label: '释放押金' },
{ value: 'deposit_pending_unfreeze', label: '待解冻金额' },
{ value: 'reward_pending_unfreeze', label: '报酬待解冻' },
{ value: 'deposit_unfreeze', label: '押金已解冻' },
{ value: 'deposit_deduction', label: '扣除押金' },
{ value: 'reward_settlement', label: '结算报酬' },
@@ -53,7 +53,9 @@ export function formatLedgerType(ledgerType: string) {
deposit_freeze: '冻结押金',
deposit_release: '释放押金',
deposit_pending_unfreeze: '待解冻金额',
reward_pending_unfreeze: '报酬待解冻',
deposit_unfreeze: '押金已解冻',
reward_unfreeze: '报酬已解冻',
deposit_deduction: '扣除押金',
reward_settlement: '结算报酬',
sharing_reward: '拼单报酬',
@@ -73,7 +75,9 @@ export function resolveLedgerTagColor(ledgerType: string) {
if (ledgerType === 'deposit_freeze') return 'gold'
if (ledgerType === 'deposit_release') return 'green'
if (ledgerType === 'deposit_pending_unfreeze') return 'orange'
if (ledgerType === 'reward_pending_unfreeze') return 'orange'
if (ledgerType === 'deposit_unfreeze') return 'green'
if (ledgerType === 'reward_unfreeze') return 'green'
if (ledgerType === 'deposit_deduction') return 'red'
if (ledgerType === 'reward_settlement') return 'cyan'
if (ledgerType === 'sharing_reward') return 'cyan'
@@ -98,6 +98,7 @@ export type WorkerDepositUnfreeze = {
workerId: number
workOrderId: number
amount: number
fundType: 'deposit' | 'reward' | 'legacy_combined' | string
status: string
unfreezeAt: string | null
releasedAt: string | null