| | |
| | | const translate = useTranslate(); |
| | | const notify = useNotify(); |
| | | const refresh = useRefresh(); |
| | | const [page, setPage] = useState(0); |
| | | const [pageSize, setPageSize] = useState(100); |
| | | const [totalRowCount, setTotalRowCount] = useState(0); |
| | | const [disabled, setDisabled] = useState(false) |
| | | const [loading, setLoading] = useState(false); |
| | | const [createDialog, setCreateDialog] = useState(false); |
| | | const tableRef = useRef(); |
| | | |
| | | useEffect(() => { |
| | | if (open && record !== 0) { |
| | | requestGetBody() |
| | | } |
| | | setDisabled(false) |
| | | }, [open]) |
| | | requestGetBody() |
| | | // setDisabled(false) |
| | | }, [open, page, pageSize]) |
| | | |
| | | const handleClose = (event, reason) => { |
| | | if (reason !== "backdropClick") { |
| | |
| | | }; |
| | | |
| | | const requestGetBody = async () => { |
| | | const res = await request.post(`warehouse/stock/info`, { stock: record, aggType: record?.aggType }); |
| | | if (res?.data?.code === 200) { |
| | | setTableData(res.data.data.records) |
| | | } else { |
| | | notify(res.data.msg); |
| | | setLoading(true); |
| | | try { |
| | | const res = await request.post(`warehouse/stock/info`, { page: page + 1, pageSize: pageSize, stock: record, aggType: record?.aggType }); |
| | | if (res?.data?.code === 200) { |
| | | setTableData(res.data.data.records) |
| | | setTotalRowCount(res.data.data.total) |
| | | } else { |
| | | notify(res.data.msg); |
| | | } |
| | | } catch (error) { |
| | | |
| | | } finally { |
| | | setLoading(false); |
| | | } |
| | | |
| | | } |
| | | |
| | | const [selectedRows, setSelectedRows] = useState([]); |
| | |
| | | <DialogContent sx={{ mt: 2 }}> |
| | | <Box></Box> |
| | | <Box sx={{ mt: 2 }}> |
| | | <AsnOrderModalTable tabelData={tabelData} |
| | | <AsnOrderModalTable |
| | | tabelData={tabelData} |
| | | setTableData={setTableData} |
| | | record={record} |
| | | page={page} |
| | | pageSize={pageSize} |
| | | loading={loading} |
| | | setPage={setPage} |
| | | setPageSize={setPageSize} |
| | | totalRowCount={totalRowCount} |
| | | selectedRows={selectedRows} |
| | | setSelectedRows={setSelectedRows} |
| | | tableRef={tableRef} /> |
| | |
| | | ); |
| | | }; |
| | | |
| | | const AsnOrderModalTable = ({ tabelData, setTableData, record, selectedRows, setSelectedRows, tableRef }) => { |
| | | const AsnOrderModalTable = ({ tabelData, setTableData, record, selectedRows, setSelectedRows, tableRef, page, pageSize, totalRowCount, setPageSize, setPage, loading }) => { |
| | | const translate = useTranslate(); |
| | | const notify = useNotify(); |
| | | |
| | |
| | | }, |
| | | { |
| | | field: 'matnrCode', |
| | | headerName: translate('table.field.asnOrderItem.matnrCode'), |
| | | headerName: translate('table.field.warehouseStock.matnrCode'), |
| | | width: 130, |
| | | editable: false, |
| | | }, |
| | |
| | | }, |
| | | { |
| | | field: 'batch', |
| | | headerName: translate('table.field.warehouseStock.splrBatch'), |
| | | headerName: translate('table.field.warehouseStock.batch'), |
| | | minWidth: 100, |
| | | flex: 1, |
| | | editable: false, |
| | |
| | | |
| | | |
| | | return ( |
| | | <div style={{ height: 400, width: '100%' }}> |
| | | <div style={{ height: 500, width: '100%' }}> |
| | | <DataGrid |
| | | apiRef={tableRef} |
| | | rows={tabelData} |
| | | columns={columns} |
| | | disableRowSelectionOnClick |
| | | getRowId={(row) => row.id} |
| | | disableColumnFilter |
| | | disableColumnSelector |
| | | disableColumnSorting |
| | | rowCount={totalRowCount} |
| | | paginationMode="server" |
| | | page={page} |
| | | pageSize={pageSize} |
| | | onPageChange={(newPage) => { |
| | | setPage(newPage) |
| | | }} |
| | | onPageSizeChange={(newPageSize) => { |
| | | setPageSize(newPageSize) |
| | | }} |
| | | disableMultipleColumnsSorting |
| | | processRowUpdate={processRowUpdate} |
| | | initialState={{ |
| | |
| | | }, |
| | | }} |
| | | pageSizeOptions={[10, 25, 50, 100]} |
| | | editMode="row" |
| | | checkboxSelection |
| | | onRowSelectionModelChange={handleSelectionChange} |
| | | selectionModel={selectedRows} |
| | | loading={loading} |
| | | sx={{ |
| | | '& .MuiDataGrid-cell input': { |
| | | border: '1px solid #ccc' |