优化订单管理代管展示

This commit is contained in:
yml2213
2026-07-26 10:15:49 +08:00
parent 3107c54b65
commit 756fa342cb
5 changed files with 44 additions and 1 deletions
@@ -18,6 +18,7 @@ const filters = reactive<AdminOrderQuery>({
keyword: '',
status: '',
handoff_status: '',
handoff_mode: '',
settlement_status: '',
})
const loading = ref(false)
@@ -54,6 +55,11 @@ const handoffStatusOptions = [
{ label: '客服标记异常', value: 'admin_abnormal' },
] as const
const handoffModeOptions = [
{ label: '正常订单', value: 'owner' },
{ label: '平台代管', value: 'platform' },
] as const
const settlementStatusOptions = [
{ label: '未结算', value: 'unsettled' },
{ label: '待结算', value: 'pending' },
@@ -75,6 +81,7 @@ async function loadOrders() {
keyword: filters.keyword?.trim(),
status: filters.status,
handoff_status: filters.handoff_status,
handoff_mode: filters.handoff_mode,
settlement_status: filters.settlement_status,
})
orders.value = result.items
@@ -97,6 +104,7 @@ function resetFilters() {
filters.keyword = ''
filters.status = ''
filters.handoff_status = ''
filters.handoff_mode = ''
filters.settlement_status = ''
void queryOrders()
}
@@ -113,6 +121,10 @@ function money(value: unknown) {
function userText(value: string | number | undefined) {
return value || '-'
}
function isPlatformManaged(row: Order) {
return row.handoff_mode === 'platform' || row.settlement_mode === 'platform_managed'
}
</script>
<template>
@@ -172,6 +184,22 @@ function userText(value: string | number | undefined) {
/>
</el-select>
</el-form-item>
<el-form-item label="订单类型">
<el-select
v-model="filters.handoff_mode"
clearable
placeholder="全部"
style="width: 130px"
@change="queryOrders"
>
<el-option
v-for="item in handoffModeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="结算状态">
<el-select
v-model="filters.settlement_status"
@@ -225,7 +253,8 @@ function userText(value: string | number | undefined) {
<template #default="{ row }">
<div class="stacked-cell compact">
<span>租客 {{ userText(row.renter_phone || row.renter_id) }}</span>
<span>号主 {{ userText(row.owner_phone || row.owner_id) }}</span>
<span v-if="isPlatformManaged(row)" class="platform-managed-owner">号主 平台代管</span>
<span v-else>号主 {{ userText(row.owner_phone || row.owner_id) }}</span>
</div>
</template>
</el-table-column>
@@ -349,6 +378,11 @@ function userText(value: string | number | undefined) {
gap: 2px;
}
.stacked-cell .platform-managed-owner {
color: #d97706;
font-weight: 700;
}
.money-cell {
align-items: flex-end;
}