import { querySimulationProfit } from '@/services/SmartOps'; import { useRequest } from '@umijs/max'; import dayjs from 'dayjs'; import * as echarts from 'echarts'; import { useEffect, useRef } from 'react'; const SimulatePie = (props) => { const { projectId } = props; const domRef = useRef(null); const chartRef = useRef(null); const { data } = useRequest(querySimulationProfit, { defaultParams: [ { project_id: projectId, s_time: dayjs().subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'), e_time: dayjs().format('YYYY-MM-DD HH:mm:ss'), }, ], onSuccess(data) { console.log(data); let options = getOption(data); // chartRef.current.clear(); chartRef.current.setOption(options); }, }); const getProfit = () => { if (!data?.info) return '-'; return Object.values(data.info).reduce( (total, currentValue) => total + currentValue, 0, ); }; useEffect(() => { chartRef.current = echarts.init(domRef.current); // 在组件卸载时销毁图表实例 return () => { chartRef.current.dispose(); }; }, []); return (