import React, { useState } from 'react'; import { Button, Form, Select, Card, Typography, DatePicker } from 'antd'; import { useQuery, } from '@tanstack/react-query'; import dayjs from 'dayjs'; import { Column} from "@ant-design/plots"; import 'dayjs/locale/zh-cn'; import { MonitorChartsAPI } from './api/index.ts'; // 在线设备数量图表页面 export const OnlineDevicesChartPage = () => { const [timeRange, setTimeRange] = useState<[dayjs.Dayjs, dayjs.Dayjs]>([ dayjs().subtract(7, 'day'), dayjs() ]); const [dimension, setDimension] = useState<'hour' | 'day' | 'month'>('day'); const { data: onlineRateData, isLoading, refetch } = useQuery({ queryKey: ['adminZichanOnlineRate', timeRange, dimension], queryFn: async () => { const params = { created_at_gte: timeRange[0].format('YYYY-MM-DD HH:mm:ss'), created_at_lte: timeRange[1].format('YYYY-MM-DD HH:mm:ss'), dimension }; // const res = await axios.get(`${API_BASE_URL}/big/zichan_online_rate_chart`, { params }); const res = await MonitorChartsAPI.fetchOnlineRateData(params); return res; } }); const { Title } = Typography; const { RangePicker } = DatePicker; const handleSearch = () => { refetch(); }; return (
在线设备数量变化
dates && setTimeRange(dates as [dayjs.Dayjs, dayjs.Dayjs])} />