feat(order): 结账备注与系统结算信息分开展示,系统结算信息改为逐行明细
- 结账内容写入分隔标记,展示端拆出「结账备注(不参与结算金额)」与「系统结算信息(参与结算金额)」 - 系统结算信息每件消耗品单独一行并给合计,哈夫币/押金各一行;兼容旧数据(同一行用「;」分隔自动拆行并补合计) - 新增 CheckoutSystemDetail 明细组件,接入订单交接记录、结账明细(PC/移动端)与客服订单详情、聊天侧栏 - 结账提交表单与二次确认补充「备注不参与结算金额」提示
This commit is contained in:
@@ -22,9 +22,11 @@ import {
|
||||
fetchAdminLatestOrderByListing,
|
||||
fetchAdminHandoffRecords,
|
||||
fetchAdminOrder,
|
||||
splitCheckoutContent,
|
||||
type HandoffRecord,
|
||||
type Order,
|
||||
} from '@/features/orders'
|
||||
import CheckoutSystemDetail from '@/features/orders/components/CheckoutSystemDetail.vue'
|
||||
import { fetchAdminPayments, type AdminPayment } from '@/features/admin/api/adminPayments'
|
||||
import { uploadAdminFile } from '@/shared/api/files'
|
||||
import ChatAttachmentImage from '@/components/ChatAttachmentImage.vue'
|
||||
@@ -108,6 +110,8 @@ const activeListingCode = computed(() =>
|
||||
: '-'
|
||||
)
|
||||
const latestHandoffRecord = computed(() => activeHandoffRecords.value[0])
|
||||
// 交接记录内容含「租客手填备注 + 系统结算信息」,拆分展示避免客服把备注当作结算依据
|
||||
const latestHandoffParts = computed(() => splitCheckoutContent(latestHandoffRecord.value?.content))
|
||||
const latestPaymentRecord = computed(() => activePaymentRecords.value[0])
|
||||
const hasOrderContext = computed(() => Boolean(active.value?.order_id || active.value?.listing_id))
|
||||
const orderDetailLink = computed(() =>
|
||||
@@ -894,7 +898,16 @@ function firstQueryValue(value: unknown) {
|
||||
<h3>交接记录</h3>
|
||||
<template v-if="latestHandoffRecord">
|
||||
<strong>{{ formatHandoffRecordType(latestHandoffRecord.type) }}</strong>
|
||||
<p>{{ latestHandoffRecord.content }}</p>
|
||||
<template v-if="latestHandoffParts.systemLines.length">
|
||||
<p v-if="latestHandoffParts.remark" class="handoff-remark">
|
||||
备注(不参与结算金额):{{ latestHandoffParts.remark }}
|
||||
</p>
|
||||
<div class="handoff-system">
|
||||
<span class="handoff-system-tag">系统结算信息(参与结算金额)</span>
|
||||
<CheckoutSystemDetail :lines="latestHandoffParts.systemLines" />
|
||||
</div>
|
||||
</template>
|
||||
<p v-else>{{ latestHandoffRecord.content }}</p>
|
||||
<p>{{ formatDateTime(latestHandoffRecord.created_at) }}</p>
|
||||
</template>
|
||||
<p v-else>暂无交接记录</p>
|
||||
|
||||
Reference in New Issue
Block a user