| @@ -51,16 +51,16 @@ console.log("🔍 DoSearch - currentUserId:", currentUserId); | |||||
| if (id) { | if (id) { | ||||
| // Get current user ID from session | // Get current user ID from session | ||||
| const currentUserId = session?.id ? parseInt(session.id) : undefined; | |||||
| //const currentUserId = session?.id ? parseInt(session.id) : undefined; | |||||
| if (!currentUserId) { | |||||
| setServerError("User session not found. Please login again."); | |||||
| return; | |||||
| } | |||||
| //if (!currentUserId) { | |||||
| // setServerError("User session not found. Please login again."); | |||||
| // return; | |||||
| //} | |||||
| const response = await releaseDo({ | const response = await releaseDo({ | ||||
| id: id, | id: id, | ||||
| userId: currentUserId // Pass user ID from session | |||||
| //userId: currentUserId // Pass user ID from session | |||||
| }) | }) | ||||
| if (response) { | if (response) { | ||||
| @@ -168,7 +168,7 @@ console.log("🔍 DoSearch - currentUserId:", currentUserId); | |||||
| </Alert> | </Alert> | ||||
| )} | )} | ||||
| { | |||||
| {/*{ | |||||
| formProps.watch("status")?.toLowerCase() === "pending" && ( | formProps.watch("status")?.toLowerCase() === "pending" && ( | ||||
| <Stack direction="row" justifyContent="flex-start" gap={1}> | <Stack direction="row" justifyContent="flex-start" gap={1}> | ||||
| <Button | <Button | ||||
| @@ -181,7 +181,7 @@ console.log("🔍 DoSearch - currentUserId:", currentUserId); | |||||
| </Button> | </Button> | ||||
| </Stack> | </Stack> | ||||
| )} | )} | ||||
| */} | |||||
| {/* ADD STORE-BASED ASSIGNMENT BUTTONS */} | {/* ADD STORE-BASED ASSIGNMENT BUTTONS */} | ||||
| { | { | ||||
| formProps.watch("status")?.toLowerCase() === "released" && ( | formProps.watch("status")?.toLowerCase() === "released" && ( | ||||
| @@ -8,8 +8,8 @@ interface SubComponents { | |||||
| } | } | ||||
| const DoSearchWrapper: React.FC & SubComponents = async () => { | const DoSearchWrapper: React.FC & SubComponents = async () => { | ||||
| const [dos] = await Promise.all([fetchDoList()]); | |||||
| return <DoSearch dos={dos} />; | |||||
| // const [dos] = await Promise.all([fetchDoList()]); | |||||
| return <DoSearch />; | |||||
| }; | }; | ||||
| DoSearchWrapper.Loading = GeneralLoading; | DoSearchWrapper.Loading = GeneralLoading; | ||||
| @@ -71,12 +71,8 @@ const PickOrderSearch: React.FC<Props> = ({ pickOrders, printerCombo }) => { | |||||
| // const [summary4F, setSummary4F] = useState<StoreLaneSummary | null>(null); | // const [summary4F, setSummary4F] = useState<StoreLaneSummary | null>(null); | ||||
| const [isLoadingSummary, setIsLoadingSummary] = useState(false); | const [isLoadingSummary, setIsLoadingSummary] = useState(false); | ||||
| const [selectedPrinterForAllDraft, setSelectedPrinterForAllDraft] = useState<PrinterCombo | null>( | |||||
| printerCombo.find(p => p.id === 13) ?? null // 默认 A4 打印机 id = 13 | |||||
| ); | |||||
| const [selectedPrinterForDraft, setSelectedPrinterForDraft] = useState<PrinterCombo | null>( | |||||
| printerCombo.find(p => p.id === 9) ?? null // 默认 Label 打印机 id = 9 | |||||
| ); | |||||
| const [selectedPrinterForAllDraft, setSelectedPrinterForAllDraft] = useState<PrinterCombo | null>(null); | |||||
| const [selectedPrinterForDraft, setSelectedPrinterForDraft] = useState<PrinterCombo | null>(null); | |||||
| const [selectedPrinterForRecord, setSelectedPrinterForRecord] = useState<PrinterCombo | null>(null); | const [selectedPrinterForRecord, setSelectedPrinterForRecord] = useState<PrinterCombo | null>(null); | ||||
| @@ -184,7 +184,7 @@ const GoodPickExecutionRecord: React.FC<Props> = ({ filterArgs, printerCombo, a4 | |||||
| console.error("error: ", error) | console.error("error: ", error) | ||||
| } | } | ||||
| } | } | ||||
| }, [t]); | |||||
| }, [t, a4Printer]); | |||||
| const handleDNandLabel = useCallback(async (recordId: number) => { | const handleDNandLabel = useCallback(async (recordId: number) => { | ||||
| if (!a4Printer || !labelPrinter) { | if (!a4Printer || !labelPrinter) { | ||||
| @@ -281,7 +281,7 @@ const GoodPickExecutionRecord: React.FC<Props> = ({ filterArgs, printerCombo, a4 | |||||
| console.error("error: ", error) | console.error("error: ", error) | ||||
| } | } | ||||
| } | } | ||||
| }, [t]); | |||||
| }, [t, a4Printer, labelPrinter]); | |||||
| const handleLabel = useCallback(async (recordId: number) => { | const handleLabel = useCallback(async (recordId: number) => { | ||||
| const askNumofCarton = await Swal.fire({ | const askNumofCarton = await Swal.fire({ | ||||
| @@ -340,7 +340,7 @@ const GoodPickExecutionRecord: React.FC<Props> = ({ filterArgs, printerCombo, a4 | |||||
| console.error("error: ", error) | console.error("error: ", error) | ||||
| } | } | ||||
| } | } | ||||
| }, [t]); | |||||
| }, [t, labelPrinter]); | |||||
| // 修改:使用新的 API 获取已完成的 DO Pick Orders | // 修改:使用新的 API 获取已完成的 DO Pick Orders | ||||
| const fetchCompletedDoPickOrdersData = useCallback(async (searchParams?: CompletedDoPickOrderSearchParams) => { | const fetchCompletedDoPickOrdersData = useCallback(async (searchParams?: CompletedDoPickOrderSearchParams) => { | ||||
| @@ -207,6 +207,8 @@ | |||||
| "Delivery Note Code": "送貨單編號", | "Delivery Note Code": "送貨單編號", | ||||
| "A4 Printer": "A4 打印機", | "A4 Printer": "A4 打印機", | ||||
| "Label Printer": "標籤打印機", | "Label Printer": "標籤打印機", | ||||
| "Please select a printer first": "請先選擇打印機", | |||||
| "Lot No": "批號", | "Lot No": "批號", | ||||
| "Expiry Date": "到期日", | "Expiry Date": "到期日", | ||||
| "Location": "位置", | "Location": "位置", | ||||