From c51e1d88e205ebddba8ee21f7b982e0780b2d3a8 Mon Sep 17 00:00:00 2001 From: "CANCERYS\\kw093" Date: Sat, 11 Oct 2025 20:40:37 +0800 Subject: [PATCH] update --- .../Jodetail/JobPickExecutionForm.tsx | 69 ++++++++++--------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/src/components/Jodetail/JobPickExecutionForm.tsx b/src/components/Jodetail/JobPickExecutionForm.tsx index 7241bdd..7f408bf 100644 --- a/src/components/Jodetail/JobPickExecutionForm.tsx +++ b/src/components/Jodetail/JobPickExecutionForm.tsx @@ -111,9 +111,9 @@ const PickExecutionForm: React.FC = ({ fetchHandlers(); }, []); - // 初始化表单数据 - 每次打开时都重新初始化 - useEffect(() => { - if (open && selectedLot && selectedPickOrderLine && pickOrderId) { +// 初始化表单数据 - 每次打开时都重新初始化 +useEffect(() => { + if (open && selectedLot && selectedPickOrderLine && pickOrderId) { const getSafeDate = (dateValue: any): string => { if (!dateValue) return dayjs().format(INPUT_DATE_FORMAT); try { @@ -127,37 +127,38 @@ const PickExecutionForm: React.FC = ({ } }; - // ✅ Initialize verified quantity to the received quantity (actualPickQty) - const initialVerifiedQty = selectedLot.actualPickQty || 0; - setVerifiedQty(initialVerifiedQty); - - console.log("=== PickExecutionForm Debug ==="); - console.log("selectedLot:", selectedLot); - console.log("initialVerifiedQty:", initialVerifiedQty); - console.log("=== End Debug ==="); - - setFormData({ - pickOrderId: pickOrderId, - pickOrderCode: selectedPickOrderLine.pickOrderCode, - pickOrderCreateDate: getSafeDate(pickOrderCreateDate), - pickExecutionDate: dayjs().format(INPUT_DATE_FORMAT), - pickOrderLineId: selectedPickOrderLine.id, - itemId: selectedPickOrderLine.itemId, - itemCode: selectedPickOrderLine.itemCode, - itemDescription: selectedPickOrderLine.itemName, - lotId: selectedLot.lotId, - lotNo: selectedLot.lotNo, - storeLocation: selectedLot.location, - requiredQty: selectedLot.requiredQty, - actualPickQty: initialVerifiedQty, // ✅ Use the initial value - missQty: 0, - badItemQty: 0, - issueRemark: '', - // pickerName: '', - handledBy: undefined, - }); - } - }, [open, selectedLot, selectedPickOrderLine, pickOrderId, pickOrderCreateDate]); + // ✅ Initialize verified quantity to the received quantity (actualPickQty) + const initialVerifiedQty = selectedLot.actualPickQty || 0; + setVerifiedQty(initialVerifiedQty); + + console.log("=== PickExecutionForm Debug ==="); + console.log("selectedLot:", selectedLot); + console.log("initialVerifiedQty:", initialVerifiedQty); + console.log("=== End Debug ==="); + + setFormData({ + pickOrderId: pickOrderId, + pickOrderCode: selectedPickOrderLine.pickOrderCode, + pickOrderCreateDate: getSafeDate(pickOrderCreateDate), + pickExecutionDate: dayjs().format(INPUT_DATE_FORMAT), + pickOrderLineId: selectedPickOrderLine.id, + itemId: selectedPickOrderLine.itemId, + itemCode: selectedPickOrderLine.itemCode, + itemDescription: selectedPickOrderLine.itemName, + lotId: selectedLot.lotId, + lotNo: selectedLot.lotNo, + storeLocation: selectedLot.location, + requiredQty: selectedLot.requiredQty, + actualPickQty: initialVerifiedQty, + missQty: 0, + badItemQty: 0, + issueRemark: '', + handledBy: undefined, + }); + } + // ✅ 只在 open 状态改变时重新初始化,移除其他依赖 + // eslint-disable-next-line react-hooks/exhaustive-deps +}, [open]); const handleInputChange = useCallback((field: keyof PickExecutionIssueData, value: any) => { setFormData(prev => ({ ...prev, [field]: value }));