rsf-admin/src/page/basicInfo/loc/InitModal.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-admin/src/page/basicInfo/loc/LocEdit.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-admin/src/page/basicInfo/loc/LocList.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-admin/src/page/basicInfo/matnr/MatnrListAside.jsx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
rsf-admin/src/page/basicInfo/loc/InitModal.jsx
@@ -133,7 +133,6 @@ value={formData.locType} onChange={(e) => handleChange(e.target.value, 'locType')} size="small" validate={[required()]} dictTypeCode="sys_width_type" /> </Grid> rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
@@ -171,7 +171,7 @@ <Grid item xs={6} display="flex" gap={1}> <NumberInput label="table.field.loc.row" source="lrow" source="row" validate={required()} /> </Grid> rsf-admin/src/page/basicInfo/loc/LocList.jsx
@@ -148,16 +148,16 @@ <NumberField source="warehouseId$" label="table.field.loc.warehouseId" /> <NumberField source="areaId$" label="table.field.loc.areaId" /> <TextField source="code" label="table.field.loc.code" /> <TextField source="type" label="table.field.loc.type" /> <TextField source="type$" label="table.field.loc.type" /> <TextField source="name" label="table.field.loc.name" /> <NumberField source="flagLogic" label="table.field.loc.flagLogic" /> <TextField source="fucAtrrs" label="table.field.loc.fucAtrrs" /> <TextField source="barcode" label="table.field.loc.barcode" /> <TextField source="unit" label="table.field.loc.unit" /> <TextField source="size" label="table.field.loc.length" /> <TextField source="size" label="table.field.loc.width" /> <TextField source="size" label="table.field.loc.height" /> <NumberField source="lrow" label="table.field.loc.row" /> <TextField source="length" label="table.field.loc.length" /> <TextField source="width" label="table.field.loc.width" /> <TextField source="height" label="table.field.loc.height" /> <NumberField source="row" label="table.field.loc.row" /> <NumberField source="col" label="table.field.loc.col" /> <NumberField source="lev" label="table.field.loc.lev" /> <NumberField source="channel" label="table.field.loc.channel" /> @@ -165,6 +165,7 @@ <NumberField source="maxPack" label="table.field.loc.maxPack" /> <NumberField source="flagLabelMange" label="table.field.loc.flagLabelMange" /> <TextField source="locAttrs" label="table.field.loc.locAttrs" /> <TextField source="useStatus$" label="table.field.loc.useStatus" /> <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}> <TextField source="nickname" /> </ReferenceField> rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
@@ -90,7 +90,7 @@ defaultValues={{}} // validate={(values) => { }} > <Grid container width={{ xs: '20%', xl: '80%' }} rowSpacing={3} columnSpacing={3}> <Grid container rowSpacing={3} columnSpacing={3}> <Grid item xs={12} md={10}> <Typography variant="h6" gutterBottom> rsf-admin/src/page/basicInfo/matnr/MatnrList.jsx
@@ -66,7 +66,7 @@ width: '200px' }, '& .RaList-main': { minHeight: '80vh' minHeight: '90vh' }, '& .column-name': { }, @@ -149,7 +149,7 @@ const { isLoading } = useListContext(); return ( <Box sx={{ position: 'relative', minHeight: "40vh", }}> <Box sx={{ position: 'relative', minHeight: "60vh", }}> {isLoading && ( <LinearProgress sx={{ 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; export default MatListAside;