From 49b21ff22acc68e0bf4c2fd0128ed391ab2f5145 Mon Sep 17 00:00:00 2001
From: ouyangxq <775153912@qq.com>
Date: Wed, 12 Aug 2026 19:27:55 +0800
Subject: [PATCH] fix(admin): type booking warehouse selection
---
.../ocean-bookings/pages/OceanBookingDetailView.test.ts | 5 ++++-
.../ocean-bookings/pages/OceanBookingDetailView.vue | 7 ++++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/modules/ocean-bookings/pages/OceanBookingDetailView.test.ts b/src/modules/ocean-bookings/pages/OceanBookingDetailView.test.ts
index 0c5e63a2..a633338b 100644
--- a/src/modules/ocean-bookings/pages/OceanBookingDetailView.test.ts
+++ b/src/modules/ocean-bookings/pages/OceanBookingDetailView.test.ts
@@ -44,7 +44,10 @@ describe('OceanBookingDetailView interaction contract', () => {
it('captures channel, warehouse, capacity snapshots and uses the release DTO', () => {
expect(source).toContain('v-model="form.data.channelCode"')
expect(source).toContain('v-model="form.data.channelName"')
- expect(source).toContain('form.data.warehouseName = warehouses.find')
+ expect(source).toContain('function selectWarehouse(value: unknown)')
+ expect(source).toContain('form.data.warehouseName = warehouses.value.find')
+ expect(source).toContain('@update:model-value="selectWarehouse"')
+ expect(source).not.toContain('@update:model-value="(value) =>')
expect(source).toContain('v-model="container.capacityCbm"')
expect(source).toContain('v-model="container.maxWeightKg"')
expect(source).toContain('releaseOceanBooking(id.value, releaseRequest)')
diff --git a/src/modules/ocean-bookings/pages/OceanBookingDetailView.vue b/src/modules/ocean-bookings/pages/OceanBookingDetailView.vue
index e8d21baa..93e04ee9 100644
--- a/src/modules/ocean-bookings/pages/OceanBookingDetailView.vue
+++ b/src/modules/ocean-bookings/pages/OceanBookingDetailView.vue
@@ -128,6 +128,11 @@ function selectCustomer(customerId: string) {
form.data.customerId = customerId
form.data.customerName = customers.value.find((customer) => String(customer.id) === customerId)?.tenantName || ''
}
+function selectWarehouse(value: unknown) {
+ const warehouseId = String(value || '')
+ form.data.warehouseId = warehouseId
+ form.data.warehouseName = warehouses.value.find((warehouse) => String(warehouse.id) === warehouseId)?.warehouseName || ''
+}
function selectPartner(kind: 'shippingCompany' | 'bookingAgent', partnerId: string) {
const partner = partners.value.find((item) => String(item.id) === partnerId)
if (kind === 'shippingCompany') {
@@ -276,7 +281,7 @@ onMounted(() => { void load(); void loadOptions() })
- { form.data.warehouseId = String(value || ''); form.data.warehouseName = warehouses.find((item) => String(item.id) === String(value))?.warehouseName || '' }">
+