From bfc43ca0e4683c1c0322a6cad5d5be2bc07decc3 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 24 七月 2025 15:00:44 +0800
Subject: [PATCH] 新增调拔单功能 盘点功能优化
---
rsf-admin/src/page/statistics/stockManage/WarehouseStockInfo.jsx | 67 +++++++++++++++++++++++----------
1 files changed, 46 insertions(+), 21 deletions(-)
diff --git a/rsf-admin/src/page/statistics/stockManage/WarehouseStockInfo.jsx b/rsf-admin/src/page/statistics/stockManage/WarehouseStockInfo.jsx
index d540252..b781f69 100644
--- a/rsf-admin/src/page/statistics/stockManage/WarehouseStockInfo.jsx
+++ b/rsf-admin/src/page/statistics/stockManage/WarehouseStockInfo.jsx
@@ -64,16 +64,18 @@
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") {
@@ -119,12 +121,21 @@
};
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([]);
@@ -154,9 +165,16 @@
<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} />
@@ -229,20 +247,20 @@
);
};
-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();
const [columns, setColumns] = useState([
{
- field: 'warehouse',
+ field: 'warehouse$',
headerName: translate('table.field.warehouseStock.warehouse'),
width: 130,
editable: false,
},
{
field: 'matnrCode',
- headerName: translate('table.field.asnOrderItem.matnrCode'),
+ headerName: translate('table.field.warehouseStock.matnrCode'),
width: 130,
editable: false,
},
@@ -264,7 +282,7 @@
},
{
field: 'batch',
- headerName: translate('table.field.warehouseStock.splrBatch'),
+ headerName: translate('table.field.warehouseStock.batch'),
minWidth: 100,
flex: 1,
editable: false,
@@ -352,16 +370,23 @@
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={{
@@ -371,11 +396,11 @@
},
},
}}
- pageSizeOptions={[10, 25, 50, 100]}
- editMode="row"
+ pageSizeOptions={[15, 25, 50, 100]}
checkboxSelection
onRowSelectionModelChange={handleSelectionChange}
selectionModel={selectedRows}
+ loading={loading}
sx={{
'& .MuiDataGrid-cell input': {
border: '1px solid #ccc'
--
Gitblit v1.9.1