diff --git a/src/components/FinishedGoodSearch/FGPickOrderCard.tsx b/src/components/FinishedGoodSearch/FGPickOrderCard.tsx index 885942a..2a97786 100644 --- a/src/components/FinishedGoodSearch/FGPickOrderCard.tsx +++ b/src/components/FinishedGoodSearch/FGPickOrderCard.tsx @@ -35,14 +35,7 @@ const FGPickOrderCard: React.FC = ({ fgOrder, onQrCodeClick }) => { //helperText={fgOrder.pickOrderConsoCode} /> - - - + = ({ fgOrder, onQrCodeClick }) => { value={fgOrder.storeId} /> - - - + = ({ const [loading, setLoading] = useState(false); const [handlers, setHandlers] = useState>([]); const [verifiedQty, setVerifiedQty] = useState(0); - // 计算剩余可用数量 + const { data: session } = useSession() as { data: SessionWithTokens | null }; const calculateRemainingAvailableQty = useCallback((lot: LotPickData) => { const remainingQty = lot.inQty - lot.outQty; return Math.max(0, remainingQty); @@ -149,7 +150,7 @@ const PickExecutionForm: React.FC = ({ missQty: 0, badItemQty: 0, issueRemark: '', - pickerName: '', + // pickerName: '', handledBy: undefined, }); } @@ -212,7 +213,11 @@ const PickExecutionForm: React.FC = ({ // ✅ Use the verified quantity in the submission const submissionData = { ...formData, - actualPickQty: verifiedQty + actualPickQty: verifiedQty, + lotId: formData.lotId || selectedLot?.lotId || 0, + lotNo: formData.lotNo || selectedLot?.lotNo || '', + pickOrderCode: formData.pickOrderCode || selectedPickOrderLine?.pickOrderCode || '', + pickerName: session?.user?.name || '' } as PickExecutionIssueData; await onSubmit(submissionData); @@ -278,7 +283,7 @@ const PickExecutionForm: React.FC = ({ onChange={(e) => { const newValue = parseFloat(e.target.value) || 0; setVerifiedQty(newValue); - handleInputChange('actualPickQty', newValue); + // handleInputChange('actualPickQty', newValue); }} error={!!errors.actualPickQty} helperText={errors.actualPickQty || `${t('Max')}: ${selectedLot?.actualPickQty || 0}`} // ✅ 使用原始接收数量 diff --git a/src/components/Jodetail/JobPickExecutionsecondscan.tsx b/src/components/Jodetail/JobPickExecutionsecondscan.tsx index b446bcd..cc4ffe6 100644 --- a/src/components/Jodetail/JobPickExecutionsecondscan.tsx +++ b/src/components/Jodetail/JobPickExecutionsecondscan.tsx @@ -428,6 +428,8 @@ const JobPickExecution: React.FC = ({ filterArgs }) => { // ✅ 使用 Job Order API const jobOrderData = await fetchCompletedJobOrderPickOrders(userIdToUse); console.log("✅ Job Order data:", jobOrderData); + console.log("✅ Pick Order Code from API:", jobOrderData.pickOrder?.code); + console.log("✅ Expected Pick Order Code: P-20251003-001"); setJobOrderData(jobOrderData); @@ -870,6 +872,8 @@ const JobPickExecution: React.FC = ({ filterArgs }) => { const handlePickExecutionForm = useCallback((lot: any) => { console.log("=== Pick Execution Form ==="); console.log("Lot data:", lot); + console.log("lot.pickOrderCode:", lot.pickOrderCode); // ✅ 添加 + console.log("lot.pickOrderId:", lot.pickOrderId); if (!lot) { console.warn("No lot data provided for pick execution form"); diff --git a/src/components/Jodetail/JobmatchForm.tsx b/src/components/Jodetail/JobmatchForm.tsx index 622c22a..b737bb4 100644 --- a/src/components/Jodetail/JobmatchForm.tsx +++ b/src/components/Jodetail/JobmatchForm.tsx @@ -20,6 +20,8 @@ import { useCallback, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { GetPickOrderLineInfo, PickExecutionIssueData } from "@/app/api/pickOrder/actions"; import { fetchEscalationCombo } from "@/app/api/user/actions"; +import { useSession } from "next-auth/react"; +import { SessionWithTokens } from "@/config/authConfig"; interface LotPickData { id: number; @@ -82,6 +84,7 @@ const PickExecutionForm: React.FC = ({ const [loading, setLoading] = useState(false); const [handlers, setHandlers] = useState>([]); const [verifiedQty, setVerifiedQty] = useState(0); + const { data: session } = useSession() as { data: SessionWithTokens | null }; // 计算剩余可用数量 const calculateRemainingAvailableQty = useCallback((lot: LotPickData) => { const remainingQty = lot.inQty - lot.outQty; @@ -149,7 +152,7 @@ const PickExecutionForm: React.FC = ({ missQty: 0, badItemQty: 0, issueRemark: '', - pickerName: '', + // pickerName: '', handledBy: undefined, }); } @@ -216,7 +219,11 @@ const PickExecutionForm: React.FC = ({ // ✅ Use the verified quantity in the submission const submissionData = { ...formData, - actualPickQty: verifiedQty + actualPickQty: verifiedQty, + lotId: formData.lotId || selectedLot?.lotId || 0, + lotNo: formData.lotNo || selectedLot?.lotNo || '', + pickOrderCode: formData.pickOrderCode || selectedPickOrderLine?.pickOrderCode || '', + pickerName: session?.user?.name || '' } as PickExecutionIssueData; await onSubmit(submissionData); @@ -291,7 +298,7 @@ const PickExecutionForm: React.FC = ({ onChange={(e) => { const newValue = parseFloat(e.target.value) || 0; setVerifiedQty(newValue); - handleInputChange('actualPickQty', newValue); + //handleInputChange('actualPickQty', newValue); }} error={!!errors.actualPickQty} helperText={errors.actualPickQty || `${t('Max')}: ${selectedLot?.actualPickQty || 0}`} // ✅ 使用原始接收数量