MesToolbar.js 4 KB
/* eslint-disable */
import { message } from "antd";
import * as commonUtils from "@/utils/utils";

const ToolbarFun = (props) => {
  const { btnConfig, bMesBill } = props;
  const currentMesPane = commonUtils.getAppData("currentMesPane");
  const { sModelType } = currentMesPane;
  if (!["/indexPage/commonList", "/indexPage/commonBill"].includes(sModelType) && !bMesBill) {
    return false;
  }

  const { sControlName } = btnConfig;
  const btnName = sControlName.replace('BtnLeft.', '').replace('BtnRight.', '').toLowerCase();
  console.log("🚀 ~ ToolbarFun ~ btnName:", btnName)

  if (btnName === 'btnadd') {
    handleAdd(props);
  } else if (btnName === 'btnsave') {
    handleSave(props);
  } else if (btnName === 'btnupd') {
    props.onSaveState({ enabled: true });
  } else if (btnName === 'btnscanface') {
    handleScanFace(props);
  } else if (btnName === 'btncancel') {
    props.onCancel()
  } else if (btnName === 'btndel') {
    console.log(props,'jijijji');
    
  }


  return true;
}

// 新增
const handleAdd = (props) => {
  const { slaveConfig } = props;
  const picArrConfig = slaveConfig.gdsconfigformslave.find(item => item.sName === 'picArr');
  if (!picArrConfig) {
    message.error('请先配置picArr字段');
    return;
  }

  const { sActiveId } = picArrConfig;
  if (!sActiveId) {
    message.error('请先配置弹窗界面');
  }

  const { app } = props;
  const { managementData } = app;
  // const menuList = managementData.reduce((result, item) => {
  //   // ✅ 安全展开:确保children是数组,否则使用空数组
  //   result = [...result, ...(Array.isArray(item?.children) ? item.children : [])];
  //   return result;
  // }, []);

  // const menu = menuList.find(item => item.sId === sActiveId);
  // if (!menu) {
  //   message.error('弹窗界面不在MES菜单中');
  //   return;
  // }
  props.onOpenCommonModal({
    type: "commonModal",
    sActiveId,
    title: props?.btnConfig?.showName,
    parentProps: props,
    onOk: data => {
      window.debugger && console.log("=====onOk", data);
    },
    onCancel: () => {
      window.debugger && console.log("=====onCancel");
    }
  });
  // app.globalFun.onChangeRouter({
  //   type: "id",
  //   path: [menu.sParentId, menu.sId],
  //   sModelType: menu.sName,
  //   // sParentConditions,
  //   copyTo: {
  //     master: { maxBillNo: 'sBillNo' }
  //   }
  // });
}

// 保存
const handleSave = (props) => {
  props.onExecInstructSet({
    btnConfig: {
      showName: "保存",
      sInstruct: JSON.stringify([
        {
          opr: "save",
        },
        {
          opr: "refresh",
        },
      ])
    },
    inscallback: () => {
      console.log(1111, 'footer');

      props.onSaveState({
        currentId: props.masterData.sId, enabled: false
      });
    }
  });
}

// 人脸数据采集
const handleScanFace = (props) => {
  const { btnConfig } = props;
  const { sButtonParam: sButtonParamStr } = btnConfig;
  const sButtonParam = commonUtils.convertStrToObj(sButtonParamStr);
  const { addData } = sButtonParam;

  props.onExecInstructSet({
    btnConfig: {
      showName: "保存",
      sInstruct: JSON.stringify([
        {
          opr: "faceauth",
          newDataset: "face"
        },
      ])
    },
    inscallback: (result) => {
      const { faceData = [] } = result;
      props.onProcedureCall({
        btnConfig,
        faceData: { sFaceParentId: faceData[0].sParentId, sFaceEmployeeNo: faceData[0].sEmployeeNo },
        onSuccess: (_, dataset) => {
          const { proData = [] } = dataset.rows[0].dataSet;
          const { [`${addData}Data`]: tableData = [] } = props;
          proData.forEach(item => {
            tableData.push({
              ...item,
              sId: commonUtils.createSid(),
              handleType: "add",
              sParentId: props.masterData.sId,
            })
          });
          props.onSaveState({
            [`${addData}Data`]: tableData
          });
        },
        onConfirm: () => { },
        onError: () => { }
      });
    },
  });


}

export default ToolbarFun;