MesToolbar.js 2 KB
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();
  if (btnName === 'btnadd') {
    handleAdd(props);
  } else if (btnName === 'btnsave') {
    handleSave(props);
  } else if (btnName === 'btnupd') {
    props.onSaveState({ enabled: true });
  }


  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) => {
    result = [...result, ...item.children];
    return result;
  }, []);

  const menu = menuList.find(item => item.sId === sActiveId);
  if (!menu) {
    message.error('弹窗界面不在MES菜单中');
    return;
  }

  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: () => {
      props.onSaveState({
        currentId: props.masterData.sId, enabled: false
      });
    }
  });
}

export default ToolbarFun;