Commit c21d2eb316ec92a8fb80b4ca1383adbdc06c4595

Authored by chenxt
1 parent 2aa81ad3

审核

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 =&gt; {
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) =&gt; {
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  
... ...