[Snow Team] frontend-fixer-2: auto-commit work

This commit is contained in:
yml
2026-06-09 17:04:40 +08:00
parent f5b38ff772
commit 42a54b474a
16 changed files with 376 additions and 130 deletions
@@ -15,7 +15,7 @@ import {
type RefundStatus,
} from '@/features/orders'
import { fetchAdminPayments, type AdminPayment } from '@/features/admin/api/adminPayments'
import { formatMoney, formatMoneyWithSymbol } from '@/shared/utils/money'
import { centToYuan, formatMoney, formatMoneyWithSymbol } from '@/shared/utils/money'
import { handoffStatusLabel, orderStatusLabel } from '@/utils/statusLabels'
import { formatDateTime } from '@/utils/time'
import { formatListingNo } from '@/utils/listingDisplay'
@@ -111,6 +111,11 @@ function money(value: unknown) {
return formatMoney(Number(value || 0))
}
function amountYuan(cent: unknown, legacyYuan?: unknown) {
if (cent !== undefined && cent !== null) return centToYuan(Number(cent || 0))
return Number(legacyYuan || 0)
}
async function handleRefund() {
if (!order.value) return
refunding.value = true
@@ -227,15 +232,15 @@ function formatHandoffRecordType(type: string) {
</div>
<div class="metric-card">
<span>订单金额</span>
<strong>¥{{ money(order.rent_amount) }}</strong>
<strong>¥{{ money(amountYuan(order.rent_amount_cent, order.rent_amount)) }}</strong>
</div>
<div class="metric-card">
<span>平台费用</span>
<strong>¥{{ money(order.platform_fee) }}</strong>
<strong>¥{{ money(amountYuan(order.platform_fee_cent, order.platform_fee)) }}</strong>
</div>
<div class="metric-card">
<span>押金</span>
<strong>¥{{ money(order.deposit_amount) }}</strong>
<strong>¥{{ money(amountYuan(order.deposit_amount_cent, order.deposit_amount)) }}</strong>
</div>
<div v-if="refundStatus" class="metric-card">
<span>退款状态</span>
@@ -4,6 +4,7 @@ import { computed, onMounted, ref } from 'vue'
import { fetchAdminOrders, type Order } from '@/features/orders'
import { handoffStatusLabel, orderStatusLabel, settlementStatusLabel } from '@/utils/statusLabels'
import { formatDateTime } from '@/utils/time'
import { centToYuan, formatMoney } from '@/shared/utils/money'
import { formatListingNo } from '@/utils/listingDisplay'
import AdminTablePagination from '../components/AdminTablePagination.vue'
@@ -35,6 +36,15 @@ const filteredOrders = computed(() => {
if (!status.value) return orders.value
return orders.value.filter(item => item.status === status.value)
})
function amountYuan(cent: unknown, legacyYuan?: unknown) {
if (cent !== undefined && cent !== null) return centToYuan(Number(cent || 0))
return Number(legacyYuan || 0)
}
function money(value: unknown) {
return formatMoney(Number(value || 0))
}
</script>
<template>
@@ -84,8 +94,12 @@ const filteredOrders = computed(() => {
<el-table-column label="结算" width="120">
<template #default="{ row }">{{ settlementStatusLabel(row.settlement_status) }}</template>
</el-table-column>
<el-table-column prop="rent_amount" label="订单金额" width="100" />
<el-table-column prop="deposit_amount" label="押金" width="100" />
<el-table-column label="订单金额" width="100">
<template #default="{ row }">¥{{ money(amountYuan(row.rent_amount_cent, row.rent_amount)) }}</template>
</el-table-column>
<el-table-column label="押金" width="100">
<template #default="{ row }">¥{{ money(amountYuan(row.deposit_amount_cent, row.deposit_amount)) }}</template>
</el-table-column>
<el-table-column label="创建时间" min-width="180">
<template #default="{ row }">{{ formatDateTime(row.created_at) }}</template>
</el-table-column>
@@ -3,7 +3,7 @@ import { Search } from '@element-plus/icons-vue'
import { computed, onMounted, reactive, ref } from 'vue'
import { fetchAdminWalletLedger, type AdminWalletLedger } from '@/features/admin/api/adminWallet'
import { formatMoneyWithSymbol } from '@/shared/utils/money'
import { formatCentWithSymbol } from '@/shared/utils/money'
import { balanceTypeLabel, ledgerDirectionLabel } from '@/utils/statusLabels'
import { formatDateTime } from '@/utils/time'
import AdminTablePagination from '../components/AdminTablePagination.vue'
@@ -22,12 +22,12 @@ const filters = reactive({
const inAmount = computed(() =>
ledger.value
.filter(item => item.direction === 'in')
.reduce((sum, item) => sum + Number(item.amount || 0), 0)
.reduce((sum, item) => sum + Number(item.amount_cent || 0), 0)
)
const outAmount = computed(() =>
ledger.value
.filter(item => item.direction === 'out')
.reduce((sum, item) => sum + Number(item.amount || 0), 0)
.reduce((sum, item) => sum + Number(item.amount_cent || 0), 0)
)
onMounted(loadLedger)
@@ -65,7 +65,7 @@ async function handlePageChange() {
}
function money(value: number) {
return formatMoneyWithSymbol(value)
return formatCentWithSymbol(value)
}
function directionType(direction: string) {
@@ -149,13 +149,13 @@ function directionLabel(direction: string) {
</template>
</el-table-column>
<el-table-column label="金额" width="110">
<template #default="{ row }">{{ money(Number(row.amount)) }}</template>
<template #default="{ row }">{{ money(Number(row.amount_cent)) }}</template>
</el-table-column>
<el-table-column label="余额类型" width="110">
<template #default="{ row }">{{ balanceTypeLabel(row.balance_type) }}</template>
</el-table-column>
<el-table-column label="变化后余额" width="130">
<template #default="{ row }">{{ money(Number(row.balance_after)) }}</template>
<template #default="{ row }">{{ money(Number(row.balance_after_cent)) }}</template>
</el-table-column>
<el-table-column label="创建时间" min-width="180">
<template #default="{ row }">{{ formatDateTime(row.created_at) }}</template>
@@ -8,7 +8,7 @@ import {
confirmPayment,
type WithdrawalDetail,
} from '@/features/admin/api/adminWithdrawal'
import { formatMoney } from '@/shared/utils/money'
import { formatCent } from '@/shared/utils/money'
import WithdrawalDetailDialog from '../components/WithdrawalDetailDialog.vue'
@@ -220,7 +220,7 @@ function onDetailDialogSaved() {
</el-table-column>
<el-table-column label="提现金额" width="120" align="right">
<template #default="{ row }">
<span style="color: #f56c6c; font-weight: 600"> ¥{{ formatMoney(row.amount) }} </span>
<span style="color: #f56c6c; font-weight: 600"> ¥{{ formatCent(row.amount_cent) }} </span>
</template>
</el-table-column>
<el-table-column label="收款方式" min-width="180">