From 95c82344c563b10f55ca6163a6f3299f0f025e0f Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 19 三月 2025 08:07:01 +0800 Subject: [PATCH] Merge branch 'front' into devlop --- rsf-admin/src/page/basicInfo/matnr/MatnrListAside.jsx | 89 ++++++++------------------------------------ 1 files changed, 16 insertions(+), 73 deletions(-) diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrListAside.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrListAside.jsx index e20ce92..3a836ee 100644 --- a/rsf-admin/src/page/basicInfo/matnr/MatnrListAside.jsx +++ b/rsf-admin/src/page/basicInfo/matnr/MatnrListAside.jsx @@ -11,41 +11,25 @@ import { RichTreeView } from "@mui/x-tree-view/RichTreeView"; import { TreeItem2 } from "@mui/x-tree-view/TreeItem2"; + const MatListAside = () => { const theme = useTheme(); const notify = useNotify(); const { setFilters } = useListContext(); // 鑾峰彇鍒楄〃涓婁笅鏂� const [selectedOption, setSelectedOption] = useState(null); const [treeData, setTreeData] = useState([]); - // 鐢ㄤ簬绠$悊灞曞紑椤圭殑鐘舵�� - const [expandedItems, setExpandedItems] = useState([]); - - // 閫掑綊鏀堕泦鎵�鏈夎妭鐐圭殑 id - const collectAllNodeIds = (nodes) => { - let allIds = []; - nodes.forEach((node) => { - allIds.push(node.id.toString()); - if (node.children && Array.isArray(node.children)) { - allIds = allIds.concat(collectAllNodeIds(node.children)); - } - }); - return allIds; - }; + const [defaultIds, setDefaultIds] = useState(['29']); const haveChildren = (item) => { - // 濡傛灉 item 鏄竴涓暟缁勶紝閬嶅巻鏁扮粍涓殑姣忎釜鍏冪礌 if (Array.isArray(item)) { return item.map((k) => haveChildren(k)); } - // 濡傛灉 item 鏄竴涓璞� if (item && typeof item === 'object') { - // 灏� id 杞崲涓哄瓧绗︿覆 if (item.id !== undefined) { item.id = item.id.toString(); } - // 濡傛灉瀛樺湪 children锛岄�掑綊澶勭悊 children if (item.children && Array.isArray(item.children)) { item.children = haveChildren(item.children); } @@ -53,16 +37,17 @@ return item; }; - useEffect(() => { request.post('/matnrGroup/tree') .then(res => { if (res?.data?.code === 200) { let data = res.data.data; - let items = haveChildren(data); - setTreeData(items); - // 褰撴爲鏁版嵁鏇存柊鏃讹紝鏇存柊灞曞紑椤圭姸鎬� - setExpandedItems(collectAllNodeIds(items)); + let items = haveChildren(data) + + setTreeData(items) + setDefaultIds([items.at(0).id]) + + } else { notify(res.data.msg); } @@ -70,56 +55,15 @@ .catch(error => { notify('Error fetching tree data'); }); + }, []); - - const treeData1 = [ - { - id: '19', - label: '鍗婃垚鍝� ', - editable: true, - children: [ - { - id: 'grid-community', - label: '@mui/x-data-grid', - editable: true, - children: [ - { id: 'grid-community22', label: '@mui/x-data-grid', editable: true }, - ], - }, - { id: 'grid-pro', label: '@mui/x-data-grid-pro', editable: true }, - { id: 'grid-premium', label: '@mui/x-data-grid-premium', editable: true }, - ], - }, - { - id: '18', - label: '鍘熸潗鏂�', - }, - { - id: 'charts', - label: 'Charts', - children: [{ id: 'charts-community', label: '@mui/x-charts' }], - }, - { - id: 'tree-view', - label: 'Tree View', - children: [{ id: 'tree-view-community', label: '@mui/x-tree-view' }], - }, - { - id: 'tree-view2', - label: 'Tree View3', - children: [{ id: 'tree-view-community1', label: '@mui/x-tree-view' }], - }, - ]; - const handleNodeSelect = (event, nodeId) => { - console.log('Selected Node ID:', nodeId); setFilters({ groupId: nodeId }); - // 鍦ㄨ繖閲屽彲浠ユ牴鎹� nodeId 鏇存柊涓诲唴瀹瑰尯鍩� }; - const handleSearch = () => { console.log('Search Input:', selectedOption); }; + const CustomCheckbox = React.forwardRef(function CustomCheckbox(props, ref) { return <input type="checkbox" ref={ref} {...props} />; @@ -136,6 +80,7 @@ /> ); }); + return ( <Card @@ -154,18 +99,16 @@ <SavedQueriesList icon={<BookmarkIcon />} /> <FilterLiveSearch source="condition" /> <RichTreeView - // 浣跨敤 expandedItems 鎺у埗灞曞紑鐘舵�� - expandedItems={expandedItems} - // 澶勭悊灞曞紑椤圭姸鎬佺殑鍙樺寲 - onExpandedItemsChange={(newExpandedItems) => setExpandedItems(newExpandedItems)} + defaultExpandedItems={defaultIds} expansionTrigger="iconContainer" items={treeData} slots={CustomTreeItem} onItemClick={handleNodeSelect} // 鐩戝惉鑺傜偣鐐瑰嚮浜嬩欢 /> + </CardContent> </Card> - ); -}; + ) +} -export default MatListAside; \ No newline at end of file +export default MatListAside; -- Gitblit v1.9.1