Tony Kang 11 months ago
parent
commit
e1649e9b1e

+ 5 - 1
app/controller/report_controller.js

@@ -1276,12 +1276,15 @@ module.exports = app => {
             });
 
             let stgAudit = null,
+                stageFlow = null,
                 stageList = [];
             if (params.stage_id > 0) {
                 stgAudit = await ctx.service.stageAudit.getStageAudit(params.stage_id, params.stage_times);
                 stageList = await ctx.service.stage.getValidStagesShort(params.tender_id);
+                stageFlow = await ctx.service.stageAudit.getAuditGroupByListWithOwner(params.stage_id, params.stage_times);
             } else if ([-100, -200].includes(params.stage_id)) {
                 stgAudit = await ctx.service.paymentDetailAudit.getAuditors(params.detail_id);
+                stageFlow = await ctx.service.paymentDetailAudit.getAuditorsWithOwner(params.detail_id);
                 const paymentDetailList = await ctx.service.paymentDetail.getDetail(params.detail_id);
                 if (paymentDetailList && paymentDetailList.length > 0) {
                     const payment = paymentDetailList[0];
@@ -1289,6 +1292,7 @@ module.exports = app => {
                 }
             } else if ([-300, -301, -302, -303, -400, -500].includes(params.stage_id)) {
                 stgAudit = [];
+                stageFlow = [];
                 await this._commonGetAudit(ctx, params, stgAudit);
                 this._mergeBlankRoleSignDate(roleRel, stgAudit);
             } else if ([-400, -500].includes(params.stage_id)) {
@@ -1305,7 +1309,7 @@ module.exports = app => {
                 }
             }
             // console.log(pageRstArr);
-            ctx.body = { data: pageRstArr, signatureRelInfo: roleRel, stageAudit: stgAudit, waterMarkStr };
+            ctx.body = { data: pageRstArr, signatureRelInfo: roleRel, stageAudit: stgAudit, stageFlow, waterMarkStr };
             ctx.status = 201;
         }
 

+ 2 - 0
app/public/report/js/rpt_main.js

@@ -1016,6 +1016,7 @@ let rptControlObj = {
                         $.bootstrapLoading.end();
                         if (params.needWaterMark) COMMON_WATER_MARK_PIC_DATA = result.waterMarkStr;
                         STAGE_AUDIT = result.stageAudit || [];
+                        STAGE_FLOW = result.stageFlow || [];
                         let pageSize = rptControlObj.getCurrentPageSize();
                         let pageDataArr = result.data;
                         let signatureRelInfo = result.signatureRelInfo;
@@ -1185,6 +1186,7 @@ let rptControlObj = {
                         $.bootstrapLoading.end();
                         if (params.needWaterMark) COMMON_WATER_MARK_PIC_DATA = result.waterMarkStr;
                         STAGE_AUDIT = result.stageAudit || [];
+                        STAGE_FLOW = result.stageFlow || [];
                         let pageSize = rptControlObj.getCurrentPageSize();
                         let pageDataArr = result.data;
                         let signatureRelInfo = result.signatureRelInfo;

+ 22 - 0
app/public/report/js/rpt_signature.js

@@ -935,6 +935,25 @@ let rptSignatureHelper = {
             }
         }
     },
+    _chkOrAudit: function(orgRoleRel) {
+        // 检测 '或签' 情况下的审核状态(在或签情况下,另一个审核通过,那么这个也是通过的)
+        let rst = false;
+        for (const flow of STAGE_FLOW) {
+            if (flow.aid === orgRoleRel.acc_id) {
+                if (flow.audit_type === 3) {
+                    // 判断 或签 用户状态
+                    for (const secFlow of STAGE_FLOW) {
+                        if (secFlow.audit_type === 3 && secFlow.order === flow.order && secFlow.aid !== orgRoleRel.acc_id) {
+                            rst = secFlow.status === 3;
+                            if (rst) break;
+                        }
+                    }
+                }
+                break;
+            }
+        }
+        return rst;
+    },
     _chkIfAudit: function(role_rel) {
         // 检测是否在审核列表中
         let rst = false;
@@ -961,6 +980,9 @@ let rptSignatureHelper = {
                     // break; //因为实际业务中会有反复,所以就不break了,一直判断,以最后一个为准
                 }
             }
+            if (!rst) {
+                rst = this._chkOrAudit(role_rel);
+            }
         }
         // rst = true; //测试,未来将屏蔽
         return rst;