From 94a5dfedf62f08c17bc4931a72d0a4b220031597 Mon Sep 17 00:00:00 2001 From: liuyihe <2513762445@qq.com> Date: Fri, 28 Aug 2026 14:52:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=B0=BE=E7=A8=8B=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=90=88=E6=89=98=E6=89=B9=E9=87=8F=E6=A0=87=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/LastMileOrdersView.vue | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/modules/overseas-warehouse/pages/LastMileOrdersView.vue b/src/modules/overseas-warehouse/pages/LastMileOrdersView.vue index 110d4a16..1091fb5f 100644 --- a/src/modules/overseas-warehouse/pages/LastMileOrdersView.vue +++ b/src/modules/overseas-warehouse/pages/LastMileOrdersView.vue @@ -178,6 +178,25 @@ async function togglePalletMerge(row: LastMileOrderListItem) { } catch (error) { actionError.value = getApiErrorDetails(error, required ? '合托标记失败,请重试' : '取消合托标记失败,请重试') } finally { actionLoading.value = false } } +async function batchPalletMerge() { + const targets = selectedRows.value.filter((row) => row.palletMergeFlag !== 'MERGED') + if (!targets.length) { ElMessage.warning('请选择至少 1 条未完成合托的尾程订单'); return } + try { + await ElMessageBox.confirm( + `确定为选中的 ${targets.length} 条尾程订单标记合托吗?PDA扫描对应箱唛时将显示合托提示。`, + '批量合托标记', + { type: 'warning', confirmButtonText: '确认标记', cancelButtonText: '返回' }, + ) + } catch { return } + actionLoading.value = true; actionError.value = null + try { + await Promise.all(targets.map((row) => setLastMileOrderPalletMergeRequired(row.id, { palletMergeRequired: true }))) + selectedRows.value = [] + ElMessage.success(`已标记 ${targets.length} 条订单合托`) + await load() + } catch (error) { actionError.value = getApiErrorDetails(error, '批量合托标记失败,请重试') } + finally { actionLoading.value = false } +} async function submitTransfer() { if (!transferForm.warehouseId.trim() || !transferForm.warehouseCode.trim() || !transferForm.warehouseName.trim()) { ElMessage.warning('请填写目的仓 ID、代码和名称') @@ -225,8 +244,8 @@ onMounted(() => { void load() })
- - + +