From c21d2eb316ec92a8fb80b4ca1383adbdc06c4595 Mon Sep 17 00:00:00 2001 From: chenxt <10125295+chen-xintao97@user.noreply.gitee.com> Date: Mon, 22 Dec 2025 16:05:36 +0800 Subject: [PATCH] 审核 --- src/components/Common/CommonHooks/useCommonBase.js | 181 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- src/mes/common/commonOperationBarComponent/MesToolbar.js | 90 ++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------- 2 files changed, 224 insertions(+), 47 deletions(-) diff --git a/src/components/Common/CommonHooks/useCommonBase.js b/src/components/Common/CommonHooks/useCommonBase.js index 16970a9..16e23e2 100644 --- a/src/components/Common/CommonHooks/useCommonBase.js +++ b/src/components/Common/CommonHooks/useCommonBase.js @@ -3438,6 +3438,184 @@ const useCommonBase = props => { const handleDelDataSuccess = (props) => { }; + /** toolbar审核(消审) */ + const handleAudit = async (flag) => { + /* 待用数据声明 */ + let bResult = true; + const { masterData, gdsformconst } = props; + if (!commonUtils.isEmpty(masterData)) { + /* 作废订单不能审核 */ + if (masterData.bInvalid) { + message.warning(commonFunc.showMessage(app.commonConst, 'sToVoid')); + handleSaveState({ + loading: false, + }); + return ''; + } + /** 数据审核 */ + bResult = await dataAudit(flag); + } else { + handleSaveState({ + loading: false, + }); + } + return bResult; + }; + /** 数据审核 */ + const dataAudit = async (flag, tmpCheck, isWait) => { + console.log("🚀 ~ dataAudit ~ flag:", flag) + message.destroy(); + /* 待用数据声明 */ + const { + sModelsId, masterData, app, masterConfig, slaveConfig, checkConfig, token, sModelsType, controlConfig, materialsConfig, processConfig, colorConfig, packConfig, slaveData, orderDetailConfig, + } = props; + const FriendlyReminder = commonFunc.showLocalMessage(props, 'FriendlyReminder', '温馨提示'); + const sSlaveIdArray = []; + if (commonUtils.isNotEmptyArr(slaveData)) { + slaveData.forEach((item) => { + sSlaveIdArray.push(commonUtils.isNotEmptyObject(item.sId) ? item.sId : item.sSlaveId); + }); + } + const slaveId = sSlaveIdArray.toString(); + /* 数据参数 */ + const value = { + sClientType: '1', + paramsMap: { + iFlag: flag, + iTmpCheck: commonUtils.isEmptyNumber(tmpCheck) ? 0 : tmpCheck, + sFormGuid: sModelsId, + sGuid: masterData.sId, + sSlaveId: slaveId, + sBillNo: commonUtils.isNotEmptyObject(masterData.sBillNo) ? masterData.sBillNo : '', + }, + }; + let clearFlag = false; + if (sModelsType.includes('sales/salesOrder') || sModelsType.includes('manufacture/workOrder')) { + if (commonUtils.isNotEmptyArr(slaveData)) { + for (const item of slaveData) { + if (commonUtils.isNotEmptyStr(item.sProductInfo)) { + clearFlag = true; + break; + } + } + } else { + handleSaveState({ + loading: false, + }); + return; + } + } + /* 数据审核 */ + const url = `${commonConfig.server_host}business/doExamine?sModelsId=${sModelsId}`; + const returnData = (await commonServices.postValueService(app.token, value, url)).data; + if (isWait) { + return returnData; + } else { + /* 接收返回值 */ + const check = commonFunc.showMessage(app.commonConst, 'BtnExamine');/* 审核 */ + const BtnCancelExamine = commonFunc.showMessage(app.commonConst, 'BtnCancelExamine');/* 销审 */ + if (returnData.code === 1) { /* 成功 */ + handleSaveState({ + loading: false, + }); + if (flag === 1) { + /* 审核 */ + if (clearFlag && (sModelsType.includes('sales/salesOrder') || sModelsType.includes('manufacture/workOrder'))) { + commonUtils.setStoreDropDownData(sModelsId, 'master', 'sProductId', []); + commonUtils.setStoreDropDownData(sModelsId, 'master', 'sProductNo', []); + commonUtils.setStoreDropDownData(sModelsId, 'master', 'sProductName', []); + } + let outData; + if (commonUtils.isNotEmptyObject(returnData.dataset)) { + outData = returnData.dataset.rows[0].dataSet.outData; + } + if (false && commonUtils.isNotEmptyStr(outData[0].sReturn)) { + const sReturnArray = outData[0].sReturn.split('|'); + if (outData[0].sReturn.split('-').length < 2) { + // 正常业务提示,非审核模板 + // if (this.props.app.currentPane.refresh !== undefined) { + // this.props.app.currentPane.refresh(); + // } + message.error(check + outData[0].sReturn); + return; + } + const checkConditions = []; + let checkPersonData = {}; + sReturnArray.forEach((item) => { + const checkCondition = item.split('-')[2]; + const iIndex = checkConditions.findIndex(itemCondition => itemCondition.condition === checkCondition); + if (iIndex <= -1) { + checkConditions.push({ + key: commonUtils.createSid(), + condition: checkCondition, + }); + } + }); + const sCheckModelId = sReturnArray[0].split('-')[1]; + if (commonUtils.isNotEmptyStr(sCheckModelId)) { + const urlCheck = `${commonConfig.server_host}checkModel/getUserListByModelId/${sCheckModelId}?sModelsId=${sModelsId}`; + const dataReturn = (await commonServices.getService(token, urlCheck)).data; + if (dataReturn.code === 1) { + checkPersonData = dataReturn.dataset.rows; + checkPersonData.forEach((item) => { + item.key = commonUtils.createSid(); + }); + this.props.onSaveState({ + checkConditions, checkPersonData, sCheckModelId, visible: true, + }); + return true; + } else { /* 失败 */ + this.props.getServiceError({ msg: check + dataReturn }); + } + } + } else { + message.success(check + returnData.msg); + } + } else { + /* 消审 */ + const { outData } = returnData.dataset.rows[0].dataSet; + if (commonUtils.isNotEmptyStr(outData[0].sReturn)) { + message.error(outData[0].sReturn); + } else { + // if (this.props.app.currentPane.refresh !== undefined) { + // this.props.app.currentPane.refresh(); + // } + message.success(BtnCancelExamine + returnData.msg); + } + } + await handleGetData(masterConfig, slaveConfig, checkConfig); + if ((sModelsType.includes('sales/salesOrder') || sModelsType.includes('manufacture/workOrder')) && !commonUtils.isEmpty(controlConfig)) { + await handleGetMemoData(controlConfig, materialsConfig, processConfig, colorConfig, packConfig); + } else if (commonUtils.isNotEmptyObject(orderDetailConfig)) { + await handleGetOneMemoData('orderDetail', orderDetailConfig); + } + // if (props.app.currentPane.refresh !== undefined) { + // this.props.app.currentPane.refresh(); + // } + } else if (returnData.code === -8) { + Modal.info({ + title: FriendlyReminder, + content: ( +
+ {handleGetMsg(returnData.msg)} +
+ ), + onOk() { }, + }); + handleSaveState({ + loading: false, + }); + return false; + } else { /* 失败 */ + props.getServiceError(returnData); + handleSaveState({ + loading: false, + }); + return false; + } + return true; + } + }; const returnProps = { ...props, @@ -3471,7 +3649,8 @@ const useCommonBase = props => { awaitPromiseReturn: awaitPromiseReturn, onSelectCommonPopup: handleSelectCommonPopup, onDropDownBlur: handleTableBlur, - onDel: handleDel // 删除 + onDel: handleDel, // 删除 + onBtnExamine: handleAudit, }; // 切换页面时,加载角标数据 diff --git a/src/mes/common/commonOperationBarComponent/MesToolbar.js b/src/mes/common/commonOperationBarComponent/MesToolbar.js index 890d393..40c259d 100644 --- a/src/mes/common/commonOperationBarComponent/MesToolbar.js +++ b/src/mes/common/commonOperationBarComponent/MesToolbar.js @@ -31,52 +31,50 @@ const ToolbarFun = async (props) => { props.onDel(props) } else if (btnName.includes('btnexamine')) { let flag = 0; - console.log(props, 'asdasdadsww'); - - // let interfaceArr = config.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(); - // } + 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(); + } } -- libgit2 0.22.2