import React, { useState, useEffect } from 'react'; import { useSelector } from 'react-redux'; import { Progress, Modal, Button } from 'antd'; import { RootState } from '../../../states/store'; const AcquisitionTracer: React.FC = () => { const acquisitionState = useSelector( (state: RootState) => state.generatorMonitor.acquisitionState ); const errorMessage = useSelector( (state: RootState) => state.generatorMonitor.errorMessage ); const [isModalOpen, setIsModalOpen] = useState(false); useEffect(() => { if (acquisitionState === 1 || acquisitionState === 3) { setIsModalOpen(true); } else { setIsModalOpen(false); } }, [acquisitionState]); const renderProgressBar = () => { switch (acquisitionState) { case 1: return ; case 2: return ; case 3: return (

{errorMessage || '采集失败,请检查设备或重试。'}

); default: return null; } }; return ( setIsModalOpen(false)}>确定] : null} centered style={{ top: 20 }} >
{renderProgressBar()}
); }; export default AcquisitionTracer;