import React, { useState } from 'react'; import { OverallPromise } from '../../../../models/_/real'; import useRequest from '../../../../utils/useRequest'; import PanelBox from '../../components/PanelBox'; import OverallContent from './OverallContent'; import { makeStyles } from '@material-ui/core/styles'; import { Box, Typography, Checkbox, FormControlLabel, ButtonGroup, Button, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, IconButton, Collapse } from '@material-ui/core'; import AddIcon from '@material-ui/icons/Add'; import RemoveIcon from '@material-ui/icons/Remove'; const useStyles = makeStyles((theme) => ({ root: { color: '#fff', '& .MuiTypography-root': { color: '#fff' }, '& .MuiCheckbox-root': { color: '#fff', '&.Mui-checked': { color: '#409eff' } }, '& .MuiButtonGroup-root': { marginTop: theme.spacing(2), marginBottom: theme.spacing(3) } }, typeSection: { marginBottom: theme.spacing(2) }, timeButton: { color: '#fff', borderColor: 'rgba(255,255,255,0.3)', '&.MuiButton-contained': { backgroundColor: '#409eff', color: '#fff', '&:hover': { backgroundColor: '#409eff' } }, '&:hover': { backgroundColor: 'rgba(255,255,255,0.1)' } }, table: { '& .MuiTableCell-root': { color: '#fff', borderColor: 'rgba(255,255,255,0.1)' } }, expandButton: { color: '#fff' }, stationRow: { '&:nth-of-type(odd)': { backgroundColor: 'rgba(255,255,255,0.05)' }, '&:hover': { backgroundColor: 'rgba(255,255,255,0.1)' } }, expandedRow: { '&.pink': { backgroundColor: 'rgba(255,192,203,0.1)' }, '&.purple': { backgroundColor: 'rgba(147,112,219,0.1)' }, '&.blue': { backgroundColor: 'rgba(135,206,235,0.1)' }, '&.green': { backgroundColor: 'rgba(144,238,144,0.1)' } } })); export default function Overall({ style }) { const classes = useStyles(); const [types, setTypes] = useState({ mountain: true, water: true, weather: true, reservoir: true }); const [timeRange, setTimeRange] = useState('1h'); const [expanded, setExpanded] = useState({}); const handleTypeChange = (event) => { setTypes({ ...types, [event.target.name]: event.target.checked }); }; const stations = [ { id: 'history', name: '历史极值站点', count: 0, color: 'pink' }, { id: '100year', name: '100年一遇以上站点', count: 0, color: 'purple' }, { id: '50year', name: '50年一遇以上站点', count: 0, color: 'blue' }, { id: 'special', name: '特大暴雨站点', count: 0, color: 'blue' }, { id: 'heavy', name: '大暴雨站点', count: 0, color: 'blue' }, { id: 'storm', name: '暴雨站点', count: 0, color: 'green' } ]; const toggleExpand = (id) => { setExpanded(prev => ({ ...prev, [id]: !prev[id] })); }; return ( 类型: } label="山洪" /> } label="水文" /> } label="气象" /> } label="水库" />
最近时段: {[ { value: '1h', label: '1小时' }, { value: '3h', label: '3小时' }, { value: '6h', label: '6小时' }, { value: '12h', label: '12小时' }, { value: '24h', label: '24小时' } ].map((item) => ( ))}
站名 累计雨量(mm) 所属政区 所属流域 {stations.map((station) => ( toggleExpand(station.id)} > {expanded[station.id] ? : } {station.name}({station.count}) {/* 展开的详细内容可以在这里添加 */} {/* 站名 水位(m) 所属政区 所属流域 */} ))}
) }