优化订单结算金额展示和钱包流水号

This commit is contained in:
yml2213
2026-06-05 00:37:50 +08:00
parent 064abb6621
commit 498e3d7bde
7 changed files with 148 additions and 15 deletions
@@ -117,7 +117,19 @@ function isOwner(order: Order) {
}
function amountLabel(order: Order) {
return isRenter(order) ? '支付金' : '租金收入'
return isRenter(order) ? '支付金' : '预计租金'
}
function orderRentAmount(order: Order) {
if (isOwner(order)) return Number(order.owner_rent_amount ?? order.display_amount ?? 0)
if (isRenter(order)) return Number(order.rent_amount ?? order.display_amount ?? 0)
return Number(order.display_amount ?? 0)
}
function ownerActualIncome(order: Order) {
if (!isOwner(order)) return null
const value = order.checkout?.owner_income_amount
return typeof value === 'number' ? value : null
}
function money(value: unknown) {
@@ -200,11 +212,12 @@ function getCountdownMinutes(order: Order) {
</template>
</el-table-column>
<el-table-column prop="title" label="账号" min-width="180" />
<el-table-column label="金额" width="100">
<el-table-column label="金额" width="132">
<template #default="{ row }">
<div class="amount-cell">
<span class="amount-value">¥{{ money(row.display_amount) }}</span>
<span class="amount-value">¥{{ money(orderRentAmount(row)) }}</span>
<span class="amount-label">{{ amountLabel(row) }}</span>
<span v-if="ownerActualIncome(row) !== null" class="amount-sub">实际到手 ¥{{ money(ownerActualIncome(row)) }}</span>
</div>
</template>
</el-table-column>
@@ -269,7 +282,11 @@ function getCountdownMinutes(order: Order) {
<div class="card-meta">
<div class="meta-row">
<span class="meta-label">{{ amountLabel(order) }}</span>
<span class="meta-value amount">¥{{ money(order.display_amount) }}</span>
<span class="meta-value amount">¥{{ money(orderRentAmount(order)) }}</span>
</div>
<div v-if="ownerActualIncome(order) !== null" class="meta-row">
<span class="meta-label">实际到手</span>
<span class="meta-value amount">¥{{ money(ownerActualIncome(order)) }}</span>
</div>
<div class="meta-row">
<span class="meta-label">押金</span>
@@ -411,6 +428,12 @@ function getCountdownMinutes(order: Order) {
color: #9ca3af;
}
.amount-sub {
font-size: 12px;
color: #10b981;
font-weight: 600;
}
.status-cell {
display: flex;
flex-direction: column;