import { PageContainer } from '@ant-design/pro-components'; import { Button, Card, Col, DatePicker, Form, Row, Space } from 'antd'; import React, { useEffect, useRef, useState } from 'react'; import styles from './Welcome.less'; import { getStatisticData } from '@/services/statistic'; import bookSum from '../../public/assets/book-sum.png'; import totalOnlineNum from '../../public/icons/total_online_num.png'; import activation1 from '../../public/icons/activation_1.png'; import activation2 from '../../public/icons/activation_2.png'; import online1 from '../../public/icons/online_1.png'; import online2 from '../../public/icons/online_2.png'; import { ReloadOutlined, SearchOutlined } from '@ant-design/icons'; import moment from 'moment/moment'; import * as echarts from 'echarts'; const { RangePicker } = DatePicker; /** * 首页 * @constructor */ const Welcome: React.FC = () => { const [form] = Form.useForm(); const [data, setData] = useState(null); const [searchData, setSearchData] = useState({}); const chartRef: any = useRef(); // 获取数据 const getList = () => { const params = { ...searchData, }; getStatisticData(params).then((res) => { if (res && res.code === 0) { setData(res.data); const chart = echarts.init(chartRef.current); const region = JSON.parse(res.data.region); const newData = Object.entries(region).map(([name, value]) => ({ value, name })); console.log(newData); const options = { tooltip: { trigger: 'item', }, legend: { orient: 'vertical', left: 'left', }, series: [ { type: 'pie', radius: '50%', data: newData, emphasis: { itemStyle: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)', }, }, }, ], }; // 设置图表实例的配置项和数据 chart.setOption(options); } }); }; // 初始化 useEffect(() => { getList(); }, []); useEffect(() => { getList(); }, [searchData]); // 搜索 const onFinish = () => { const params: any = {}; form.validateFields().then((res) => { if (res.time) { params.time_start = moment(res.time[0]).format('YYYY-MM-DD'); params.time_end = moment(res.time[1]).format('YYYY-MM-DD'); } setSearchData(params); }); }; // 重置 const onReset = () => { form.resetFields(); setSearchData(null); }; return (
总数
{data?.total}
{data?.online}
总在线数
{data?.wuheng_online} 五恒在线数
{data?.wuheng} 激活五恒数
{data?.ffx_online} 分风箱在线数
{data?.ffx} 激活分风箱数
); }; export default Welcome;