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