feat(finance): refine daily sales statistics

This commit is contained in:
yml2213
2026-08-09 20:43:18 +08:00
parent 211b9f012a
commit 192f7957b8
4 changed files with 24 additions and 82 deletions
@@ -51,6 +51,8 @@ export interface FinanceDailyItem {
partial_refund_count: number
pending_refund_count: number
settled_order_count: number
pickup_completed_count: number
sales_count: number
offline_settlement_pending_count: number
offline_settlement_paid_amount_cent: number
offline_settlement_paid_count: number
@@ -6,7 +6,6 @@ import {
fetchFinanceDashboard,
SETTLEMENT_DIFF_THRESHOLD_CENT,
type FinanceDashboard,
type FinanceDailyItem,
} from '@/features/admin/api/adminFinance'
import { formatCentWithSymbol } from '@/shared/utils/money'
import { formatDateTime, formatInputDate } from '@/shared/utils/time'
@@ -48,16 +47,6 @@ function defaultEndDate() {
function diffType(value: number) {
return Math.abs(Number(value || 0)) >= SETTLEMENT_DIFF_THRESHOLD_CENT ? 'danger' : 'success'
}
function rowDiffClass(row: FinanceDailyItem) {
return Math.abs(Number(row.settlement_diff_amount_cent || 0)) >= SETTLEMENT_DIFF_THRESHOLD_CENT
? 'amount-danger'
: ''
}
function rowOfflinePendingClass(row: FinanceDailyItem) {
return Number(row.offline_settlement_pending_amount_cent || 0) > 0 ? 'amount-warning' : ''
}
</script>
<template>
@@ -259,73 +248,27 @@ function rowOfflinePendingClass(row: FinanceDailyItem) {
</div>
<el-table v-loading="loading" class="table-panel" :data="dailyItems">
<el-table-column prop="date" label="日期" width="130" />
<el-table-column prop="date" label="日期" width="120" />
<el-table-column label="哈夫币结算" width="120">
<template #default="{ row }">{{ row.settled_order_count }}</template>
</el-table-column>
<el-table-column label="线下提号结算" width="140">
<template #default="{ row }">{{ row.pickup_completed_count }}</template>
</el-table-column>
<el-table-column label="销售数量" width="110">
<template #default="{ row }">{{ row.sales_count }}</template>
</el-table-column>
<el-table-column label="平台利润" width="130">
<template #default="{ row }">{{ moneyCent(row.platform_income_amount_cent) }}</template>
</el-table-column>
<el-table-column label="总流水" width="130">
<template #default="{ row }">{{ moneyCent(row.total_flow_amount_cent) }}</template>
</el-table-column>
<el-table-column label="总退款" width="130">
<template #default="{ row }">{{ moneyCent(row.total_refund_amount_cent) }}</template>
</el-table-column>
<el-table-column label="渠道净流入" width="140">
<template #default="{ row }">{{ moneyCent(row.channel_net_amount_cent) }}</template>
</el-table-column>
<el-table-column label="平台利润" width="130">
<template #default="{ row }">{{ moneyCent(row.platform_income_amount_cent) }}</template>
</el-table-column>
<el-table-column label="号主应得" width="130">
<template #default="{ row }">{{ moneyCent(row.owner_should_income_amount_cent) }}</template>
</el-table-column>
<el-table-column label="结算金额" width="130">
<template #default="{ row }">{{
moneyCent(row.owner_effective_settlement_amount_cent)
}}</template>
</el-table-column>
<el-table-column label="实际出款" width="130">
<template #default="{ row }">
{{ moneyCent(row.disbursement_paid_amount_cent) }}
</template>
</el-table-column>
<el-table-column label="代管打款" width="130">
<template #default="{ row }">
{{ moneyCent(row.offline_settlement_paid_amount_cent) }}
</template>
</el-table-column>
<el-table-column label="提现打款" width="130">
<template #default="{ row }">
{{ moneyCent(row.withdrawal_paid_amount_cent) }}
</template>
</el-table-column>
<el-table-column label="其他线下" width="130">
<template #default="{ row }">
{{ moneyCent(row.manual_paid_amount_cent) }}
</template>
</el-table-column>
<el-table-column label="待线下" width="130">
<template #default="{ row }">
<span :class="rowOfflinePendingClass(row)">
{{ moneyCent(row.offline_settlement_pending_amount_cent) }}
</span>
</template>
</el-table-column>
<el-table-column label="结算差异" width="130">
<template #default="{ row }">
<span :class="rowDiffClass(row)">{{ moneyCent(row.settlement_diff_amount_cent) }}</span>
</template>
</el-table-column>
<el-table-column label="预计收入" width="130">
<template #default="{ row }">{{ moneyCent(row.estimated_income_amount_cent) }}</template>
</el-table-column>
<el-table-column label="销售数量" width="110">
<template #default="{ row }">{{ row.successful_pay_count }}</template>
</el-table-column>
<el-table-column label="全额退款" width="100">
<template #default="{ row }">{{ row.full_refund_count }}</template>
</el-table-column>
<el-table-column label="部分退款" width="100">
<template #default="{ row }">{{ row.partial_refund_count }}</template>
</el-table-column>
<el-table-column label="结算数量" width="110">
<template #default="{ row }">{{ row.settled_order_count }}</template>
<template #default="{ row }">{{ moneyCent(row.disbursement_paid_amount_cent) }}</template>
</el-table-column>
</el-table>
@@ -336,16 +279,6 @@ function rowOfflinePendingClass(row: FinanceDailyItem) {
</template>
<style scoped>
.amount-danger {
color: #dc2626;
font-weight: 700;
}
.amount-warning {
color: #d97706;
font-weight: 700;
}
.pickup-grid {
margin-top: 12px;
}