Commit c21d2eb316ec92a8fb80b4ca1383adbdc06c4595
1 parent
2aa81ad3
审核
Showing
2 changed files
with
224 additions
and
47 deletions
src/components/Common/CommonHooks/useCommonBase.js
| ... | ... | @@ -3438,6 +3438,184 @@ const useCommonBase = props => { |
| 3438 | 3438 | const handleDelDataSuccess = (props) => { |
| 3439 | 3439 | |
| 3440 | 3440 | }; |
| 3441 | + /** toolbar审核(消审) */ | |
| 3442 | + const handleAudit = async (flag) => { | |
| 3443 | + /* 待用数据声明 */ | |
| 3444 | + let bResult = true; | |
| 3445 | + const { masterData, gdsformconst } = props; | |
| 3446 | + if (!commonUtils.isEmpty(masterData)) { | |
| 3447 | + /* 作废订单不能审核 */ | |
| 3448 | + if (masterData.bInvalid) { | |
| 3449 | + message.warning(commonFunc.showMessage(app.commonConst, 'sToVoid')); | |
| 3450 | + handleSaveState({ | |
| 3451 | + loading: false, | |
| 3452 | + }); | |
| 3453 | + return ''; | |
| 3454 | + } | |
| 3455 | + /** 数据审核 */ | |
| 3456 | + bResult = await dataAudit(flag); | |
| 3457 | + } else { | |
| 3458 | + handleSaveState({ | |
| 3459 | + loading: false, | |
| 3460 | + }); | |
| 3461 | + } | |
| 3462 | + return bResult; | |
| 3463 | + }; | |
| 3464 | + /** 数据审核 */ | |
| 3465 | + const dataAudit = async (flag, tmpCheck, isWait) => { | |
| 3466 | + console.log("🚀 ~ dataAudit ~ flag:", flag) | |
| 3467 | + message.destroy(); | |
| 3468 | + /* 待用数据声明 */ | |
| 3469 | + const { | |
| 3470 | + sModelsId, masterData, app, masterConfig, slaveConfig, checkConfig, token, sModelsType, controlConfig, materialsConfig, processConfig, colorConfig, packConfig, slaveData, orderDetailConfig, | |
| 3471 | + } = props; | |
| 3472 | + const FriendlyReminder = commonFunc.showLocalMessage(props, 'FriendlyReminder', '温馨提示'); | |
| 3473 | + const sSlaveIdArray = []; | |
| 3474 | + if (commonUtils.isNotEmptyArr(slaveData)) { | |
| 3475 | + slaveData.forEach((item) => { | |
| 3476 | + sSlaveIdArray.push(commonUtils.isNotEmptyObject(item.sId) ? item.sId : item.sSlaveId); | |
| 3477 | + }); | |
| 3478 | + } | |
| 3479 | + const slaveId = sSlaveIdArray.toString(); | |
| 3480 | + /* 数据参数 */ | |
| 3481 | + const value = { | |
| 3482 | + sClientType: '1', | |
| 3483 | + paramsMap: { | |
| 3484 | + iFlag: flag, | |
| 3485 | + iTmpCheck: commonUtils.isEmptyNumber(tmpCheck) ? 0 : tmpCheck, | |
| 3486 | + sFormGuid: sModelsId, | |
| 3487 | + sGuid: masterData.sId, | |
| 3488 | + sSlaveId: slaveId, | |
| 3489 | + sBillNo: commonUtils.isNotEmptyObject(masterData.sBillNo) ? masterData.sBillNo : '', | |
| 3490 | + }, | |
| 3491 | + }; | |
| 3492 | + let clearFlag = false; | |
| 3493 | + if (sModelsType.includes('sales/salesOrder') || sModelsType.includes('manufacture/workOrder')) { | |
| 3494 | + if (commonUtils.isNotEmptyArr(slaveData)) { | |
| 3495 | + for (const item of slaveData) { | |
| 3496 | + if (commonUtils.isNotEmptyStr(item.sProductInfo)) { | |
| 3497 | + clearFlag = true; | |
| 3498 | + break; | |
| 3499 | + } | |
| 3500 | + } | |
| 3501 | + } else { | |
| 3502 | + handleSaveState({ | |
| 3503 | + loading: false, | |
| 3504 | + }); | |
| 3505 | + return; | |
| 3506 | + } | |
| 3507 | + } | |
| 3508 | + /* 数据审核 */ | |
| 3509 | + const url = `${commonConfig.server_host}business/doExamine?sModelsId=${sModelsId}`; | |
| 3510 | + const returnData = (await commonServices.postValueService(app.token, value, url)).data; | |
| 3511 | + if (isWait) { | |
| 3512 | + return returnData; | |
| 3513 | + } else { | |
| 3514 | + /* 接收返回值 */ | |
| 3515 | + const check = commonFunc.showMessage(app.commonConst, 'BtnExamine');/* 审核 */ | |
| 3516 | + const BtnCancelExamine = commonFunc.showMessage(app.commonConst, 'BtnCancelExamine');/* 销审 */ | |
| 3517 | + if (returnData.code === 1) { /* 成功 */ | |
| 3518 | + handleSaveState({ | |
| 3519 | + loading: false, | |
| 3520 | + }); | |
| 3521 | + if (flag === 1) { | |
| 3522 | + /* 审核 */ | |
| 3523 | + if (clearFlag && (sModelsType.includes('sales/salesOrder') || sModelsType.includes('manufacture/workOrder'))) { | |
| 3524 | + commonUtils.setStoreDropDownData(sModelsId, 'master', 'sProductId', []); | |
| 3525 | + commonUtils.setStoreDropDownData(sModelsId, 'master', 'sProductNo', []); | |
| 3526 | + commonUtils.setStoreDropDownData(sModelsId, 'master', 'sProductName', []); | |
| 3527 | + } | |
| 3528 | + let outData; | |
| 3529 | + if (commonUtils.isNotEmptyObject(returnData.dataset)) { | |
| 3530 | + outData = returnData.dataset.rows[0].dataSet.outData; | |
| 3531 | + } | |
| 3532 | + if (false && commonUtils.isNotEmptyStr(outData[0].sReturn)) { | |
| 3533 | + const sReturnArray = outData[0].sReturn.split('|'); | |
| 3534 | + if (outData[0].sReturn.split('-').length < 2) { | |
| 3535 | + // 正常业务提示,非审核模板 | |
| 3536 | + // if (this.props.app.currentPane.refresh !== undefined) { | |
| 3537 | + // this.props.app.currentPane.refresh(); | |
| 3538 | + // } | |
| 3539 | + message.error(check + outData[0].sReturn); | |
| 3540 | + return; | |
| 3541 | + } | |
| 3542 | + const checkConditions = []; | |
| 3543 | + let checkPersonData = {}; | |
| 3544 | + sReturnArray.forEach((item) => { | |
| 3545 | + const checkCondition = item.split('-')[2]; | |
| 3546 | + const iIndex = checkConditions.findIndex(itemCondition => itemCondition.condition === checkCondition); | |
| 3547 | + if (iIndex <= -1) { | |
| 3548 | + checkConditions.push({ | |
| 3549 | + key: commonUtils.createSid(), | |
| 3550 | + condition: checkCondition, | |
| 3551 | + }); | |
| 3552 | + } | |
| 3553 | + }); | |
| 3554 | + const sCheckModelId = sReturnArray[0].split('-')[1]; | |
| 3555 | + if (commonUtils.isNotEmptyStr(sCheckModelId)) { | |
| 3556 | + const urlCheck = `${commonConfig.server_host}checkModel/getUserListByModelId/${sCheckModelId}?sModelsId=${sModelsId}`; | |
| 3557 | + const dataReturn = (await commonServices.getService(token, urlCheck)).data; | |
| 3558 | + if (dataReturn.code === 1) { | |
| 3559 | + checkPersonData = dataReturn.dataset.rows; | |
| 3560 | + checkPersonData.forEach((item) => { | |
| 3561 | + item.key = commonUtils.createSid(); | |
| 3562 | + }); | |
| 3563 | + this.props.onSaveState({ | |
| 3564 | + checkConditions, checkPersonData, sCheckModelId, visible: true, | |
| 3565 | + }); | |
| 3566 | + return true; | |
| 3567 | + } else { /* 失败 */ | |
| 3568 | + this.props.getServiceError({ msg: check + dataReturn }); | |
| 3569 | + } | |
| 3570 | + } | |
| 3571 | + } else { | |
| 3572 | + message.success(check + returnData.msg); | |
| 3573 | + } | |
| 3574 | + } else { | |
| 3575 | + /* 消审 */ | |
| 3576 | + const { outData } = returnData.dataset.rows[0].dataSet; | |
| 3577 | + if (commonUtils.isNotEmptyStr(outData[0].sReturn)) { | |
| 3578 | + message.error(outData[0].sReturn); | |
| 3579 | + } else { | |
| 3580 | + // if (this.props.app.currentPane.refresh !== undefined) { | |
| 3581 | + // this.props.app.currentPane.refresh(); | |
| 3582 | + // } | |
| 3583 | + message.success(BtnCancelExamine + returnData.msg); | |
| 3584 | + } | |
| 3585 | + } | |
| 3586 | + await handleGetData(masterConfig, slaveConfig, checkConfig); | |
| 3587 | + if ((sModelsType.includes('sales/salesOrder') || sModelsType.includes('manufacture/workOrder')) && !commonUtils.isEmpty(controlConfig)) { | |
| 3588 | + await handleGetMemoData(controlConfig, materialsConfig, processConfig, colorConfig, packConfig); | |
| 3589 | + } else if (commonUtils.isNotEmptyObject(orderDetailConfig)) { | |
| 3590 | + await handleGetOneMemoData('orderDetail', orderDetailConfig); | |
| 3591 | + } | |
| 3592 | + // if (props.app.currentPane.refresh !== undefined) { | |
| 3593 | + // this.props.app.currentPane.refresh(); | |
| 3594 | + // } | |
| 3595 | + } else if (returnData.code === -8) { | |
| 3596 | + Modal.info({ | |
| 3597 | + title: FriendlyReminder, | |
| 3598 | + content: ( | |
| 3599 | + <div> | |
| 3600 | + {handleGetMsg(returnData.msg)} | |
| 3601 | + </div> | |
| 3602 | + ), | |
| 3603 | + onOk() { }, | |
| 3604 | + }); | |
| 3605 | + handleSaveState({ | |
| 3606 | + loading: false, | |
| 3607 | + }); | |
| 3608 | + return false; | |
| 3609 | + } else { /* 失败 */ | |
| 3610 | + props.getServiceError(returnData); | |
| 3611 | + handleSaveState({ | |
| 3612 | + loading: false, | |
| 3613 | + }); | |
| 3614 | + return false; | |
| 3615 | + } | |
| 3616 | + return true; | |
| 3617 | + } | |
| 3618 | + }; | |
| 3441 | 3619 | |
| 3442 | 3620 | const returnProps = { |
| 3443 | 3621 | ...props, |
| ... | ... | @@ -3471,7 +3649,8 @@ const useCommonBase = props => { |
| 3471 | 3649 | awaitPromiseReturn: awaitPromiseReturn, |
| 3472 | 3650 | onSelectCommonPopup: handleSelectCommonPopup, |
| 3473 | 3651 | onDropDownBlur: handleTableBlur, |
| 3474 | - onDel: handleDel // 删除 | |
| 3652 | + onDel: handleDel, // 删除 | |
| 3653 | + onBtnExamine: handleAudit, | |
| 3475 | 3654 | }; |
| 3476 | 3655 | |
| 3477 | 3656 | // 切换页面时,加载角标数据 | ... | ... |
src/mes/common/commonOperationBarComponent/MesToolbar.js
| ... | ... | @@ -31,52 +31,50 @@ const ToolbarFun = async (props) => { |
| 31 | 31 | props.onDel(props) |
| 32 | 32 | } else if (btnName.includes('btnexamine')) { |
| 33 | 33 | let flag = 0; |
| 34 | - console.log(props, 'asdasdadsww'); | |
| 35 | - | |
| 36 | - // let interfaceArr = config.interface; | |
| 37 | - // if (commonUtils.isNotEmptyArr(interfaceArr)) { | |
| 38 | - // const beforeInterfaceArr = interfaceArr.filter(item => item.sInterfaceCallMethod === "1"); | |
| 39 | - // const afterInterfaceArr = interfaceArr.filter(item => item.sInterfaceCallMethod === "2"); | |
| 40 | - // if (commonUtils.isNotEmptyArr(beforeInterfaceArr)) { | |
| 41 | - // /* 之前调用 */ | |
| 42 | - | |
| 43 | - // const asyncFunc = async () => { | |
| 44 | - // for (let i = 0; i < beforeInterfaceArr.length; i++) { | |
| 45 | - // const data = await handleInterfaceCall(beforeInterfaceArr[i]); | |
| 46 | - // if (!data) { | |
| 47 | - // flag += 1; | |
| 48 | - // return; | |
| 49 | - // } | |
| 50 | - // } | |
| 51 | - // }; | |
| 52 | - // await asyncFunc(); | |
| 53 | - // } | |
| 54 | - // let result; | |
| 55 | - // if (flag == 0) { | |
| 56 | - // result = await props.onBtnExamine(); | |
| 57 | - // } else { | |
| 58 | - // props.onSaveState({ | |
| 59 | - // loading: false, | |
| 60 | - // }); | |
| 61 | - // } | |
| 62 | - | |
| 63 | - // if (commonUtils.isNotEmptyArr(afterInterfaceArr)) { | |
| 64 | - // /* 之后调用 */ | |
| 65 | - // // const result = await this.props.onBtnExamine(); | |
| 66 | - // if (result) { | |
| 67 | - // /* 只有审核成功 才能调用接口 -5代表审核失败 */ | |
| 68 | - // const asyncFunc = async () => { | |
| 69 | - // for (let i = 0; i < afterInterfaceArr.length; i++) { | |
| 70 | - // await handleInterfaceCall(afterInterfaceArr[i], true); | |
| 71 | - // } | |
| 72 | - // }; | |
| 73 | - // await asyncFunc(); | |
| 74 | - | |
| 75 | - // } | |
| 76 | - // } | |
| 77 | - // } else { | |
| 78 | - // props.onBtnExamine(); | |
| 79 | - // } | |
| 34 | + let interfaceArr = btnConfig.interface; | |
| 35 | + if (commonUtils.isNotEmptyArr(interfaceArr)) { | |
| 36 | + const beforeInterfaceArr = interfaceArr.filter(item => item.sInterfaceCallMethod === "1"); | |
| 37 | + const afterInterfaceArr = interfaceArr.filter(item => item.sInterfaceCallMethod === "2"); | |
| 38 | + if (commonUtils.isNotEmptyArr(beforeInterfaceArr)) { | |
| 39 | + /* 之前调用 */ | |
| 40 | + | |
| 41 | + const asyncFunc = async () => { | |
| 42 | + for (let i = 0; i < beforeInterfaceArr.length; i++) { | |
| 43 | + const data = await handleInterfaceCall(beforeInterfaceArr[i]); | |
| 44 | + if (!data) { | |
| 45 | + flag += 1; | |
| 46 | + return; | |
| 47 | + } | |
| 48 | + } | |
| 49 | + }; | |
| 50 | + await asyncFunc(); | |
| 51 | + } | |
| 52 | + let result; | |
| 53 | + if (flag == 0) { | |
| 54 | + result = await props.onBtnExamine(); | |
| 55 | + } else { | |
| 56 | + props.onSaveState({ | |
| 57 | + loading: false, | |
| 58 | + }); | |
| 59 | + } | |
| 60 | + | |
| 61 | + if (commonUtils.isNotEmptyArr(afterInterfaceArr)) { | |
| 62 | + /* 之后调用 */ | |
| 63 | + // const result = await this.props.onBtnExamine(); | |
| 64 | + if (result) { | |
| 65 | + /* 只有审核成功 才能调用接口 -5代表审核失败 */ | |
| 66 | + const asyncFunc = async () => { | |
| 67 | + for (let i = 0; i < afterInterfaceArr.length; i++) { | |
| 68 | + await handleInterfaceCall(afterInterfaceArr[i], true); | |
| 69 | + } | |
| 70 | + }; | |
| 71 | + await asyncFunc(); | |
| 72 | + | |
| 73 | + } | |
| 74 | + } | |
| 75 | + } else { | |
| 76 | + props.onBtnExamine(); | |
| 77 | + } | |
| 80 | 78 | } |
| 81 | 79 | |
| 82 | 80 | ... | ... |