From 8a4755489c7c20bf21f481b272f87bc29a2d36c7 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 11 八月 2025 11:17:32 +0800
Subject: [PATCH] #

---
 rsf-admin/src/page/orders/asnOrder/AsnWareModal.jsx |   62 +++++++++++++++++--------------
 1 files changed, 34 insertions(+), 28 deletions(-)

diff --git a/rsf-admin/src/page/orders/asnOrder/AsnWareModal.jsx b/rsf-admin/src/page/orders/asnOrder/AsnWareModal.jsx
index 5a74996..cc7f9f6 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnWareModal.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnWareModal.jsx
@@ -12,8 +12,8 @@
     Paper,
     styled
 } from '@mui/material';
+import { EDIT_MODE, DEFAULT_START_PAGE, DEFAULT_PAGE_SIZE, REFERENCE_INPUT_PAGESIZE } from '@/config/setting';
 import DialogCloseButton from "../../components/DialogCloseButton";
-import ConfirmButton from "../../components/ConfirmButton";
 import { useTranslate, useNotify, useRefresh } from 'react-admin';
 import request from '@/utils/request';
 import { DataGrid } from '@mui/x-data-grid';
@@ -21,33 +21,25 @@
 import TreeSelectInput from "@/page/components/TreeSelectInput";
 const AsnWareModal = (props) => {
     const { open, setOpen, data, setData } = props;
-
     const translate = useTranslate();
     const notify = useNotify();
     const refresh = useRefresh();
-
-    const asnId = '';
-
     const handleClose = (event, reason) => {
         if (reason !== "backdropClick") {
             setOpen(false);
         }
     };
-
-    const [formData, setFormData] = useState({
-        name: '',
-        code: '',
-        groupId: 0
-    });
-
+    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 [selectedRows, setSelectedRows] = useState([]);
 
     const handleChange = (e) => {
         const { name, value } = e.target;
-        setFormData((prevData) => ({
-            ...prevData,
+        setFormData(() => ({
             [name]: value
         }));
     };
@@ -69,11 +61,12 @@
                 return acc;
             }, {});
             return {
+                ...el,
                 matnrId: el.id,
                 maktx: el.name,
                 matnrCode: el.code,
-                stockUnit: el.stockUnit || '',
-                purUnit: el.purchaseUnit || '',
+                stockUnit: el.unit,
+                purUnit: el.unit,
                 ...dynamicFields
             }
         }))
@@ -83,22 +76,26 @@
     };
 
     const getData = async () => {
+        setIsLoading(true)
         const res = await request.post(`/matnr/page`, {
             ...formData,
-            current: 1,
-            pageSize: 100,
+            current: page?.page,
+            pageSize: page?.pageSize,
             orderBy: "create_time desc"
         });
         if (res?.data?.code === 200) {
             setTableData(res.data.data.records);
+            console.log(res.data);
+            setRowCount(res.data?.data.total)
         } else {
             notify(res.data.msg);
         }
+        setIsLoading(false)
     };
 
     useEffect(() => {
         getData();
-    }, [open]);
+    }, [open, page]);
 
     const handleSearch = () => {
         getData()
@@ -166,6 +163,10 @@
                     <AsnWareModalTable
                         tableData={tableData}
                         setTableData={setTableData}
+                        page={page}
+                        rowCount={rowCount}
+                        setPage={setPage}
+                        isLoading={isLoading}
                         dyFields={dyFields}
                         setDyFields={setDyFields}
                         selectedRows={selectedRows}
@@ -185,33 +186,27 @@
 };
 
 export default AsnWareModal;
-
-const AsnWareModalTable = ({ tableData, setTableData, selectedRows, setSelectedRows, dyFields, setDyFields }) => {
+const AsnWareModalTable = ({ tableData, isLoading, page, setPage, rowCount, setTableData, selectedRows, setSelectedRows, dyFields, setDyFields }) => {
     const translate = useTranslate();
     const notify = useNotify();
-
     const [columns, setColumns] = useState([
         // { field: 'id', headerName: 'ID', width: 100 },
-        { field: 'name', headerName: translate('table.field.matnr.name'), width: 300 },
         { field: 'code', headerName: translate('table.field.matnr.code'), width: 200 },
+        { field: 'name', headerName: translate('table.field.matnr.name'), width: 300 },
         { field: 'groupId$', headerName: translate('table.field.matnr.groupId'), width: 100 },
         { field: 'spec', headerName: translate('table.field.matnr.spec'), 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: 'unit', headerName: translate('table.field.matnr.unit'), width: 100 },
-        { field: 'purchaseUnit', headerName: translate('table.field.matnr.purUnit'), width: 100 },
+        { field: 'purUnit', 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 },
     ])
 
-
-
     const handleSelectionChange = (ids) => {
         setSelectedRows(ids)
-
     };
 
     useEffect(() => {
@@ -252,6 +247,17 @@
                 disableColumnMenu={true}
                 disableColumnSorting
                 disableMultipleColumnsSorting
+                rowCount={rowCount}
+                paginationMode="server"
+                paginationModel={page}
+                onPaginationModelChange={setPage}
+                loading={isLoading}
+                slotProps={{
+                    loadingOverlay: {
+                        variant: 'linear-progress',
+                        noRowsVariant: 'linear-progress',
+                    },
+                }}
             />
         </div>
     );

--
Gitblit v1.9.1