From 06be3d3549512402922b94c6b34922ff4a567bc8 Mon Sep 17 00:00:00 2001 From: "CANCERYS\\kw093" Date: Sat, 8 Nov 2025 17:23:08 +0800 Subject: [PATCH] update --- .../GoodPickExecutiondetail.tsx | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/src/components/FinishedGoodSearch/GoodPickExecutiondetail.tsx b/src/components/FinishedGoodSearch/GoodPickExecutiondetail.tsx index e610e52..66d82ca 100644 --- a/src/components/FinishedGoodSearch/GoodPickExecutiondetail.tsx +++ b/src/components/FinishedGoodSearch/GoodPickExecutiondetail.tsx @@ -530,7 +530,7 @@ console.log("🔍 DEBUG fgOrder.deliveryNos:", fgOrder.deliveryNos); pickOrderConsoCode: mergedPickOrder.consoCode, pickOrderTargetDate: mergedPickOrder.targetDate, pickOrderStatus: mergedPickOrder.status, - pickOrderId: mergedPickOrder.pickOrderIds?.[0] || 0, // 使用第一个 pickOrderId + pickOrderId: line.pickOrderId || mergedPickOrder.pickOrderIds?.[0] || 0, // 使用第一个 pickOrderId pickOrderCode: mergedPickOrder.pickOrderCodes?.[0] || "", pickOrderLineId: line.id, pickOrderLineRequiredQty: line.requiredQty, @@ -578,7 +578,7 @@ console.log("🔍 DEBUG fgOrder.deliveryNos:", fgOrder.deliveryNos); pickOrderConsoCode: mergedPickOrder.consoCodes?.[0] || "", // 修复:consoCodes 是数组 pickOrderTargetDate: mergedPickOrder.targetDate, pickOrderStatus: mergedPickOrder.status, - pickOrderId: mergedPickOrder.pickOrderIds?.[0] || 0, // 使用第一个 pickOrderId + pickOrderId: line.pickOrderId || mergedPickOrder.pickOrderIds?.[0] || 0, // 使用第一个 pickOrderId pickOrderCode: mergedPickOrder.pickOrderCodes?.[0] || "", pickOrderLineId: line.id, pickOrderLineRequiredQty: line.requiredQty, @@ -1371,6 +1371,26 @@ const paginatedData = useMemo(() => { const endIndex = startIndex + paginationController.pageSize; return combinedLotData.slice(startIndex, endIndex); // No sorting needed }, [combinedLotData, paginationController]); +const allItemsReady = useMemo(() => { + if (combinedLotData.length === 0) return false; + + return combinedLotData.every((lot: any) => { + const status = lot.stockOutLineStatus?.toLowerCase(); + const isRejected = + status === 'rejected' || lot.lotAvailability === 'rejected'; + const isCompleted = + status === 'completed' || status === 'partially_completed' || status === 'partially_complete'; + const isChecked = status === 'checked'; + + // 无库存(noLot)行:只要状态不是 pending/rejected 即视为已处理 + if (lot.noLot === true) { + return isChecked || isCompleted || isRejected; + } + + // 正常 lot:必须已扫描/提交或者被拒收 + return isChecked || isCompleted || isRejected; + }); +}, [combinedLotData]); const handleSubmitPickQtyWithQty = useCallback(async (lot: any, submitQty: number) => { if (!lot.stockOutLineId) { console.error("No stock out line found for this lot"); @@ -1789,7 +1809,10 @@ const handleSubmitPickQtyWithQty = useCallback(async (lot: any, submitQty: numbe variant="contained" color="success" onClick={handleSubmitAllScanned} - disabled={scannedItemsCount === 0 || isSubmittingAll} + disabled={ + // scannedItemsCount === 0 + !allItemsReady + || isSubmittingAll} sx={{ minWidth: '160px' }} > {isSubmittingAll ? (