微信咨询

微信咨询

13610*910*9

服务热线 7*24小时

电话咨询

明道云AI字段,当前时间和指定时间的比较,进行状态变更

iamdu2025-08-28 15:02:38 浏览: 304
// <free_field_name>超时状态按钮组件</free_field_name>
// <file_name>TimeoutStatusButton_v3.jsx</file_name>
function TimeoutStatusButton({ value, currentControl, formData, onChange }) {
  const endPointControlId = "68ad0b68e924d7e675f695c2"; // 时效结束点的 controlId
  const endPointValue = formData[endPointControlId]?.value; // 获取时效结束点的值
  const currentTime = new Date(); // 获取当前时间

  // 判断当前时间是否晚于结束时间
  const isOverdue = currentTime > new Date(endPointValue);
  
  // 根据状态设置按钮文本和样式
  const buttonText = isOverdue ? '超时' : '正常';
  const buttonClass = isOverdue ? 'bg-red-500 text-white' : 'bg-green-500 text-white';

  // 使用 useEffect 来监测 isOverdue 的变化
  useEffect(() => {
    if (value !== buttonText) { // 只有在状态变化时才调用 onChange
      onChange(buttonText);
    }
  }, [isOverdue, onChange, buttonText, value]);

  return (
    <button style={{borderRadius: '20px',fontSize:'12px'}} className={`h-9 px-4 rounded-md ${buttonClass}`}>
      {buttonText}
    </button>
  );
}