"use client"; import React, { useState } from "react"; import { Box, Drawer, Tabs, Tab, Typography, IconButton, Tooltip, } from "@mui/material"; import { ChevronRight, ChevronLeft, Analytics as AnalyticsIcon, Search as SearchIcon, } from "@mui/icons-material"; import { MdCleaningServices } from "react-icons/md"; import AnalysisParameters from "./AnalysisParameters"; import SchemeQuery from "./SchemeQuery"; interface TabPanelProps { children?: React.ReactNode; index: number; value: number; } const TabPanel: React.FC = ({ children, value, index }) => { return ( ); }; interface FlushingAnalysisPanelProps { open?: boolean; onToggle?: () => void; } const FlushingAnalysisPanel: React.FC = ({ open: controlledOpen, onToggle, }) => { const [internalOpen, setInternalOpen] = useState(true); const [currentTab, setCurrentTab] = useState(0); // Using controlled or uncontrolled state 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 = 450; // Slightly narrower than burst analysis as we have fewer tabs const panelTitle = "管道冲洗分析"; return ( <> {/* Toggle Button when closed */} {!isOpen && ( {panelTitle} )} {/* Main Panel */} {/* Header */} {panelTitle} } iconPosition="start" label="分析参数" /> } iconPosition="start" label="方案查询" /> {/* Tab Content */} ); }; export default FlushingAnalysisPanel;