修复仲裁退款并新增免押额度

This commit is contained in:
yml
2026-06-08 21:00:39 +08:00
parent 830cfcf33d
commit 0b419f5084
22 changed files with 559 additions and 72 deletions
@@ -22,6 +22,8 @@ export interface Order {
rent_amount?: number
owner_rent_amount?: number
deposit_amount: number
deposit_original_amount: number
deposit_waived_amount: number
platform_fee?: number
account_snapshot?: Record<string, unknown>
listing_snapshot?: string
@@ -664,6 +664,9 @@ async function copyListingCode() {
<div class="meta-item">
<span class="meta-label">押金</span>
<strong class="meta-value">¥{{ money(order.deposit_amount) }}</strong>
<span v-if="order.deposit_waived_amount > 0" class="meta-note"
>已免押 ¥{{ money(order.deposit_waived_amount) }}</span
>
</div>
<div class="meta-item">
<span class="meta-label">交接状态</span>
@@ -914,7 +917,13 @@ async function copyListingCode() {
<h3 class="section-title">结账结算账单</h3>
<van-cell-group inset :border="false">
<van-cell title="实际结算租金" :value="`¥${money(order.checkout.display_amount)}`" />
<van-cell title="押金总额" :value="`¥${money(order.checkout.deposit_amount)}`" />
<van-cell
title="押金总额"
:label="
order.deposit_waived_amount > 0 ? `已免押 ¥${money(order.deposit_waived_amount)}` : ''
"
:value="`¥${money(order.checkout.deposit_amount)}`"
/>
<van-cell title="额外消耗品已用" :value="`¥${money(order.checkout.consumable_amount)}`" />
<van-cell
title="押金赔付扣除"
@@ -1348,6 +1357,12 @@ async function copyListingCode() {
font-weight: 700;
}
.meta-note {
margin-top: 2px;
font-size: 10px;
color: #2563eb;
}
.action-card {
padding: 16px;
}
@@ -230,7 +230,12 @@ async function copyListingCode(order: Order) {
</div>
<div class="price-item">
<span class="price-label">押金金额</span>
<span class="price-val deposit">¥{{ money(order.deposit_amount) }}</span>
<span class="price-val deposit">
¥{{ money(order.deposit_amount) }}
<em v-if="order.deposit_waived_amount > 0"
>免 ¥{{ money(order.deposit_waived_amount) }}</em
>
</span>
</div>
</div>
</div>
@@ -500,11 +505,21 @@ async function copyListingCode(order: Order) {
}
.price-val {
display: flex;
flex-direction: column;
align-items: flex-end;
font-size: 15px;
font-weight: 800;
color: #ff5f00;
}
.price-val em {
font-style: normal;
font-size: 10px;
font-weight: 600;
color: #2563eb;
}
.price-val.deposit {
color: #374151;
}
@@ -766,6 +766,9 @@ async function copyListingCode() {
<div class="metric-card">
<span class="metric-label">押金</span>
<strong class="metric-value">¥{{ money(order.deposit_amount) }}</strong>
<span v-if="order.deposit_waived_amount > 0" class="metric-note"
>已免押 ¥{{ money(order.deposit_waived_amount) }}</span
>
</div>
</div>
@@ -950,7 +953,12 @@ async function copyListingCode() {
</div>
<div class="summary-row">
<span>预收押金</span>
<strong>¥{{ money(order.checkout.deposit_amount) }}</strong>
<strong>
¥{{ money(order.checkout.deposit_amount) }}
<em v-if="order.deposit_waived_amount > 0"
>已免押 ¥{{ money(order.deposit_waived_amount) }}</em
>
</strong>
</div>
<div class="summary-row">
<span>额外消耗品已用</span>
@@ -1441,6 +1449,11 @@ async function copyListingCode() {
color: #ff6a00;
}
.metric-note {
font-size: 12px;
color: #2563eb;
}
.info-section {
margin-bottom: 32px;
}
@@ -1772,11 +1785,21 @@ async function copyListingCode() {
}
.summary-row strong {
display: flex;
flex-direction: column;
align-items: flex-end;
font-size: 18px;
font-weight: 700;
color: #1f2937;
}
.summary-row strong em {
font-style: normal;
font-size: 12px;
font-weight: 500;
color: #2563eb;
}
.summary-row strong.amount {
color: #10b981;
font-size: 20px;
@@ -260,7 +260,14 @@ function getCountdownMinutes(order: Order) {
</template>
</el-table-column>
<el-table-column label="押金" width="100">
<template #default="{ row }">¥{{ money(row.deposit_amount) }}</template>
<template #default="{ row }">
<div class="amount-cell">
<span class="amount-value">¥{{ money(row.deposit_amount) }}</span>
<span v-if="row.deposit_waived_amount > 0" class="amount-label"
>免 ¥{{ money(row.deposit_waived_amount) }}</span
>
</div>
</template>
</el-table-column>
<el-table-column label="身份" width="80">
<template #default="{ row }">
@@ -342,7 +349,12 @@ function getCountdownMinutes(order: Order) {
</div>
<div class="meta-row">
<span class="meta-label">押金</span>
<span class="meta-value">¥{{ money(order.deposit_amount) }}</span>
<span class="meta-value">
¥{{ money(order.deposit_amount) }}
<em v-if="order.deposit_waived_amount > 0"
>免 ¥{{ money(order.deposit_waived_amount) }}</em
>
</span>
</div>
<div class="meta-row">
<span class="meta-label">创建时间</span>
@@ -581,11 +593,20 @@ function getCountdownMinutes(order: Order) {
}
.meta-value {
display: flex;
flex-direction: column;
align-items: flex-end;
font-size: 14px;
color: #374151;
font-weight: 500;
}
.meta-value em {
font-style: normal;
font-size: 12px;
color: #2563eb;
}
.meta-value.amount {
color: #ff6a00;
font-weight: 600;