|
@@ -1,6 +1,6 @@
|
|
|
-import React from 'react';
|
|
|
|
|
|
|
+import React, { useState, useEffect } from 'react';
|
|
|
import { useSelector } from 'react-redux';
|
|
import { useSelector } from 'react-redux';
|
|
|
-import { Progress, Modal } from 'antd';
|
|
|
|
|
|
|
+import { Progress, Modal, Button } from 'antd';
|
|
|
import { RootState } from '../../../states/store';
|
|
import { RootState } from '../../../states/store';
|
|
|
|
|
|
|
|
const AcquisitionTracer: React.FC = () => {
|
|
const AcquisitionTracer: React.FC = () => {
|
|
@@ -8,6 +8,16 @@ const AcquisitionTracer: React.FC = () => {
|
|
|
(state: RootState) => state.generatorMonitor.acquisitionState
|
|
(state: RootState) => state.generatorMonitor.acquisitionState
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
|
|
+ const [isModalOpen, setIsModalOpen] = useState(false);
|
|
|
|
|
+
|
|
|
|
|
+ useEffect(() => {
|
|
|
|
|
+ if (acquisitionState === 1 || acquisitionState === 3) {
|
|
|
|
|
+ setIsModalOpen(true);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ setIsModalOpen(false);
|
|
|
|
|
+ }
|
|
|
|
|
+ }, [acquisitionState]);
|
|
|
|
|
+
|
|
|
const renderProgressBar = () => {
|
|
const renderProgressBar = () => {
|
|
|
switch (acquisitionState) {
|
|
switch (acquisitionState) {
|
|
|
case 1:
|
|
case 1:
|
|
@@ -15,7 +25,12 @@ const AcquisitionTracer: React.FC = () => {
|
|
|
case 2:
|
|
case 2:
|
|
|
return <Progress percent={100} status="success" />;
|
|
return <Progress percent={100} status="success" />;
|
|
|
case 3:
|
|
case 3:
|
|
|
- return <Progress percent={100} status="exception" />;
|
|
|
|
|
|
|
+ return (
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <Progress percent={100} status="exception" />
|
|
|
|
|
+ <p style={{ marginTop: 10 }}>采集失败,请检查设备或重试。</p>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ );
|
|
|
default:
|
|
default:
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
@@ -24,8 +39,8 @@ const AcquisitionTracer: React.FC = () => {
|
|
|
return (
|
|
return (
|
|
|
<Modal
|
|
<Modal
|
|
|
title="Acquisition Tracer"
|
|
title="Acquisition Tracer"
|
|
|
- open={acquisitionState === 1}
|
|
|
|
|
- footer={null}
|
|
|
|
|
|
|
+ open={isModalOpen}
|
|
|
|
|
+ footer={acquisitionState === 3 ? [<Button key="ok" onClick={() => setIsModalOpen(false)}>确定</Button>] : null}
|
|
|
centered
|
|
centered
|
|
|
style={{ top: 20 }}
|
|
style={{ top: 20 }}
|
|
|
>
|
|
>
|