This commit is contained in:
2026-09-06 15:53:56 +08:00
parent 098355bb66
commit 6c4af419cf
7 changed files with 121 additions and 18 deletions
+1
View File
@@ -126,6 +126,7 @@ export interface FirstLegOrderSaveRequest {
inboundCode?: string
customerName: string
fulfillmentType?: 'STANDARD' | 'ONE_CLICK_DROPSHIP'
lxCode?: string
transportMode: ApiTransportMode
tradeTerm?: string
destinationCountryCode: string
@@ -73,6 +73,7 @@ function savePayload(draft: FirstLegOrderDraft, warehouse: ClientWarehouse, cust
inboundCode: draft.inboundCode?.trim() || undefined,
customerName: customerName.trim(),
fulfillmentType: draft.fulfillmentType ?? 'STANDARD',
lxCode: draft.fulfillmentType === 'ONE_CLICK_DROPSHIP' ? draft.lxCode?.trim() || undefined : undefined,
transportMode: apiTransport(draft),
tradeTerm: draft.tradeTerm || undefined,
destinationCountryCode: draft.destinationCountryCode.trim().toUpperCase(),
@@ -100,6 +100,7 @@ export interface FirstLegOrder {
transportMode: FirstLegTransportMode | null
businessType: FirstLegBusinessType
fulfillmentType?: 'STANDARD' | 'ONE_CLICK_DROPSHIP'
lxCode?: string
origin: string
destination: string
receivingWarehouseId: string
@@ -159,6 +160,7 @@ export type FirstLegOrderDraft = Omit<Pick<
| 'transportMode'
| 'businessType'
| 'fulfillmentType'
| 'lxCode'
| 'origin'
| 'destination'
| 'receivingWarehouseId'
@@ -336,6 +336,7 @@ function emptyDraft(): FirstLegOrderDraft {
transportMode: 'FCL',
businessType: 'EXPORT',
fulfillmentType: 'STANDARD',
lxCode: '',
origin: '',
destination: '',
receivingWarehouseId: '',
@@ -746,6 +747,8 @@ function draftFromOrder(order: FirstLegOrder): FirstLegOrderDraft {
referenceNo: order.referenceNo,
transportMode: order.transportMode ?? 'FCL',
businessType: order.businessType,
fulfillmentType: order.fulfillmentType ?? 'STANDARD',
lxCode: order.lxCode ?? '',
origin: order.origin,
destination: order.destination,
receivingWarehouseId: order.receivingWarehouseId,
@@ -1862,6 +1865,7 @@ async function searchOrders(model: QueryModel) {
<div class="order-section-heading"><div><h3>客户下单</h3><p>先选择货物如何送到国内收货仓,并填写本次运输安排。</p></div></div>
<div class="prototype-form-flow shipping-form-flow">
<el-form-item label="履约类型" prop="fulfillmentType" required class="prototype-form-row prototype-form-row--tabs"><el-radio-group v-model="form.fulfillmentType" class="segmented-options"><el-radio-button value="STANDARD">普通头程</el-radio-button><el-radio-button value="ONE_CLICK_DROPSHIP">一件代发</el-radio-button></el-radio-group><small v-if="form.fulfillmentType === 'ONE_CLICK_DROPSHIP'" class="field-guidance">测量完成后不办理国内库存入库,将直接推送 PDA 合托。</small></el-form-item>
<el-form-item v-if="form.fulfillmentType === 'ONE_CLICK_DROPSHIP'" label="LX 代码" prop="lxCode" class="prototype-form-row prototype-form-row--wide"><el-input v-model="form.lxCode" maxlength="128" placeholder="请输入领星入库单 LX 代码" /><small class="field-guidance">用于绑定领星入库单,提交后可在尾程订单、入库单和出库单中查询。</small></el-form-item>
<el-form-item label="取货方式" prop="pickupMethod" required class="prototype-form-row prototype-form-row--tabs"><el-radio-group v-model="form.pickupMethod" class="segmented-options" @change="changePickupMethod"><el-radio-button value="SELF_EXPRESS">快递自送</el-radio-button><el-radio-button value="PICKUP">我司提货</el-radio-button><el-radio-button value="SELF_TRUCK">卡车自送</el-radio-button></el-radio-group></el-form-item>
<template v-if="form.pickupMethod === 'PICKUP' && form.shipperPartySnapshot">
<el-form-item label="企业提货地址簿" prop="senderAddressId" required :rules="requiredSelectRules('请选择企业提货地址')" class="prototype-form-row prototype-form-row--wide address-book-row">