| @@ -111,9 +111,9 @@ const PickExecutionForm: React.FC<PickExecutionFormProps> = ({ | |||
| 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<PickExecutionFormProps> = ({ | |||
| } | |||
| }; | |||
| // ✅ 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 })); | |||