feat(admin): 资金流水业务类型展示中文并修正筛选取值

- statusLabels 新增 walletBizTypeLabel/walletBizTypeOptions,覆盖 wallet_ledger 全部 16 种 biz_type
- 资金流水表格业务类型列改为中文标签
- 筛选下拉原取值(order_freeze 等)在钱包流水中不存在,替换为真实业务类型
- 用户端钱包页复用共享映射,移除重复的本地 map
This commit is contained in:
yml2213
2026-10-12 17:22:28 +08:00
parent d9003851bd
commit 41d7ffd073
3 changed files with 73 additions and 32 deletions
@@ -13,7 +13,12 @@ import { computed, onMounted, reactive, ref } from 'vue'
import { fetchAdminWalletLedger, type AdminWalletLedger } from '@/features/admin/api/adminWallet'
import { adminPath } from '@/shared/utils/adminPath'
import { formatCentWithSymbol } from '@/shared/utils/money'
import { balanceTypeLabel, ledgerDirectionLabel } from '@/shared/utils/statusLabels'
import {
balanceTypeLabel,
ledgerDirectionLabel,
walletBizTypeLabel,
walletBizTypeOptions,
} from '@/shared/utils/statusLabels'
import { formatDateTime } from '@/shared/utils/time'
import AdminTablePagination from '../components/AdminTablePagination.vue'
@@ -165,10 +170,12 @@ function directionLabel(direction: string) {
placeholder="全部业务类型"
class="full-control"
>
<el-option label="订单冻结" value="order_freeze" />
<el-option label="订单取消释放" value="order_cancel_release" />
<el-option label="订单结算" value="order_settlement" />
<el-option label="押金退回" value="deposit_refund" />
<el-option
v-for="option in walletBizTypeOptions"
:key="option.value"
:label="option.label"
:value="option.value"
/>
</el-select>
</el-form-item>
</el-form>
@@ -222,7 +229,9 @@ function directionLabel(direction: string) {
<el-table-column label="业务类型" width="140">
<template #default="{ row }">
<el-tag size="small" effect="plain" class="biz-tag">{{ row.biz_type }}</el-tag>
<el-tag size="small" effect="plain" class="biz-tag">
{{ walletBizTypeLabel(row.biz_type) }}
</el-tag>
</template>
</el-table-column>
@@ -19,6 +19,7 @@ import {
import {
balanceTypeLabel,
ledgerDirectionLabel,
walletBizTypeLabel,
walletStatusLabel,
} from '@/shared/utils/statusLabels'
import { formatDateTime } from '@/shared/utils/time'
@@ -94,32 +95,6 @@ function handleWithdraw() {
router.push('/wallet/withdrawal')
}
function walletBizTypeLabel(type: string) {
const map: Record<string, string> = {
order_pay: '订单支付',
order_lock: '订单冻结',
channel_order_lock: '支付冻结',
order_cancel: '取消解冻',
order_cancel_refund: '取消退款',
admin_order_close: '客服关闭解冻',
admin_order_close_refund: '客服关闭退款',
order_settle: '订单结算',
owner_income: '号主收入',
deposit_compensation: '押金赔付',
rent_refund: '租金退款',
deposit_release: '押金释放',
arbitration_release_frozen: '仲裁解冻',
arbitration_renter_refund: '仲裁退款',
arbitration_owner_income: '仲裁收入',
cancel_refund: '取消退款',
checkout_refund: '结账退款',
channel_deposit_refund: '押金退还',
withdraw_apply: '申请提现',
admin_pickup_settle: '线下提号结算',
}
return map[type] || type || '-'
}
function directionTone(direction: string) {
const map: Record<string, string> = {
in: 'success',
+57
View File
@@ -134,6 +134,59 @@ const balanceTypeMap: Record<BalanceType, string> = {
frozen: '冻结余额',
}
/**
* 钱包流水业务类型(wallet_ledger.biz_type)中文映射。
* 取值来源:后端 wallet.AppendEntries 的全部调用点 + 生产库 wallet_ledger 实际枚举。
* 新增业务类型时请同步维护,避免页面回退展示英文原值。
*/
const walletBizTypeMap: Record<string, string> = {
// 订单/收益
owner_income: '号主收入',
deposit_compensation: '押金赔付',
// 仲裁
arbitration_owner_income: '仲裁赔付',
arbitration_release_frozen: '仲裁冻结释放',
// 提现
withdraw_apply: '申请提现',
withdraw_freeze: '提现冻结',
withdraw_complete: '提现成功',
withdraw_cancel: '提现取消',
withdraw_reject: '提现驳回',
// 人工调账
admin_credit: '管理员加款',
admin_debit: '管理员扣款',
admin_pickup_settle: '提号结算',
admin_pickup_adjustment: '提号结算调整',
// 营销
invite_rebate: '邀请返利',
// 分销
distribution_settlement: '分销结算',
distribution_reversal: '分销结算回冲',
}
/** 钱包流水业务类型下拉选项,与 walletBizTypeMap 保持同一数据源 */
export const walletBizTypeOptions: { label: string; value: string }[] = Object.entries(
walletBizTypeMap
).map(([value, label]) => ({ value, label }))
/** 历史遗留的支付/退款业务类型别名,避免老数据回退展示英文 */
const walletLegacyBizTypeMap: Record<string, string> = {
order_pay: '订单支付',
order_lock: '订单冻结',
channel_order_lock: '支付冻结',
order_cancel: '取消解冻',
order_cancel_refund: '取消退款',
admin_order_close: '客服关闭解冻',
admin_order_close_refund: '客服关闭退款',
order_settle: '订单结算',
rent_refund: '租金退款',
deposit_release: '押金释放',
arbitration_renter_refund: '仲裁退款',
cancel_refund: '取消退款',
checkout_refund: '结账退款',
channel_deposit_refund: '押金退还',
}
const pickupStatusMap: Record<string, string> = {
picking_up: '提号中',
completed: '已完成',
@@ -216,6 +269,10 @@ export function balanceTypeLabel(type: string) {
return readLabel(balanceTypeMap, type)
}
export function walletBizTypeLabel(type: string) {
return readLabel({ ...walletBizTypeMap, ...walletLegacyBizTypeMap }, type)
}
export function pickupStatusLabel(status: string) {
return readLabel(pickupStatusMap, status)
}