import { post } from '@/services/ajax'; import { Area, Line } from '@ant-design/charts'; import { BarChartOutlined, CommentOutlined, TeamOutlined } from '@ant-design/icons'; import { PageContainer } from '@ant-design/pro-components'; import { Spin } from 'antd'; import React, { useEffect, useState } from 'react'; import { DataItemCard } from './components/DataItemCard'; import { DataSumItemCard } from './components/DataSumItemCard'; import styles from './index.module.scss'; type ICustChartItem = { name: string; num: number; time: string; }; type IData = { overView: { custs_total: number; groups_members_total: number; groups_total: number; }; custsInfo: { month_custs: number; today_custs: number; today_loss: number; today_net_growth: number; }; groupsInfo: { today_diss_groups: number; today_diss_groups_members: number; today_groups: number; today_groups_members: number; }; custsChart: ICustChartItem[]; groupsChart: ICustChartItem[]; }; const Workbench: React.FC = () => { const [data, setData] = useState({ overView: { custs_total: 0, groups_members_total: 0, groups_total: 0, }, custsInfo: { month_custs: 0, today_custs: 0, today_loss: 0, today_net_growth: 0, }, groupsInfo: { today_diss_groups: 0, today_diss_groups_members: 0, today_groups: 0, today_groups_members: 0, }, custsChart: [], groupsChart: [], }); const [loading, setLoading] = useState(false); const getWorkBenchInfo = () => { setLoading(true); post({ url: '/WorkBench/Info' }).then((res) => { setLoading(false); if (res.err_code == 0) { if (res.over_view) { data.overView = res.over_view; } if (res.groups_info) { data.groupsInfo = res.groups_info; } if (res.custs_info) { data.custsInfo = res.custs_info; } if (Array.isArray(res.custs_chart)) { data.custsChart = res.custs_chart; } if (Array.isArray(res.groups_chart)) { data.groupsChart = res.groups_chart; } setData({ ...data }); } }); }; useEffect(() => { getWorkBenchInfo(); }, []); return (
数据总览 {/* 更新时间:2022-12-12 23:30:30 */}
} count={data.overView.custs_total} /> } count={data.overView.groups_total} /> } count={data.overView.groups_members_total} />
客户数据
{/* */} {/* */} {/* */}
`${(v / 10e8).toFixed(1)} B`, // }, // },} legend={{ position: 'top', }} smooth={true} // @TODO 后续会换一种动画方式 animation={{ appear: { animation: 'path-in', duration: 3000, }, }} />
客群数据
); }; export default Workbench;