index.js 2.35 KB
/*
 * @Author: Sakura
 * @LastEditors: Sakura
 * @Date: 2023-12-06 08:38:22
 * @FilePath: \ebc-mes\src\mes\productionExec\index.js
 * @Description: 生产执行
 */
import { useState } from "react";
import styles from "./index.less";
import ButtonComponent from "@/mes/common/buttonComponent";
import SiderInfoComponent from "@/mes/common/siderInfoComponent";
import RouterComponent from "@/routes/mes/routerComponent";
import FirstNoticeModal from "./noticeModal/index";
import RunningStatus from "@/mes/common/RunningStatus";
import QuickSwitchTabCommponent from "@/mes/productionExec/quickSwitchTabComponent";
import { Spin } from "antd";

const ProductionExec = props => {
  let [modal, setModal] = useState(false);

  const [modal2, setModal2] = useState(false);
  // const [loading, setPagesLoading] = useState(props.sModelType.includes('productionExec'));
  const [loading, setPagesLoading] = useState(false);

  const propsPuls = {
    ...props,
    setPagesLoading: () => {}
  };

  // 首件签样弹窗
  let obj = {
    ...props,
    openFirstNotice: ({ id, sName, name }) => {
      if (name == "首签样通知" || name?.trim() === 'First Approval Sample Notice') {
        setModal(true);
      }
    },
    openRunningStatus: ({ id, sName, name }) => {
      if (name == "异常事件提报") {
        setModal2(true);
      }
    }
  };

  let modalProps = {
    ...props,
    modalValue: modal,
    setModalShow: setModal
  };

  const modalProps2 = {
    ...props,
    setModalShow: setModal2
  };

  return (
    <div className="mesCommonLayout">
      <ButtonComponent {...obj} />
      <div className="sider-content" style={{ background: "#fff" }}>
        {/* <SiderInfoComponent {...props} /> */}
        {/* 表格主体 */}
        <div className={`mesContent ${styles.pagesBody}`}>
          <Spin
            wrapperClassName={styles.spinBox}
            spinning={loading}
            delay={200}
          >
            <ContentComponent {...propsPuls} />
          </Spin>
        </div>
      </div>

      <FirstNoticeModal {...modalProps} />

      {/* 组件测试弹窗 */}
      {modal2 && <RunningStatus {...modalProps2} />}
    </div>
  );
};

const ContentComponent = props => {
  return (
    <div className={styles.productionExec}>
      <RouterComponent {...props} />
      <QuickSwitchTabCommponent {...props} />
    </div>
  );
};

export default ProductionExec;