From a0de05d120a10d53d869691df8cb3a964086842e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E7=8F=91?= Date: Sat, 23 Aug 2025 17:43:01 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=20=E8=8E=B7=E5=8F=96=E8=BF=90=E8=B4=B9?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=AD=A3=E7=A1=AE=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/Order/List/index.tsx | 26 ++++++++++++++++++++++--- src/pages/Stock/PurchaseOrder/index.tsx | 1 + src/servers/api/logistics.ts | 2 +- src/servers/api/typings.d.ts | 26 +++++++++++++++++++++++++ 4 files changed, 51 insertions(+), 4 deletions(-) diff --git a/src/pages/Order/List/index.tsx b/src/pages/Order/List/index.tsx index 688d954..314f857 100644 --- a/src/pages/Order/List/index.tsx +++ b/src/pages/Order/List/index.tsx @@ -1787,11 +1787,30 @@ const Shipping: React.FC<{ const res = await logisticscontrollerGetShipmentFee( { - details, - ...data + stockPointId: data.stockPointId, + + sender: details.origin.contact_name, + startPhone: details.origin.phone_number, + startPostalCode: details.origin.address.postal_code.replace(/\s/g, ''), + pickupAddress: details.origin.address.address_line_1, + shipperCountryCode: details.origin.address.country, + receiver: details.destination.contact_name, + city: details.destination.address.city, + province: details.destination.address.region, + country: details.destination.address.country, + postalCode: details.destination.address.postal_code.replace(/\s/g, ''), + deliveryAddress: details.destination.address.address_line_1, + receiverPhone: details.destination.phone_number.number, + receiverEmail: details.destination.email_addresses, + length: details.packaging_properties.packages[0].measurements.cuboid.l, + width: details.packaging_properties.packages[0].measurements.cuboid.w, + height: details.packaging_properties.packages[0].measurements.cuboid.h, + dimensionUom: details.packaging_properties.packages[0].measurements.cuboid.unit, + weight: details.packaging_properties.packages[0].measurements.weight.value, + weightUom: details.packaging_properties.packages[0].measurements.weight.unit, }, ); - if (!res?.success) throw new Error(res?.errMsg); + if (!res?.success) throw new Error(res?.message); const fee = res.data; setShipmentFee(fee); details.origin.email_addresses = originEmail; @@ -1800,6 +1819,7 @@ const Shipping: React.FC<{ ...details, shipmentFee: fee }); + message.success('获取运费成功'); } catch (error) { message.error(error?.message || '获取运费失败'); } diff --git a/src/pages/Stock/PurchaseOrder/index.tsx b/src/pages/Stock/PurchaseOrder/index.tsx index 08deb46..d1b4569 100644 --- a/src/pages/Stock/PurchaseOrder/index.tsx +++ b/src/pages/Stock/PurchaseOrder/index.tsx @@ -525,6 +525,7 @@ const DetailForm: React.FC<{ id: number; }; }> = ({ tableRef, values }) => { + const detailsActionRef = useRef(); const { message } = App.useApp(); const [form] = Form.useForm(); const initialValues = { diff --git a/src/servers/api/logistics.ts b/src/servers/api/logistics.ts index 6e058e8..3b772f1 100644 --- a/src/servers/api/logistics.ts +++ b/src/servers/api/logistics.ts @@ -23,7 +23,7 @@ export async function logisticscontrollerCreateshipment( /** 此处后端没有提供注释 POST /logistics/getShipmentFee */ export async function logisticscontrollerGetShipmentFee( - body: API.ShipmentBookDTO, + body: API.ShipmentFeeBookDTO, options?: { [key: string]: any }, ) { return request(`/logistics/getShipmentFee`, { diff --git a/src/servers/api/typings.d.ts b/src/servers/api/typings.d.ts index 8881b66..7b79d20 100644 --- a/src/servers/api/typings.d.ts +++ b/src/servers/api/typings.d.ts @@ -993,6 +993,32 @@ declare namespace API { orderIds?: number[]; }; + type ShipmentFeeBookDTO = { + // 发货点,传id到后端解析 + stockPointId: number; + + sender: string; + startPhone: string; + startPostalCode: string; + pickupAddress: string; + // pickupWarehouse: number; // 此处用 stockPointId 到后端解析 + shipperCountryCode: string; + receiver: string; + city: string; + province: string; + country: string; + postalCode: string; + deliveryAddress: string; + receiverPhone: string; + receiverEmail: string; + length: number; + width: number; + height: number; + dimensionUom: string; + weight: number; + weightUom: string; + }; + type ShipmentSkuDTO = { sales?: OrderSale[]; }