import * as commonUtils from "@/utils/utils"; import * as commonConfig from '@/utils/config'; import { postValueService, } from '../../../../services/services'; const handleOeeBtnEent = async ({ props, item }) => { const { masterData = {} } = props; const { config = {} } = item; const { sButtonParam } = config; let btn; try { if (!sButtonParam) return; btn = JSON.parse(sButtonParam); } catch (error) { return; } const sProName = btn.sproName; const inParams = []; const { inMap } = btn; const inlist = inMap.split(','); const masterArr = []; const slaveArr = []; if (inlist.length > 0) { inlist.forEach((item) => { const itemArr = item.split('.'); if (itemArr.length > 0) { const sname = itemArr[0]; const stype = itemArr[1]; if (commonUtils.isNotEmptyStr(sname) && sname === 'master') { masterArr.push(stype); } if (commonUtils.isNotEmptyStr(sname) && sname === 'slave') { slaveArr.push(stype); } } }); if (commonUtils.isNotEmptyArr(masterArr) && commonUtils.isNotEmptyObject(masterData)) { const addState = {}; addState.key = 'master'; const val = []; const currVal = {}; masterArr.forEach((filed) => { currVal[`${filed}`] = masterData[`${filed}`]; }); val.push(currVal); addState.value = val; inParams.push({ ...addState }); } if (commonUtils.isNotEmptyArr(slaveArr)) { const addState = handleProParams('slave', slaveArr, props, item); if (commonUtils.isNotEmptyObject(addState)) { inParams.push({ ...addState }); } } } /* OEE模块调用OEE自定义按钮存储过程 */ await handleOEEProcedureCall(config, sProName, JSON.stringify({ params: inParams }), {...props}); }; const handleOEEProcedureCall = async (btnConfig, proName, proInParam, props) => { const { app, sModelsId } = props; const value = { sProName: proName, paramsMap: { sMachineId: app.sMachineNameSId, sProInParam: proInParam, }, }; const url = `${commonConfig.server_host}business/getProData?sModelsId=${sModelsId}`; const returnData = (await postValueService(app.token, value, url)).data; if (returnData.code !== 1) { props.getServiceError(returnData); return; } }; // 根据配置解析拼接具体参数 const handleProParams = (sKey, arr, props, item) => { const {tableData, record = {} } = item; const { sId, sSlaveId } = record; const keyData = commonUtils.isNotEmptyArr(tableData) ? tableData.filter(item => sId.includes(item.sId) || sSlaveId.includes(item.sSlaveId)) : []; if (commonUtils.isNotEmptyArr(keyData)) { const addState = {}; addState.key = sKey; const val = []; keyData.forEach((currData) => { const currVal = {}; arr.forEach((filed) => { currVal[`${filed}`] = currData[`${filed}`]; }); val.push(currVal); }); addState.value = val; return addState; } else { return undefined; } }; export { handleOeeBtnEent, }