import React, { useEffect, useRef, useState } from "react"; import { Modal } from "antd"; import Draggable from "react-draggable"; 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 [data, setData] = useState([]); useEffect( () => { if (ModalVisible) { setData(pre => [{ ...(props.viewRow || {}) }, ...(pre || [])].slice(0, 30) ); } }, [JSON.stringify(props.viewRow), ModalVisible] ); const timer = useRef(null); useEffect( () => { if (numNew === 0) return; if (num === numNew) return; 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 (