|
|
|
@@ -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<Props> = ({ 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<Props> = ({ 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<Props> = ({ 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<Props> = ({ po, warehouse, printerCombo }) => { |
|
|
|
poList={poList} |
|
|
|
selectedPoId={selectedPoId} |
|
|
|
onSelect={handlePoSelect} |
|
|
|
|
|
|
|
/> |
|
|
|
</Grid> |
|
|
|
|
|
|
|
|