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/devicePhotoMainten', name: '设备照片维护', component: '@/pages/Register/RegisterManage/DevicePhotoMainten' },
{ path: '/registerManage/deviceSearch', name: '设备查找', component: '@/pages/Register/RegisterManage/DeviceSearch' },
{ path: '/registerManage/appSystemConfig', name: '应用系统配置', component: '@/pages/Register/RegisterManage/AppSystemConfig' },
{ 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' },
// ---------------------------------------------------------------------------

@ -13,7 +13,7 @@ interface PageProps {
isTree?: boolean;
// 菜单列表 name: 名称; url: 路由; img: 图标;
data: Array<{ name: string; url: string; img: any; }>
}>
}>;
}
const LeftMenuCom: FC<PageProps> = ({ data }) => {
@ -26,7 +26,11 @@ const LeftMenuCom: FC<PageProps> = ({ data }) => {
const [showContextMenu, setShowContextMenu] = useState(false);
const treeRef = useRef(null);
const [menuItems, setMenuItems] = useState<any>([]);
useEffect(() => {
menuItemsConfig();
data.forEach((item, index) => {
// 默认展开第一个
// item.check = (index == 0 ? true : false);
@ -49,18 +53,43 @@ 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) => {
if (node?.isFolder) return
e.preventDefault();
setContextMenuPosition({ x: e.clientX, y: e.clientY }); // 记录右键菜单位置
setSelectedKeys([node.key]); // 根据节点设置选中的 keys
setShowContextMenu(true); // 显示右键菜单
};
const handleSelect = (selectedKeys: any) => {
const handleSelect = (selectedKeys: any, name: any) => {
if (selectedKeys.length == 0) return;
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) => {
@ -78,33 +107,28 @@ const LeftMenuCom: FC<PageProps> = ({ data }) => {
title: 'Child 1',
key: '0-1-1',
},
// {
// title: 'Child 2',
// key: '0-1-2',
// },
{
title: 'Child 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 (
@ -131,7 +155,7 @@ const LeftMenuCom: FC<PageProps> = ({ data }) => {
style={{ padding: 20 }}
onContextMenu={(e) => e.preventDefault()}
onRightClick={({ event, node }) => handleRightClick(event, node)}
onSelect={handleSelect}
onSelect={(e) => { handleSelect(e, item.name) }}
selectedKeys={selectedKeys}
treeData={treeData}
blockNode={true}

@ -143,16 +143,27 @@ export default function Layout() {
// 校验是否是树结构列表
const isTreeType = (info: any) => {
if (info.length > 0 && info[0]?.name == '设备注册') {
for (let i = 0; i < treeData.length; i++) {
if (treeData[i].children.length > 0) {
history.push(`/registerManage/deviceRegister/${treeData[i].children[0].key}`)
break;
}
if (info.length > 0) {
if (info[0]?.name === '设备注册') {
return navigateToPath(info, '/registerManage/deviceRegister/{key}');
}
if (info[0]?.name === '单位位置管理') {
return navigateToPath(info, '/registerManage/unitLocation/{key}');
}
return true
}
}
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) => {
@ -266,7 +277,7 @@ export default function Layout() {
<div className={styles.footer}>
<div>0.0.0</div>
<div>admin</div>
<div style={{minWidth: 180, textAlign: 'right'}}>{routeName}</div>
<div style={{ minWidth: 180, textAlign: 'right' }}>{routeName}</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: '注册信息管理',
check: true,

Loading…
Cancel
Save