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 }); } else if (btnName === 'btnscanface') { handleScanFace(props); } 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 }); } }); } // 人脸数据采集 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;