"use client"; import React, { useState } from "react"; import { Box, Drawer, Tabs, Tab, Typography, IconButton, Tooltip, } from "@mui/material"; import { ChevronRight, ChevronLeft, Sensors as SensorsIcon, Analytics as AnalyticsIcon, Search as SearchIcon, } from "@mui/icons-material"; import OptimizationParameters from "./MonitoringPlaceOptimization/OptimizationParameters"; import SchemeQuery from "./MonitoringPlaceOptimization/SchemeQuery"; interface SchemeRecord { id: number; schemeName: string; sensorNumber: number; minDiameter: number; user: string; create_time: string; sensorLocation?: string[]; } interface TabPanelProps { children?: React.ReactNode; index: number; value: number; } const TabPanel: React.FC = ({ children, value, index }) => { return ( ); }; interface MonitoringPlaceOptimizationPanelProps { open?: boolean; onToggle?: () => void; } const MonitoringPlaceOptimizationPanel: React.FC< MonitoringPlaceOptimizationPanelProps > = ({ open: controlledOpen, onToggle }) => { const [internalOpen, setInternalOpen] = useState(true); const [currentTab, setCurrentTab] = useState(0); // 持久化方案查询结果 const [schemes, setSchemes] = useState([]); // 使用受控或非受控状态 const isOpen = controlledOpen !== undefined ? controlledOpen : internalOpen; const handleToggle = () => { if (onToggle) { onToggle(); } else { setInternalOpen(!internalOpen); } }; const handleTabChange = (_event: React.SyntheticEvent, newValue: number) => { setCurrentTab(newValue); }; const drawerWidth = 520; return ( <> {/* 收起时的触发按钮 */} {!isOpen && ( 监测点优化 )} {/* 主面板 */} {/* 头部 */} 监测点优化 {/* Tabs 导航 */} } iconPosition="start" label="优化要件" /> } iconPosition="start" label="方案查询" /> {/* Tab 内容 */} { console.log("定位方案:", id); // TODO: 在地图上定位 }} /> ); }; export default MonitoringPlaceOptimizationPanel;