feat(admin-order): 订单管理列表恢复号主实际收入列

在金额左侧展示已结账/已仲裁订单的到手金额;整页一条批量 SQL 取最新结账行,避免 N+1。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yml2213
2026-09-17 18:13:36 +08:00
co-authored by Cursor
parent 54985b7c36
commit ff8c35ebad
5 changed files with 318 additions and 30 deletions
@@ -164,6 +164,11 @@ function userText(value: string | number | undefined) {
function isPlatformManaged(row: AdminOrderListItem) {
return row.handoff_mode === 'platform' || row.settlement_mode === 'platform_managed'
}
function ownerActualIncome(row: AdminOrderListItem) {
const value = row.owner_income_amount_cent
return typeof value === 'number' ? value : null
}
</script>
<template>
@@ -323,6 +328,14 @@ function isPlatformManaged(row: AdminOrderListItem) {
<el-table-column label="结算" width="110">
<template #default="{ row }">{{ settlementStatusLabel(row.settlement_status) }}</template>
</el-table-column>
<el-table-column label="号主实际收入" width="130" align="right">
<template #default="{ row }">
<strong v-if="ownerActualIncome(row) !== null" class="owner-income-cell">
¥{{ money(amountYuan(ownerActualIncome(row))) }}
</strong>
<span v-else class="owner-income-empty">-</span>
</template>
</el-table-column>
<el-table-column label="金额" width="130" align="right">
<template #default="{ row }">
<div class="stacked-cell money-cell">
@@ -117,6 +117,8 @@ export interface AdminOrderListItem {
settlement_mode: string
settlement_status: SettlementStatus
created_at: string
// 已结账/已仲裁时返回号主实际到手金额(分);未结账为 undefined,与到手 0 元可区分。
owner_income_amount_cent?: number
}
export interface SellerHandoffMetrics {