From 4560b5ade257a43ce3ba5de6a93da66cd4702d28 Mon Sep 17 00:00:00 2001 From: "CANCERYS\\kw093" Date: Tue, 25 Nov 2025 15:48:25 +0800 Subject: [PATCH] update --- src/components/PoDetail/PoDetail.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/components/PoDetail/PoDetail.tsx b/src/components/PoDetail/PoDetail.tsx index 0cdff76..2af7c10 100644 --- a/src/components/PoDetail/PoDetail.tsx +++ b/src/components/PoDetail/PoDetail.tsx @@ -100,6 +100,7 @@ const PoSearchList: React.FC<{ poList: PoResult[]; selectedPoId: number; onSelect: (po: PoResult) => void; + }> = ({ poList, selectedPoId, onSelect }) => { const { t } = useTranslation(["purchaseOrder", "dashboard"]); const [searchTerm, setSearchTerm] = useState(''); @@ -267,7 +268,7 @@ const PoDetail: React.FC = ({ po, warehouse, printerCombo }) => { setPurchaseOrder(result); setRows(result.pol || []); if (result.pol && result.pol.length > 0) { - if (result.id === selectedPoId) { + if (result.id === selectedPoId && selectedRow?.id) { const polIndex = result.pol.findIndex((p) => p.id === selectedRow?.id) // setSelectedRow(result.pol[polIndex]); setStockInLine(result.pol[polIndex].stockInLine); @@ -283,7 +284,7 @@ const PoDetail: React.FC = ({ po, warehouse, printerCombo }) => { } catch (error) { console.error("Failed to fetch PO detail:", error); } - }, [selectedRow]); + }, [selectedRow, selectedPoId]); const handlePoSelect = useCallback( async (selectedPo: PoResult) => { @@ -291,13 +292,12 @@ const PoDetail: React.FC = ({ po, warehouse, printerCombo }) => { setSelectedPoId(selectedPo.id); await fetchPoDetail(selectedPo.id.toString()); const newSelectedIds = selectedIdsParam || selectedPo.id.toString(); - // router.push(`/po/edit?id=${selectedPo.id}&start=true&selectedIds=${newSelectedIds}`, { scroll: false }); const newUrl = `/po/edit?id=${selectedPo.id}&start=true&selectedIds=${newSelectedIds}`; if (pathname + searchParams.toString() !== newUrl) { router.replace(newUrl, { scroll: false }); } }, - [router, selectedIdsParam, fetchPoDetail] + [selectedPoId, fetchPoDetail, selectedIdsParam, pathname, searchParams, router] ); useEffect(() => { @@ -726,6 +726,7 @@ const PoDetail: React.FC = ({ po, warehouse, printerCombo }) => { poList={poList} selectedPoId={selectedPoId} onSelect={handlePoSelect} + />