import { Button, Input, Nav, Space, Tag, Toast } from '@douyinfe/semi-ui'; import { IconActivity, IconBarChartHStroked, IconHistogram, IconHome, IconMapPin, IconSearch, IconServer, IconSetting } from '@douyinfe/semi-icons'; import type { ReactNode } from 'react'; import { useState } from 'react'; export type PageKey = 'dashboard' | 'vehicles' | 'realtime' | 'detail' | 'history' | 'mileage' | 'quality'; const navItems = [ { itemKey: 'dashboard', text: '总览工作台', icon: }, { itemKey: 'vehicles', text: '车辆台账', icon: }, { itemKey: 'realtime', text: '实时状态', icon: }, { itemKey: 'detail', text: '车辆详情', icon: }, { itemKey: 'history', text: '历史查询', icon: }, { itemKey: 'mileage', text: '里程分析', icon: }, { itemKey: 'quality', text: '数据质量', icon: } ]; function linkHealthClassName(count: number | null) { if (count == null) { return ''; } return count > 0 ? 'vp-link-health-button-warning' : 'vp-link-health-button-ok'; } export function AppShell({ activePage, linkIssueCount, onChange, onVehicleSearch, children }: { activePage: PageKey; linkIssueCount: number | null; onChange: (page: PageKey) => void; onVehicleSearch: (keyword: string) => void; children: ReactNode; }) { const [keyword, setKeyword] = useState(''); const search = () => { const value = keyword.trim(); if (!value) { Toast.warning('请输入 VIN / 车牌 / 手机号'); return; } onVehicleSearch(value); }; return (
} placeholder="搜索 VIN / 车牌 / 手机号" value={keyword} onChange={setKeyword} onEnterPress={search} style={{ width: 320 }} /> 生产环境
{children}
); }