From 1504150a9e26ef221fc6ac4e0ad494446968d06d Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期六, 30 八月 2025 16:28:22 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop

---
 rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx |  126 ++++++++++++++++++------------------------
 1 files changed, 54 insertions(+), 72 deletions(-)

diff --git a/rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx b/rsf-admin/src/page/orders/transfer/CreateBySelectMats.jsx
index d61da62..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,28 +37,24 @@
 
 
 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([]);
     const [pageSize, setPageSize] = useState(25);
     const [selectedRows, setSelectedRows] = useState([]);
-
     const translate = useTranslate();
     const notify = useNotify();
     const refresh = useRefresh();
-
-
 
     const handleClose = (event, reason) => {
         if (reason !== "backdropClick") {
             setOpen(false);
         }
     };
-
 
     const handleChange = (e) => {
         const { name, value } = e.target;
@@ -69,9 +65,8 @@
 
     const reset = () => {
         setFormData({
-            name: '',
-            code: '',
-            groupId: 0
+            maktx: '',
+            matnrCode: '',
         })
     }
 
@@ -84,33 +79,42 @@
                 return acc;
             }, {});
             return {
-                matnrId: el.id,
-                maktx: el.name,
-                matnrCode: el.code,
-                stockUnit: el.stockUnit || '',
-                purUnit: el.purchaseUnit || '',
+                id: el.id,
+                matnrId: el.matnrId,
+                maktx: el.maktx,
+                matnrCode: el.matnrCode,
+                anfme: el.anfme,
+                batch: el.batch,
+                spec: el.spec,
+                model: el.model,
+                fieldsIndex: el.fieldsIndex,
+                stockUnit: el.unit || '',
                 ...dynamicFields
             }
-        }))
+        }));
         setData([...data, ...value]);
         setOpen(false);
         reset();
     };
 
     const getData = async () => {
-        const res = await request.post(`/matnr/page`, {
+        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;
+            const { data } = res.data;
             setTableData(data?.records);
             setRowCount(data?.total);
         } 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',
@@ -147,8 +151,8 @@
                         <Grid item md={3}>
                             <TextField
                                 label={translate('table.field.matnr.name')}
-                                name="name"
-                                value={formData.name}
+                                name="maktx"
+                                value={formData.maktx}
                                 onChange={handleChange}
                                 size="small"
                             />
@@ -156,20 +160,10 @@
                         <Grid item md={3}>
                             <TextField
                                 label={translate('table.field.matnr.code')}
-                                name="code"
-                                value={formData.code}
+                                name="matnrCode"
+                                value={formData.matnrCode}
                                 onChange={handleChange}
                                 size="small"
-                            />
-                        </Grid>
-                        <Grid item md={3}>
-                            <TreeSelectInput
-                                label="table.field.matnr.groupId"
-                                value={formData.groupId}
-                                resource={'matnrGroup'}
-                                source="groupId"
-                                name="groupId"
-                                onChange={handleChange}
                             />
                         </Grid>
                         <Grid item md={2} sx={{ margin: 'auto' }}>
@@ -178,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}
@@ -186,6 +180,7 @@
                         rowCount={rowCount}
                         pageSize={pageSize}
                         setPage={setPage}
+                        isLoading={isLoading}
                         setPageSize={setPageSize}
                         dyFields={dyFields}
                         setDyFields={setDyFields}
@@ -208,34 +203,26 @@
 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([]);
 
     const [columns, setColumns] = useState([
-        { field: 'name', headerName: translate('table.field.matnr.name'), width: 300 },
-        { field: 'code', headerName: translate('table.field.matnr.code'), width: 200 },
-        { field: 'groupId$', headerName: translate('table.field.matnr.groupId'), width: 100 },
+        { field: 'maktx', headerName: translate('table.field.matnr.name'), width: 300 },
+        { field: 'matnrCode', headerName: translate('table.field.matnr.code'), width: 200 },
+        { 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 },
-        { field: 'weight', headerName: translate('table.field.matnr.weight'), width: 100 },
-        { field: 'describle', headerName: translate('table.field.matnr.describle'), width: 100 },
-        { field: 'nromNum', headerName: translate('table.field.matnr.nromNum'), width: 100 },
+        { field: 'anfme', headerName: translate('table.field.locItem.anfme'), width: 100 },
         { field: 'unit', headerName: translate('table.field.matnr.unit'), width: 100 },
-        { field: 'purchaseUnit', headerName: translate('table.field.matnr.purUnit'), width: 100 },
-        { field: 'stockUnit', headerName: translate('table.field.matnr.stockUnit'), width: 100 },
-        { field: 'stockLeval$', headerName: translate('table.field.matnr.stockLevel'), width: 100, sortable: false },
+        { field: 'wareArea', headerName: translate('table.field.locItem.wareArea'), width: 100, sortable: false },
     ])
 
     const handleSelectionChange = (ids) => {
         setSelectedRows(ids)
     };
-
-    useEffect(() => {
-        console.log('------->');
-        console.log(page);
-    }, [page])
 
     useEffect(() => {
         if (extendColumns == undefined || extendColumns.length < 1) {
@@ -267,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