From 8fa94157065826a8f1086856fc002fbefd173a77 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 08 八月 2025 10:41:00 +0800
Subject: [PATCH] 日库存次数统计
---
rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx | 71 ++++++++++++++++-------------------
1 files changed, 33 insertions(+), 38 deletions(-)
diff --git a/rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx b/rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx
index 69c2be1..70e29ce 100644
--- a/rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx
+++ b/rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx
@@ -23,8 +23,8 @@
DeleteButton,
} from 'react-admin';
import { Stack, Grid, Box, Typography, Dialog, DialogTitle, DialogContent, TextField, Button, DialogActions } from '@mui/material';
+import { EDIT_MODE, DEFAULT_START_PAGE, DEFAULT_PAGE_SIZE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting';
import DialogCloseButton from "../../components/DialogCloseButton.jsx";
-import { EDIT_MODE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting';
import StatusSelectInput from "../../components/StatusSelectInput";
import CustomerTopToolBar from "../../components/EditTopToolBar";
import TreeSelectInput from "@/page/components/TreeSelectInput";
@@ -37,9 +37,10 @@
const CreateBySelectMats = (props) => {
- const { open, setOpen, data, setData } = props;
- const [page, setPage] = useState(0);
+ const { open, setOpen, data, setData, queryForm } = props;
+ const [page, setPage] = useState({ page: DEFAULT_START_PAGE, pageSize: DEFAULT_PAGE_SIZE });
const [rowCount, setRowCount] = useState(0);
+ const [isLoading, setIsLoading] = useState(false);
const [formData, setFormData] = useState({});
const [tableData, setTableData] = useState([]);
const [dyFields, setDyFields] = useState([]);
@@ -54,7 +55,6 @@
setOpen(false);
}
};
-
const handleChange = (e) => {
const { name, value } = e.target;
@@ -79,6 +79,7 @@
return acc;
}, {});
return {
+ id: el.id,
matnrId: el.matnrId,
maktx: el.maktx,
matnrCode: el.matnrCode,
@@ -86,24 +87,26 @@
batch: el.batch,
spec: el.spec,
model: el.model,
+ fieldsIndex: el.fieldsIndex,
stockUnit: el.unit || '',
...dynamicFields
}
}));
setData([...data, ...value]);
-
- console.log(data);
setOpen(false);
reset();
};
const getData = async () => {
- const res = await request.post(`/transfer/locs/items`, {
+ let params = {
...formData,
- current: page,
- pageSize: pageSize,
+ orgAreaId: queryForm?.orgAreaId,
+ current: page?.page,
+ pageSize: page?.pageSize,
orderBy: "create_time desc"
- });
+ };
+ setIsLoading(true)
+ const res = await request.post(`/transfer/locs/items`, params);
if (res?.data?.code === 200) {
const { data } = res.data;
setTableData(data?.records);
@@ -111,6 +114,7 @@
} else {
notify(res.data.msg);
}
+ setIsLoading(false)
};
useEffect(() => {
@@ -128,7 +132,7 @@
aria-labelledby="form-dialog-title"
fullWidth
disableRestoreFocus
- maxWidth="lg"
+ maxWidth="xl"
>
<DialogTitle id="form-dialog-title" sx={{
position: 'sticky',
@@ -168,7 +172,7 @@
</Grid>
</Box>
- <Box sx={{ mt: 2, height: 400, width: '100%' }}>
+ <Box sx={{ mt: 2, height: 600, width: '100%' }}>
<SelectMatsTableView
tableData={tableData}
setTableData={setTableData}
@@ -176,6 +180,7 @@
rowCount={rowCount}
pageSize={pageSize}
setPage={setPage}
+ isLoading={isLoading}
setPageSize={setPageSize}
dyFields={dyFields}
setDyFields={setDyFields}
@@ -198,7 +203,7 @@
export default CreateBySelectMats;
-const SelectMatsTableView = ({ tableData, page, pageSize, setPage, setPageSize, rowCount, setTableData, selectedRows, setSelectedRows, dyFields, setDyFields }) => {
+const SelectMatsTableView = ({ tableData, page, isLoading, pageSize, setPage, setPageSize, rowCount, setTableData, selectedRows, setSelectedRows, dyFields, setDyFields }) => {
const translate = useTranslate();
const notify = useNotify();
const [extendColumns, setExtendColumns] = useState([]);
@@ -206,7 +211,7 @@
const [columns, setColumns] = useState([
{ field: 'maktx', headerName: translate('table.field.matnr.name'), width: 300 },
{ field: 'matnrCode', headerName: translate('table.field.matnr.code'), width: 200 },
- // { field: 'groupId$', headerName: translate('table.field.matnr.groupId'), width: 100 },
+ { field: 'locCode', headerName: translate('table.field.locItem.locCode'), width: 100 },
{ field: 'spec', headerName: translate('table.field.matnr.spec'), width: 100 },
{ field: 'batch', headerName: translate('table.field.locItem.batch'), width: 100 },
{ field: 'model', headerName: translate('table.field.matnr.model'), width: 100 },
@@ -218,11 +223,6 @@
const handleSelectionChange = (ids) => {
setSelectedRows(ids)
};
-
- useEffect(() => {
- console.log('------->');
- console.log(page);
- }, [page])
useEffect(() => {
if (extendColumns == undefined || extendColumns.length < 1) {
@@ -254,32 +254,27 @@
}
return (
- <div style={{ height: 400, width: '100%' }}>
+ <div style={{ height: 590, width: '100%' }}>
<DataGrid
- size="small"
rows={tableData}
- page={page}
- pageSize={pageSize}
- columns={columns}
- pagination
- checkboxSelection
rowCount={rowCount}
- onRowSelectionModelChange={handleSelectionChange}
- onPageChange={(newPage) => setPage(newPage)}
- onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}
- selectionModel={selectedRows}
+ columns={columns}
paginationMode="server"
+ paginationModel={page}
+ checkboxSelection
+ onPaginationModelChange={setPage}
+ onRowSelectionModelChange={handleSelectionChange}
+ selectionModel={selectedRows}
disableColumnMenu={true}
- initialState={{
- pagination: {
- paginationModel: {
- pageSize: 25,
- },
- },
- }}
- pageSizeOptions={[15, 25, 50, 100]}
disableColumnSorting
disableMultipleColumnsSorting
+ loading={isLoading}
+ slotProps={{
+ loadingOverlay: {
+ variant: 'linear-progress',
+ noRowsVariant: 'linear-progress',
+ },
+ }}
/>
</div>
);
--
Gitblit v1.9.1