import React, { useEffect, useRef, useState } from "react"; import { Modal } from "antd"; import Draggable from "react-draggable"; import * as commonUtils from "@/utils/utils"; import styles from "./index.less"; const ClockComponent = ({ num: numNew = 0, ...props }) => { const [num, setNum] = useState(0); const [bMove, setMove] = useState(false); const [ModalVisible, setModalVisible] = useState(false); const [disabled, setDisabled] = useState(true); const [bounds, setBounds] = useState({ left: 0, top: 0, bottom: 0, right: 0 }); const draggleRef = useRef(null); const [freshCount, setFreshCount] = useState(0); const [data, setData] = useState([]); useEffect( () => { if (ModalVisible) { const changeExecInfoNew = commonUtils.getAppData("changeExecInfo"); const deviceTargetInfoDataPart = [ { ...(props.deviceTargetInfoData?.[0] || {}), ...changeExecInfoNew }, ...(data || []) ].slice(0, 30); // 弹框展示内容 setData(deviceTargetInfoDataPart); } }, [props.deviceTargetInfoData, freshCount, ModalVisible] ); const timer = useRef(null); useEffect( () => { if (numNew === 0) return; if (num === numNew) return; setFreshCount(pre => pre + 1); if (num === 0 && numNew > 0) { setNum(numNew); return; } setNum(numNew); setMove(true); clearTimeout(timer.current); timer.current = setTimeout(() => { setMove(false); }, 5000); }, [numNew] ); if (numNew === 0) return ""; const openModal = () => { if (["dProcessQty", "dTrayQty"].includes(props.sName)) setModalVisible(true); }; const closeModal = () => { setModalVisible(false); }; const content = () => { const noShowWord = ['dProcessfeesendQty', 'dMaterialAdjustEndQty', 'dTransfermAdjustQty', 'dMaterialEndQty', 'dTransfermQty', 'dOeeQty', 'dProductMeterQty', 'dProductPieceQty']; const translate = name => ({ sTime: "时间" }[name] || name); const itemInfo = item => { const key = Object.keys(item).filter( i => i?.endsWith("Qty") && !noShowWord.includes(i) ); key.unshift("sTime", "sStatusName"); return (