// BasicLayout.tsx import React, { useState } from 'react'; import { Layout, Row, Col, ConfigProvider, Image } from 'antd'; import { TabBar } from 'antd-mobile'; import logo from '../assets/imgs/logo-v3.jpg'; import NavbarFloat from './NavbarFloat'; import NavMenu from './NavMenu'; import StatusBar, { StatusBarProps } from './StateBar'; import AboutPage from '@/pages/demo/AboutPage'; import HomePage from '@/pages/demo/HomePage'; import RegisterPage from '@/pages/patient/register'; import WorklistPage from '@/pages/patient/worklist'; import HistorylistPage from '@/pages/patient/HistoryList'; import ArchivelistPage from '@/pages/patient/ArchiveList'; import BinPage from '@/pages/patient/Bin'; import OutputlistPage from '@/pages/patient/OutputList'; // import { Link } from 'react-router-dom'; // import { MenuOutlined } from '@ant-design/icons'; // const { Content, Footer } = Layout; interface BasicLayoutProps { children: React.ReactNode; } // //自定义breakpoint // const breakpoint = { // xs: 480, // 小屏幕设备(手机) // sm: 576, // 中小屏幕设备(平板) // md: 768, // 中等屏幕设备(小桌面显示器) // lg: 992, // 大屏幕设备(桌面显示器) // xl: 1200, // 超大屏幕设备(大桌面显示器) // xxl: 1600 // 超超大屏幕设备(超大桌面显示器) // }; const BasicLayout: React.FC = () => { const status: StatusBarProps = { diskStatus: 'available', // 可用状态 batteryLevel: 0, wifiStrength: 0, heatCapacity: 0, }; //使用key state更新整个basic layout ,用于加载新的内容组件 const [currentKey, setCurrentKey] = useState('register'); // key和内容组件的映射 const contentMap = { sub2: , process: , register: , worklist: , historylist: , archivelist: , bin: , outputlist: , }; //感知菜单项点击 const handleMenuClick = (key: string) => { setCurrentKey(key); }; return ( // ConfigProvider 用于自定义 Ant Design 的主题和 breakpoints {/* 第一行:品牌和状态区域 */} {/* 品牌区域 */} Logo {/* 状态区域 */} {/* text-[100%] 用于传导父元素的字体大小,最终影响图标大小 */} {/* 第二行:导航区域(第1列)和内容区域(第2列) */} {/* 导航区域 */} {/* 内容区域 */} {/* {children} */} {contentMap[currentKey]} {/* Tabbar:固定在底部,仅在手机屏幕显示 */}
🏠
} /> 👤} /> ⚙️} /> ⚙️} /> ⚙️} />
); }; export default BasicLayout;