/* eslint-disable */ import { message } from "antd"; import * as commonUtils from "@/utils/utils"; import * as commonFunc from "@/components/Common/commonFunc"; const ToolbarFun = async (props) => { const { btnConfig, bMesBill } = props; const currentMesPane = commonUtils.getAppData("currentMesPane"); const { sModelType = '' } = currentMesPane; const { sControlName } = btnConfig; const btnName = sControlName.replace('BtnLeft.', '').replace('BtnRight.', '').toLowerCase(); if ((btnName.includes('btnscanface')) && !bMesBill) { handleScanFace(props); return true } else 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.includes('btnscanface')) { handleScanFace(props); } else if (btnName === 'btncancel') { props.onCancel() } else if (btnName === 'btndel') { props.onDel(props) } else if (btnName.includes('btnexamine')) { let flag = 0; let interfaceArr = btnConfig.interface; if (commonUtils.isNotEmptyArr(interfaceArr)) { const beforeInterfaceArr = interfaceArr.filter(item => item.sInterfaceCallMethod === "1"); const afterInterfaceArr = interfaceArr.filter(item => item.sInterfaceCallMethod === "2"); if (commonUtils.isNotEmptyArr(beforeInterfaceArr)) { /* 之前调用 */ const asyncFunc = async () => { for (let i = 0; i < beforeInterfaceArr.length; i++) { const data = await handleInterfaceCall(beforeInterfaceArr[i]); if (!data) { flag += 1; return; } } }; await asyncFunc(); } let result; if (flag == 0) { result = await props.onBtnExamine(); } else { props.onSaveState({ loading: false, }); } if (commonUtils.isNotEmptyArr(afterInterfaceArr)) { /* 之后调用 */ // const result = await this.props.onBtnExamine(); if (result) { /* 只有审核成功 才能调用接口 -5代表审核失败 */ const asyncFunc = async () => { for (let i = 0; i < afterInterfaceArr.length; i++) { await handleInterfaceCall(afterInterfaceArr[i], true); } }; await asyncFunc(); } } } else { props.onBtnExamine(); } } 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: () => { 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 = [], [`${addData}Config`]: config = {} } = props; const copyConfig = config?.gdsconfigformslave?.find(item => item.sControlName.toLowerCase().includes('btnscanface')) proData.forEach(item => { const data = commonFunc.getAssignFieldValue(copyConfig?.sAssignField, item) tableData.push({ ...item, ...data, sId: commonUtils.createSid(), handleType: "add", sParentId: props.masterData.sId, slaveId: props?.slaveData ? props?.slaveData[0].sId : '' }) }); props.onSaveState({ [`${addData}Data`]: tableData }); }, onConfirm: () => { }, onError: () => { } }); }, }); } export default ToolbarFun;