diff --git a/src/modules/first-leg/api/unifiedOrders.ts b/src/modules/first-leg/api/unifiedOrders.ts index cf09932..48b5ff0 100644 --- a/src/modules/first-leg/api/unifiedOrders.ts +++ b/src/modules/first-leg/api/unifiedOrders.ts @@ -129,6 +129,7 @@ export interface MerchantUnifiedOrderDetail { export interface MerchantUnifiedOrderQuery { keyword?: string + fbaCode?: string orderNo?: string mainStatus?: ApiUnifiedOrderMainStatus receivingWarehouseId?: number | string diff --git a/src/modules/first-leg/store/firstLegOrders.ts b/src/modules/first-leg/store/firstLegOrders.ts index 33ffd63..316dc42 100644 --- a/src/modules/first-leg/store/firstLegOrders.ts +++ b/src/modules/first-leg/store/firstLegOrders.ts @@ -435,6 +435,7 @@ type OrderListReadResult = | { source: 'unified'; records: MerchantUnifiedOrderRow[]; drafts: MerchantFirstLegOrderRow[] } interface ClientOrderReadQuery extends MerchantUnifiedOrderQuery { + fbaCode?: string draftOnly?: boolean includeDrafts?: boolean } @@ -462,6 +463,7 @@ async function getOrdersForClient(query: ClientOrderReadQuery = {}): Promise item.sku), + ].some((value) => String(value ?? '').toLowerCase().includes(normalized)) +} + function uniqueItemValues(order: FirstLegOrder, key: 'sku' | 'shipmentId' | 'referenceId') { if (key === 'sku' && order.skuNos.length) return [...new Set(order.skuNos)].join('、') const values = order.items.map((item) => item[key]?.trim()).filter((value): value is string => Boolean(value)) @@ -1534,7 +1543,7 @@ async function searchOrders(model: QueryModel) { const orderNo = typeof model.orderNo === 'string' ? model.orderNo.trim() : '' const cargoKeyword = typeof model.cargoKeyword === 'string' ? model.cargoKeyword.trim() : '' const range = Array.isArray(createdRange) ? createdRange.filter((value): value is string => typeof value === 'string') : [] - await store.load({ + const query = { keyword: cargoKeyword || undefined, orderNo: orderNo || undefined, receivingWarehouseId: typeof model.receivingWarehouseId === 'string' && model.receivingWarehouseId ? model.receivingWarehouseId : undefined, @@ -1543,7 +1552,12 @@ async function searchOrders(model: QueryModel) { includeDrafts: !statusValue, createdFrom: range[0] ? `${range[0]}T00:00:00` : undefined, createdTo: range[1] ? `${range[1]}T23:59:59` : undefined, - }) + } + await store.load(query) + const cargoMatched = cargoKeyword && store.orders.some((order) => orderMatchesCargoKeyword(order, cargoKeyword)) + if (cargoKeyword && !cargoMatched && statusValue !== 'DRAFT') { + await store.load({ ...query, keyword: undefined, fbaCode: cargoKeyword }) + } selectedOrders.value = [] orderTableVersion.value += 1 } catch { @@ -1755,9 +1769,9 @@ async function searchOrders(model: QueryModel) { - + - + @@ -1770,11 +1784,11 @@ async function searchOrders(model: QueryModel) { - +
#SKU NO.FBA必填中文品名图片英文品名报关 HS CODE清关 HS CODE包装类型SKU NO.SKU必填中文品名图片英文品名报关 HS CODE清关 HS CODE包装类型 箱规长 cm箱规宽 cm箱规高 cm每箱数量箱数总毛重总体积总数量总净重清关申报单价 USD清关申报金额 USD材质用途型号品牌产品规格 长×宽×高危险品货件编号FBA必填跟踪编号FBA必填UPC NO.FBA必填备注操作清关申报单价 USD清关申报金额 USD材质用途型号品牌产品规格 长×宽×高危险品货件编号货件编号必填跟踪编号跟踪编号必填UPC NO.UPC必填备注操作
{{ index + 1 }}
××
删除删除
-
FBA 货物的 SKU NO.、UPC NO. 为必填项亚马逊货物的货件编号和跟踪编号为必填项
+
SKU NO.、货件编号、跟踪编号、UPC NO. 均为必填项