master_basic
鲁誉程 1 year ago
parent 707f8c3690
commit 6124ece67d

@ -122,13 +122,14 @@ const routes = [
// ------------------------------设备注册----------------------------------- // ------------------------------设备注册-----------------------------------
// 注册管理 // 注册管理
{ path: '/registerManage/deviceRegister/:id', name: '设备注册111', component: '@/pages/Register/RegisterManage/DeviceRegister' }, { path: '/registerManage/deviceRegister/:id', name: '设备注册管理', component: '@/pages/Register/RegisterManage/DeviceRegister' },
{ path: '/registerManage/manageDiskMainten', name: '管理盘维护', component: '@/pages/Register/RegisterManage/ManageDiskMainten' }, { path: '/registerManage/manageDiskMainten', name: '管理盘维护', component: '@/pages/Register/RegisterManage/ManageDiskMainten' },
{ path: '/registerManage/devicePhotoMainten', name: '设备照片维护', component: '@/pages/Register/RegisterManage/DevicePhotoMainten' }, { path: '/registerManage/devicePhotoMainten', name: '设备照片维护', component: '@/pages/Register/RegisterManage/DevicePhotoMainten' },
{ path: '/registerManage/deviceSearch', name: '设备查找', component: '@/pages/Register/RegisterManage/DeviceSearch' }, { path: '/registerManage/deviceSearch', name: '设备查找', component: '@/pages/Register/RegisterManage/DeviceSearch' },
{ path: '/registerManage/appSystemConfig', name: '应用系统配置', component: '@/pages/Register/RegisterManage/AppSystemConfig' }, { path: '/registerManage/appSystemConfig', name: '应用系统配置', component: '@/pages/Register/RegisterManage/AppSystemConfig' },
{ path: '/registerManage/infoAggre', name: '信息汇总', component: '@/pages/Register/RegisterManage/InfoAggre' }, { path: '/registerManage/infoAggre', name: '信息汇总', component: '@/pages/Register/RegisterManage/InfoAggre' },
// 位置管理 // 位置管理
{ path: '/registerManage/unitLocation/:id', name: '单位位置管理', component: '@/pages/Register/PositionManage/UnitLocation' },
{ path: '/registerManage/regionalEdit', name: '地域编辑', component: '@/pages/Register/PositionManage/RegionalEdit' }, { path: '/registerManage/regionalEdit', name: '地域编辑', component: '@/pages/Register/PositionManage/RegionalEdit' },
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------

@ -13,7 +13,7 @@ interface PageProps {
isTree?: boolean; isTree?: boolean;
// 菜单列表 name: 名称; url: 路由; img: 图标; // 菜单列表 name: 名称; url: 路由; img: 图标;
data: Array<{ name: string; url: string; img: any; }> data: Array<{ name: string; url: string; img: any; }>
}> }>;
} }
const LeftMenuCom: FC<PageProps> = ({ data }) => { const LeftMenuCom: FC<PageProps> = ({ data }) => {
@ -26,7 +26,11 @@ const LeftMenuCom: FC<PageProps> = ({ data }) => {
const [showContextMenu, setShowContextMenu] = useState(false); const [showContextMenu, setShowContextMenu] = useState(false);
const treeRef = useRef(null); const treeRef = useRef(null);
const [menuItems, setMenuItems] = useState<any>([]);
useEffect(() => { useEffect(() => {
menuItemsConfig();
data.forEach((item, index) => { data.forEach((item, index) => {
// 默认展开第一个 // 默认展开第一个
// item.check = (index == 0 ? true : false); // item.check = (index == 0 ? true : false);
@ -49,6 +53,22 @@ const LeftMenuCom: FC<PageProps> = ({ data }) => {
}; };
}, []) }, [])
const menuItemsConfig = () => {
if (`/registerManage/deviceRegister/${urlParams?.id}` == route?.pathname) {
setMenuItems([
{key: '1', label: '删除'},
{key: '2', label: '刷新'},
])
}else if (`/registerManage/unitLocation/${urlParams?.id}` == route?.pathname) {
setMenuItems([
{key: '1', label: '修改'},
{key: '2', label: '刷新'},
{key: '3', label: '新建'},
{key: '4', label: '删除'}
])
}
}
const handleRightClick = (e: any, node: any) => { const handleRightClick = (e: any, node: any) => {
if (node?.isFolder) return if (node?.isFolder) return
@ -58,9 +78,18 @@ const LeftMenuCom: FC<PageProps> = ({ data }) => {
setShowContextMenu(true); // 显示右键菜单 setShowContextMenu(true); // 显示右键菜单
}; };
const handleSelect = (selectedKeys: any) => { const handleSelect = (selectedKeys: any, name: any) => {
if (selectedKeys.length == 0) return;
setSelectedKeys(selectedKeys); setSelectedKeys(selectedKeys);
history.push(`/registerManage/deviceRegister/${selectedKeys[0]}`) switch (name) {
case '设备注册':
history.push(`/registerManage/deviceRegister/${selectedKeys[0]}`)
break;
case '单位位置管理':
history.push(`/registerManage/unitLocation/${selectedKeys[0]}`)
break;
}
}; };
const handleContextMenuClick = (e: any) => { const handleContextMenuClick = (e: any) => {
@ -78,33 +107,28 @@ const LeftMenuCom: FC<PageProps> = ({ data }) => {
title: 'Child 1', title: 'Child 1',
key: '0-1-1', key: '0-1-1',
}, },
// { {
// title: 'Child 2', title: 'Child 2',
// key: '0-1-2', key: '0-1-2',
// }, },
],
},
{
title: 'Parent 2',
key: '0-2',
selectable: false,
isFolder: true,
children: [
{
title: 'Child 3',
key: '0-2-1',
},
{
title: 'Child 4',
key: '0-2-2',
},
], ],
}, },
// {
// title: 'Parent 2',
// key: '0-2',
// selectable: false,
// isFolder: true,
// children: [
// {
// title: 'Child 3',
// key: '0-2-1',
// },
// {
// title: 'Child 4',
// key: '0-2-2',
// },
// ],
// },
];
const menuItems = [
{ key: '1', label: '删除' },
{ key: '2', label: '刷新' }
]; ];
return ( return (
@ -131,7 +155,7 @@ const LeftMenuCom: FC<PageProps> = ({ data }) => {
style={{ padding: 20 }} style={{ padding: 20 }}
onContextMenu={(e) => e.preventDefault()} onContextMenu={(e) => e.preventDefault()}
onRightClick={({ event, node }) => handleRightClick(event, node)} onRightClick={({ event, node }) => handleRightClick(event, node)}
onSelect={handleSelect} onSelect={(e) => { handleSelect(e, item.name) }}
selectedKeys={selectedKeys} selectedKeys={selectedKeys}
treeData={treeData} treeData={treeData}
blockNode={true} blockNode={true}

@ -143,16 +143,27 @@ export default function Layout() {
// 校验是否是树结构列表 // 校验是否是树结构列表
const isTreeType = (info: any) => { const isTreeType = (info: any) => {
if (info.length > 0 && info[0]?.name == '设备注册') { if (info.length > 0) {
for (let i = 0; i < treeData.length; i++) { if (info[0]?.name === '设备注册') {
if (treeData[i].children.length > 0) { return navigateToPath(info, '/registerManage/deviceRegister/{key}');
history.push(`/registerManage/deviceRegister/${treeData[i].children[0].key}`)
break;
}
} }
return true if (info[0]?.name === '单位位置管理') {
return navigateToPath(info, '/registerManage/unitLocation/{key}');
}
}
return false;
};
// 前往对应的路由
const navigateToPath = (info: any, path: string) => {
const targetNode = treeData.find((node: any) => node.children.length > 0);
if (targetNode) {
history.push(path.replace('{key}', targetNode.children[0].key));
return true;
} }
} return false;
};
// 获取路由名称 // 获取路由名称
const getCurrentPageName = (pathname: string) => { const getCurrentPageName = (pathname: string) => {
@ -266,7 +277,7 @@ export default function Layout() {
<div className={styles.footer}> <div className={styles.footer}>
<div>0.0.0</div> <div>0.0.0</div>
<div>admin</div> <div>admin</div>
<div style={{minWidth: 180, textAlign: 'right'}}>{routeName}</div> <div style={{ minWidth: 180, textAlign: 'right' }}>{routeName}</div>
</div> </div>
</div> </div>
</div> </div>

@ -0,0 +1,9 @@
import styles from './index.less';
export default function Page() {
return (
<div>
</div>
);
}

@ -233,7 +233,12 @@ export const MenuType: any = {
} }
], ],
'位置管理': [ '位置管理': [
{ name: '单位位置管理', check: true, data: [] }, {
name: '单位位置管理',
check: true,
isTree: true,
data: []
},
{ {
name: '注册信息管理', name: '注册信息管理',
check: true, check: true,

Loading…
Cancel
Save