|
|
@@ -1,142 +0,0 @@
|
|
|
-import * as React from 'react';
|
|
|
-import { Layout, Menu, Button, Select } from 'antd';
|
|
|
-import {
|
|
|
- RobotOutlined,
|
|
|
- ReadOutlined,
|
|
|
- FileSearchOutlined,
|
|
|
- MenuFoldOutlined,
|
|
|
- MenuUnfoldOutlined
|
|
|
-} from '@ant-design/icons';
|
|
|
-import router from '@/router';
|
|
|
-import { JSX } from 'react/jsx-runtime';
|
|
|
-
|
|
|
-const Sider = Layout.Sider;
|
|
|
-const { Option } = Select;
|
|
|
-
|
|
|
-interface MenuItem {
|
|
|
- key: string;
|
|
|
- icon: JSX.Element;
|
|
|
- label: string;
|
|
|
- onClick: () => void;
|
|
|
-}
|
|
|
-
|
|
|
-interface Props {
|
|
|
- selectedKey: string,
|
|
|
- onChangeSelectedKey: (path: string, menuLevel: number) => void,
|
|
|
- openKeys: string[],
|
|
|
- onOpenChange: (openKeys: string[]) => void,
|
|
|
- collapsed: boolean,
|
|
|
- onClickCollapsed: () => void,
|
|
|
-};
|
|
|
-
|
|
|
-const Nav: React.FC<Props> = (props: Props) => {
|
|
|
-
|
|
|
- const {
|
|
|
- selectedKey,
|
|
|
- onChangeSelectedKey,
|
|
|
- openKeys,
|
|
|
- onOpenChange,
|
|
|
- collapsed,
|
|
|
- onClickCollapsed
|
|
|
- } = props;
|
|
|
-
|
|
|
- const dsItems: MenuItem[] = [
|
|
|
- {
|
|
|
- key: '/deepseek/questionAnswer',
|
|
|
- icon: <RobotOutlined />,
|
|
|
- label: 'DeepSeek问答应用',
|
|
|
- onClick: () => { router.navigate({ pathname: '/deepseek/questionAnswer' }) }
|
|
|
- },
|
|
|
- {
|
|
|
- key: '/deepseek/knowledgeLib',
|
|
|
- icon: <ReadOutlined />,
|
|
|
- label: 'DeepSeek知识库',
|
|
|
- onClick: () => { router.navigate({ pathname: '/deepseek/knowledgeLib' }) }
|
|
|
- },
|
|
|
- {
|
|
|
- key: '/deepseek/dataExport',
|
|
|
- icon: <FileSearchOutlined />,
|
|
|
- label: 'DeepSeek数据导出',
|
|
|
- onClick: () => { router.navigate({ pathname: '/deepseek/dataExport' }) }
|
|
|
- },
|
|
|
- ];
|
|
|
-
|
|
|
- // const zpItems: MenuItem[] = [
|
|
|
- // {
|
|
|
- // key: '/zhipu/questionAnswer',
|
|
|
- // icon: <RobotOutlined />,
|
|
|
- // label: '问答应用',
|
|
|
- // onClick: () => { router.navigate({ pathname: '/zhipu/questionAnswer' }) }
|
|
|
- // },
|
|
|
- // {
|
|
|
- // key: '/zhipu/knowledgeLib',
|
|
|
- // icon: <ReadOutlined />,
|
|
|
- // label: '知识库',
|
|
|
- // onClick: () => { router.navigate({ pathname: '/zhipu/knowledgeLib' }) }
|
|
|
- // },
|
|
|
- // {
|
|
|
- // key: '/zhipu/dataExport',
|
|
|
- // icon: <FileSearchOutlined />,
|
|
|
- // label: '数据导出',
|
|
|
- // onClick: () => { router.navigate({ pathname: '/zhipu/dataExport' }) }
|
|
|
- // }
|
|
|
- // ];
|
|
|
-
|
|
|
- const [items, setItems] = React.useState<MenuItem[]>(dsItems);
|
|
|
- // const [selectedFruit, setSelectedFruit] = React.useState(1); // 默认选中
|
|
|
-
|
|
|
- const fruits = [
|
|
|
- { id: 1, name: 'DeepSeek' },
|
|
|
- { id: 2, name: '智谱' },
|
|
|
- ];
|
|
|
-
|
|
|
- // const onChange = (value: number) => {
|
|
|
- // console.log(value, 'value');
|
|
|
- // if (value === 1) {
|
|
|
- // setSelectedFruit(1);
|
|
|
- // setItems(dsItems);
|
|
|
- // router.navigate({ pathname: '/deepseek/questionAnswer' });
|
|
|
- // } else {
|
|
|
- // setSelectedFruit(2);
|
|
|
- // setItems(zpItems);
|
|
|
- // router.navigate({ pathname: '/zhipu/questionAnswer' });
|
|
|
- // }
|
|
|
- // };
|
|
|
-
|
|
|
- React.useEffect(() => {
|
|
|
- router.navigate({ pathname: '/deepseek/questionAnswer' });
|
|
|
- }, []);
|
|
|
-
|
|
|
-
|
|
|
- return (
|
|
|
- <Sider
|
|
|
- className='nav'
|
|
|
- collapsed={collapsed}
|
|
|
- >
|
|
|
- <div className='nav-menu'>
|
|
|
- <Menu
|
|
|
- mode='inline'
|
|
|
- selectedKeys={[selectedKey]}
|
|
|
- onSelect={(item) => {
|
|
|
- const menuLevel = item.keyPath.length > 1 ? 2 : 1;
|
|
|
- onChangeSelectedKey(item.key, menuLevel);
|
|
|
- }}
|
|
|
- openKeys={openKeys}
|
|
|
- onOpenChange={(keys) => {
|
|
|
- // 点击菜单,收起其他展开的所有菜单
|
|
|
- const latestOpenKey = keys.find((key) => openKeys.indexOf(key) === -1);
|
|
|
- onOpenChange(latestOpenKey ? [latestOpenKey] : []);
|
|
|
- }}
|
|
|
- items={items}
|
|
|
- />
|
|
|
- </div>
|
|
|
- <div className='nav-bottom'>
|
|
|
- <Button type='primary' onClick={onClickCollapsed}>
|
|
|
- {collapsed ? <MenuUnfoldOutlined /> : <MenuFoldOutlined />}
|
|
|
- </Button>
|
|
|
- </div>
|
|
|
- </Sider>
|
|
|
- );
|
|
|
-};
|
|
|
-
|
|
|
-export default Nav;
|