From a102a0cb8d03d9f5f73387b226ad82b1f3cb5317 Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期三, 26 三月 2025 14:53:59 +0800
Subject: [PATCH] feat:库位树状

---
 rsf-admin/src/page/basicInfo/loc/LocListAside.jsx           |   21 +++++++++++----------
 rsf-admin/src/page/components/ImportModal.jsx               |    1 +
 rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx            |    2 +-
 rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx          |    2 +-
 rsf-admin/src/page/basicInfo/loc/LocList.jsx                |    1 +
 rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx            |    2 +-
 rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatPanel.jsx |   13 ++++++++++++-
 7 files changed, 28 insertions(+), 14 deletions(-)

diff --git a/rsf-admin/src/page/basicInfo/loc/LocList.jsx b/rsf-admin/src/page/basicInfo/loc/LocList.jsx
index 9af0d60..c218a18 100644
--- a/rsf-admin/src/page/basicInfo/loc/LocList.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocList.jsx
@@ -192,6 +192,7 @@
                     </TopToolbar>
                 )}
                 perPage={DEFAULT_PAGE_SIZE}
+                aside={<LocListAside />}
             >
                 <StyledDatagrid
                     preferenceKey='loc'
diff --git a/rsf-admin/src/page/basicInfo/loc/LocListAside.jsx b/rsf-admin/src/page/basicInfo/loc/LocListAside.jsx
index 7ccba16..4875166 100644
--- a/rsf-admin/src/page/basicInfo/loc/LocListAside.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocListAside.jsx
@@ -19,7 +19,7 @@
     const { setFilters } = useListContext(); // 鑾峰彇鍒楄〃涓婁笅鏂�
     const [selectedOption, setSelectedOption] = useState(null);
     const [treeData, setTreeData] = useState([]);
-    const [defaultIds, setDefaultIds] = useState(['65']);
+    const [defaultIds, setDefaultIds] = useState([]);
     const [condition, setCondition] = useState('');
 
     const haveChildren = (item) => {
@@ -28,8 +28,8 @@
         }
 
         if (item && typeof item === 'object') {
-            if (item.id !== undefined) {
-                item.id = item.id.toString();
+            if (item.index !== undefined) {
+                item.index = item.index.toString();
             }
 
             if (item.children && Array.isArray(item.children)) {
@@ -44,13 +44,13 @@
     }, [condition]);
 
     const http = () => {
-        request.post('/matnrGroup/tree', { condition })
+        request.post('/warehouse/areas', { condition })
             .then(res => {
                 if (res?.data?.code === 200) {
                     let data = res.data.data;
                     let items = haveChildren(data)
                     setTreeData(items)
-                    setDefaultIds([items.at(0).id])
+                    // setDefaultIds([items.at(0).id])
 
                 } else {
                     notify(res.data.msg);
@@ -63,12 +63,11 @@
     }
     const handleNodeSelect = (event, nodeId) => {
         const row = apiRef.current.getItem(nodeId);
-        console.log(row);
 
-        if (row.type === 'warehouseId') {
-            // setFilters({ warehouseId: row.id ,areaId:''});
-        } else if (row.type === 'areaId') {
-            // setFilters({ areaId: row.id ,warehouseId:''});
+        if (row.flagWare === 1) {
+            setFilters({ warehouseId: row.id, areaId: '' });
+        } else if (row.flagWare === 0) {
+            setFilters({ areaId: row.id, warehouseId: '' });
         }
 
     };
@@ -121,6 +120,8 @@
                     items={treeData}
                     slots={CustomTreeItem}
                     apiRef={apiRef}
+                    getItemId={(item) => item.index}
+                    getItemLabel={(item) => item.name}
                     onItemClick={handleNodeSelect} // 鐩戝惉鑺傜偣鐐瑰嚮浜嬩欢
                 />
 
diff --git a/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatPanel.jsx b/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatPanel.jsx
index bb5207e..84a4abb 100644
--- a/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatPanel.jsx
+++ b/rsf-admin/src/page/basicInfo/locAreaMat/LocAreaMatPanel.jsx
@@ -59,6 +59,8 @@
     }
 
     const [parmas, setParmas] = useState({
+        current: 1,
+        pageSize: 99,
         areaMatId: record.id,
         locTypeId: '',
         groupId: '',
@@ -131,7 +133,14 @@
                     disableColumnMenu={true}
                     disableColumnSorting
                     disableMultipleColumnsSorting
-                    columnBufferPx={100}
+                    initialState={{
+                        pagination: {
+                            paginationModel: {
+                                pageSize: 10,
+                            },
+                        },
+                    }}
+                    pageSizeOptions={[10]}
                 />
             </Grid>
         </Grid>
@@ -235,6 +244,7 @@
     const handleNodeSelect = (event, nodeId) => {
         event.stopPropagation();
         parmas.groupId = nodeId;
+        parmas.locTypeId = '';
         setParmas(parmas)
         reload()
     };
@@ -371,6 +381,7 @@
     const handleNodeSelect = (event, nodeId) => {
         event.stopPropagation();
         parmas.locTypeId = nodeId;
+        parmas.groupId = '';
         setParmas(parmas)
         reload()
     };
diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx
index a203630..e838adf 100644
--- a/rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx
+++ b/rsf-admin/src/page/basicInfo/matnr/MatnrCreate.jsx
@@ -286,7 +286,7 @@
                                                 <TextInput
                                                     label={item.fieldsAlise}
                                                     source={item.fields}
-                                                    validate={required()}
+                                                    validate={item.unique === 1 ? required() : false}
                                                 />
                                             </Grid>
                                         )
diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
index c0d582a..15f2f0a 100644
--- a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
@@ -269,7 +269,7 @@
                                             <TextInput
                                                 label={item.fieldsAlise}
                                                 source={item.fields}
-                                                validate={required()}
+                                                validate={item.unique === 1 ? required() : false}
                                             />
                                         </Grid>
                                     )
diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx
index 438bd7e..99edfb3 100644
--- a/rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx
+++ b/rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx
@@ -501,7 +501,7 @@
             <PrintModal
                 open={createDialog}
                 setOpen={setCreateDialog}
-                rows={[record]}
+                rows={[record.id]}
             />
         </>
     )
diff --git a/rsf-admin/src/page/components/ImportModal.jsx b/rsf-admin/src/page/components/ImportModal.jsx
index ea75029..703a018 100644
--- a/rsf-admin/src/page/components/ImportModal.jsx
+++ b/rsf-admin/src/page/components/ImportModal.jsx
@@ -86,6 +86,7 @@
         const url = window.URL.createObjectURL(
             new Blob([res.data], { type: res.headers["content-type"] }),
         );
+
         const link = document.createElement("a");
         link.href = url;
         link.setAttribute("download", `${value}.xlsx`);

--
Gitblit v1.9.1