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() }) - +