Переглянути джерело

审核文本签名显示问题

Tony Kang 2 роки тому
батько
коміт
d42de861da

+ 12 - 11
app/controller/report_controller.js

@@ -442,7 +442,7 @@ module.exports = app => {
                     ? x.aid === ctx.session.sessionUser.accountId : true;
             });
             mergeStampSignature(ctx, params.stage_status, pageRst, roleRel[0], null, stgAudit, stageList);
-            mergeTextSignature(params.isTextSignature, params.stage_status, pageRst, roleRel[0], stgAudit, stageFlow);
+            mergeTextSignature(params.isTextSignature, params.stage_status, pageRst, roleRel[0], [], stgAudit, stageList);
             await encodeSignatureDataUri(roleRel, this.app.baseDir);
             if (params.getPicFlag) {
                 await encodeDummySignatureDataUri(pageRst, this.app.baseDir); // 注意草图数据量问题!
@@ -538,7 +538,7 @@ module.exports = app => {
             // console.log(roleRel);
             const stageList = await ctx.service.stage.getValidStagesShort(params.tender_id);
             mergeStampSignature(ctx, params.stage_status, pageRstArr, roleRel, params.rpt_ids, stgAudit, stageList);
-            mergeTextSignature(params.isTextSignature, params.stage_status, pageRstArr, roleRel, params.rpt_ids);
+            mergeTextSignature(params.isTextSignature, params.stage_status, pageRstArr, roleRel, params.rpt_ids, stgAudit, stageList);
 
             await encodeSignatureDataUri(roleRel, this.app.baseDir);
             if (params.getPicFlag) {
@@ -609,7 +609,7 @@ module.exports = app => {
             }
 
             mergeStampSignature(ctx, params.stage_status, pageRstArr, roleRelArr, params.rpt_ids, stgAudit, stageList);
-            mergeTextSignature(params.isTextSignature, params.stage_status, pageRstArr, roleRelArr, params.rpt_ids);
+            mergeTextSignature(params.isTextSignature, params.stage_status, pageRstArr, roleRelArr, params.rpt_ids, stgAudit, stageList);
 
             await this.ctx.helper.recursiveMkdirSync(baseDir + '/app/public/download');
 
@@ -797,7 +797,7 @@ module.exports = app => {
                 }
             }
             mergeStampSignature(ctx, params.stage_status, pageRstArr, roleRelArr, params.rpt_ids, stgAudit, stageList);
-            mergeTextSignature(params.isTextSignature, params.stage_status, pageRstArr, roleRelArr, params.rpt_ids);
+            mergeTextSignature(params.isTextSignature, params.stage_status, pageRstArr, roleRelArr, params.rpt_ids, stgAudit, stageList);
             await this.ctx.helper.recursiveMkdirSync(this.app.baseDir + '/app/public/download');
             const runnableRst = [];
             let rptRoleRelArr = [];
@@ -1484,9 +1484,9 @@ async function createExportRequestJob(ctx) {
     }
 }
 
-function mergeTextSignature(isTxtSignature, status, pageData, singleRoleRel, rpt_ids) {
+function mergeTextSignature(isTxtSignature, status, pageData, singleRoleRel, rpt_ids, stgAudit, stageList) {
     // 依据需求,有些用户不需要签名图片,那么从源头上把签名从signature_cells转移到cells下,省得后续 预览、打印、导出PDF、导出EXCEL每个地方都改动
-    const _mergeSingle = function(_page, _roleRelList, isDeleteSignCell) {
+    const _mergeSingle = function(_page, _roleRelList, isDeleteSignCell, checkAudit = false) {
         // console.log(_roleRelList);
         let roleRelContent = [];
         if (_roleRelList && _roleRelList.rel_content !== null && _roleRelList.rel_content !== undefined && _roleRelList.rel_content !== '') {
@@ -1502,9 +1502,9 @@ function mergeTextSignature(isTxtSignature, status, pageData, singleRoleRel, rpt
                         sCell.path = '';
                         sCell.pic = '';
                         let needTransferText = true;
-                        if (status === 3) {
-                            for (const role_rel of roleRelContent) {
-                                if (sCell.signature_name === role_rel.signature_name) {
+                        for (const role_rel of roleRelContent) {
+                            if (sCell.signature_name === role_rel.signature_name) {
+                                if (!checkAudit || _chkIfAudit(role_rel, stgAudit, stageList)) {
                                     sCell.Value = role_rel.user_name; // 只有审核通过了才需要文本签名内容
                                     if (role_rel.sign_output && role_rel.sign_output.indexOf(NORMAL_SIGN_STR) < 0) {
                                         // 用户选择不签名,则不迁移
@@ -1514,6 +1514,7 @@ function mergeTextSignature(isTxtSignature, status, pageData, singleRoleRel, rpt
                                 }
                             }
                         }
+
                         if (needTransferText) {
                             const newCell = {
                                 font: 'Footer',
@@ -1549,10 +1550,10 @@ function mergeTextSignature(isTxtSignature, status, pageData, singleRoleRel, rpt
                     }
                 }
                 // console.log(dftRolRel);
-                _mergeSingle(dtlPage, dftRolRel, true);
+                _mergeSingle(dtlPage, dftRolRel, true, status !== 3);
             });
         } else {
-            _mergeSingle(pageData, singleRoleRel, false);
+            _mergeSingle(pageData, singleRoleRel, false, status !== 3);
         }
     }
 }

+ 19 - 11
app/public/report/js/rpt_main.js

@@ -489,16 +489,18 @@ let zTreeOprObj = {
                     CURRENT_ROLE_REL_ID = result.signatureRelInfo[0].id;
                     ROLE_REL_LIST = me._parseRoleRelList(result.signatureRelInfo[0].rel_content);
                     rptSignatureHelper.originalRoleRelList = me._parseRoleRelList(result.signatureRelInfo[0].rel_content);
-                    if (getStageStatus() === 3) {
-                        rptSignatureHelper.mergeSignDate(pageRst, ROLE_REL_LIST, true);
-                        rptSignatureHelper.mergeSignature(pageRst, ROLE_REL_LIST, true);
-                        await rptSignatureHelper.resetDummySignature(pageRst, ROLE_REL_LIST); // 这里重新整理签章坐标信息(因签章大小在后台暂时获取不到,挪到前端处理)
-                        rptSignatureHelper.mergeSignAudit(pageRst, ROLE_REL_LIST, STAGE_AUDIT);
-                    } else {
-                        rptSignatureHelper.mergeSignDate(pageRst, ROLE_REL_LIST, true, true);
-                        rptSignatureHelper.mergeSignature(pageRst, ROLE_REL_LIST, true, true);
-                        await rptSignatureHelper.resetDummySignature(pageRst, ROLE_REL_LIST, true); // 这里重新整理签章坐标信息(因签章大小在后台暂时获取不到,挪到前端处理)
-                        rptSignatureHelper.mergeSignAudit(pageRst, ROLE_REL_LIST, STAGE_AUDIT, true);
+                    // if (getStageStatus() === 3) {
+                    //     rptSignatureHelper.mergeSignDate(pageRst, ROLE_REL_LIST, true);
+                    //     rptSignatureHelper.mergeSignature(pageRst, ROLE_REL_LIST, true);
+                    //     await rptSignatureHelper.resetDummySignature(pageRst, ROLE_REL_LIST); // 这里重新整理签章坐标信息(因签章大小在后台暂时获取不到,挪到前端处理)
+                    //     rptSignatureHelper.mergeSignAudit(pageRst, ROLE_REL_LIST, STAGE_AUDIT);
+                    // }
+                    rptSignatureHelper.mergeSignDate(pageRst, ROLE_REL_LIST, true, getStageStatus() !== 3);
+                    rptSignatureHelper.mergeSignature(pageRst, ROLE_REL_LIST, true, getStageStatus() !== 3);
+                    await rptSignatureHelper.resetDummySignature(pageRst, ROLE_REL_LIST, getStageStatus() !== 3); // 这里重新整理签章坐标信息(因签章大小在后台暂时获取不到,挪到前端处理)
+                    rptSignatureHelper.mergeSignAudit(pageRst, ROLE_REL_LIST, STAGE_AUDIT, getStageStatus() !== 3);
+                    if (PAGE_SHOW.isTextSignature) {
+                        resetTextSignature(pageRst, getStageStatus() !== 3);
                     }
                 } else {
                     CURRENT_ROLE_REL_ID = -1;
@@ -523,6 +525,9 @@ let zTreeOprObj = {
                     rptSignatureHelper.buildSelectableAccount();
                     rptSignatureHelper.buildSelectableAccountUsed();
                     rptSignatureHelper.buildRoleDom(ROLE_LIST);
+                    // if (PAGE_SHOW.isTextSignature) {
+                    //     resetTextSignature(zTreeOprObj.currentRptPageRst, current_stage_status !== 3);
+                    // }
                     me.showPage(1, canvas);
                     if (PAGE_SHOW.showArchive) {
                         rptArchiveObj.showArchivedItem(me.currentNode);
@@ -903,8 +908,11 @@ let rptControlObj = {
                             const pageObj = pageDataArr[idx];
                             let singleSignatureRelArr = signatureRelArr[idx];
                             rptSignatureHelper.mergeSignDate(pageObj, singleSignatureRelArr, false, getStageStatus() !== 3);
-                            // rptSignatureHelper.mergeSignature(pageObj, signatureRelArr); // 这里merge的意义不大
+                            // rptSignatureHelper.mergeSignature(pageObj, singleSignatureRelArr); // 这里merge的意义不大
                             rptSignatureHelper.mergeSignAudit(pageObj, singleSignatureRelArr, STAGE_AUDIT, getStageStatus() !== 3);
+                            if (PAGE_SHOW.isTextSignature) {
+                                resetTextSignature(pageObj, getStageStatus() !== 3);
+                            }
                         }
                         // if (getStageStatus() === 3) {
                         // }

+ 4 - 0
app/public/report/js/rpt_preview_common.js

@@ -35,6 +35,7 @@ async function printPageLoading() {
     STAGE_LIST = JSON.parse(sessionStorage.STAGE_LIST);
     STAGE_AUDIT_ORG = JSON.parse(sessionStorage.STAGE_AUDIT_ORG);
     OSS_PATH = sessionStorage.OSS_PATH;
+    let isTextSignature = parseInt(sessionStorage.isTextSignature);
     current_stage_id = parseInt(sessionStorage.current_stage_id);
     let scaleFactor = 1;
     CommonAjax.postXsrfEx("/tender/report_api/getMultiReports", params, 60000, true, getCookie('csrfToken_j'),
@@ -66,6 +67,9 @@ async function printPageLoading() {
                     await rptSignatureHelper.resetDummySignature(result.data[idx], singleSignatureRelArr, false, true); // 这里重新整理签章坐标信息(因签章大小在后台暂时获取不到,挪到前端处理)
                     rptSignatureHelper.mergeSignAudit(result.data[idx], singleSignatureRelArr, result.stageAudit, true);
                 }
+                if (isTextSignature) {
+                    resetTextSignature(result.data[idx], _current_stage_status !== 3);
+                }
             }
             let multiRptData = result.data;
             for (let idx = 0; idx < multiRptData.length; idx++) {

+ 1 - 0
app/public/report/js/rpt_print.js

@@ -29,6 +29,7 @@ let rptPrintHelper = {
             sessionStorage.STAGE_AUDIT_ORG = JSON.stringify(STAGE_AUDIT_ORG);
             sessionStorage.OSS_PATH = OSS_PATH;
             sessionStorage.current_stage_id = getStageId();
+            sessionStorage.isTextSignature = PAGE_SHOW.isTextSignature;
             // sessionStorage.STAGE_AUDIT = JSON.stringify(STAGE_AUDIT);
             window.open('/printReport/' + sessionStorage.pageSize);
         }

+ 24 - 21
app/public/report/js/rpt_signature.js

@@ -413,7 +413,8 @@ let rptSignatureHelper = {
         // ROLE_REL_LIST = ROLE_REL_LIST.concat(rptSignatureHelper.originalRoleRelList);
         ROLE_REL_LIST = JSON.parse(JSON.stringify(rptSignatureHelper.originalRoleRelList));
         if (PAGE_SHOW.isTextSignature) {
-            resetTextSignature(zTreeOprObj.currentRptPageRst);
+            // resetTextSignature(zTreeOprObj.currentRptPageRst);
+            resetTextSignature(zTreeOprObj.currentRptPageRst, current_stage_status !== 3);
         }
         zTreeOprObj.showPage(zTreeOprObj.currentPage, zTreeOprObj.canvas);
     },
@@ -466,7 +467,7 @@ let rptSignatureHelper = {
                 }
             }
             if (PAGE_SHOW.isTextSignature) {
-                resetTextSignature(zTreeOprObj.currentRptPageRst);
+                resetTextSignature(zTreeOprObj.currentRptPageRst, current_stage_status !== 3);
             }
             zTreeOprObj.showPage(zTreeOprObj.currentPage, zTreeOprObj.canvas);
         }
@@ -816,15 +817,12 @@ let rptSignatureHelper = {
         if (currRoleRelList && currRoleRelList.length > 0 && STAGE_AUDIT && STAGE_AUDIT.length > 0) {
             for (let rridx = 0; rridx < currRoleRelList.length; rridx++) {
                 const role_rel = currRoleRelList[rridx];
-                if (!checkAudit || checkAudit && rptSignatureHelper._chkIfAudit(role_rel)) {
-                    // 如果签名者是在审核流程中并已审批通过(个人通过,非期通过),则也需要显示
-                    if (role_rel.sign_date === undefined || role_rel.sign_date ===  null || role_rel.sign_date ===  '') {
-                        let dftDate = _getSignDateByAllScenarios(role_rel.acc_id);
-                        role_rel.sign_date = dftDate;
-                        if (isMergeOrgAlso) {
-                            rptSignatureHelper.originalRoleRelList[rridx].sign_date = dftDate;
-                            //备注:在多选导出的情况下,originalRoleRelList不需要merge
-                        }
+                if (role_rel.sign_date === undefined || role_rel.sign_date ===  null || role_rel.sign_date ===  '') {
+                    let dftDate = _getSignDateByAllScenarios(role_rel.acc_id);
+                    role_rel.sign_date = dftDate;
+                    if (isMergeOrgAlso) {
+                        rptSignatureHelper.originalRoleRelList[rridx].sign_date = dftDate;
+                        //备注:在多选导出的情况下,originalRoleRelList不需要merge
                     }
                 }
             }
@@ -837,11 +835,14 @@ let rptSignatureHelper = {
                     }
                     for (const role_rel of currRoleRelList) {
                         if (sCell.signature_name === role_rel.signature_name + '_签字日期') {
-                            if (role_rel.sign_date !== '') {
-                                if (typeof role_rel.sign_date === 'string') {
-                                    role_rel.sign_date = new Date(role_rel.sign_date);
+                            if (!checkAudit || rptSignatureHelper._chkIfAudit(role_rel)) {
+                                // 如果签名者是在审核流程中并已审批通过(个人通过,非期通过),则也需要显示
+                                if (role_rel.sign_date !== '') {
+                                    if (typeof role_rel.sign_date === 'string') {
+                                        role_rel.sign_date = new Date(role_rel.sign_date);
+                                    }
+                                    sCell.Value = role_rel.sign_date.Format(role_rel.sign_date_format);
                                 }
-                                sCell.Value = role_rel.sign_date.Format(role_rel.sign_date_format);
                             }
                             break;
                         }
@@ -1141,13 +1142,15 @@ function resetTextSignature(pageData, checkAudit = false) {
                 if (fitCell) {
                     fitCell.Value = '';
                     for (let role of ROLE_REL_LIST) {
-                        if (sCell.signature_name === role.signature_name) {
-                            if (role.sign_output && role.sign_output.indexOf(NORMAL_SIGN_STR) >= 0) {
-                                fitCell.Value = role.user_name;
-                            } else {
-                                fitCell.Value = '';
+                        if (!checkAudit || rptSignatureHelper._chkIfAudit(role)) {
+                            if (sCell.signature_name === role.signature_name) {
+                                if (role.sign_output && role.sign_output.indexOf(NORMAL_SIGN_STR) >= 0) {
+                                    fitCell.Value = role.user_name;
+                                } else {
+                                    fitCell.Value = '';
+                                }
+                                break;
                             }
-                            break;
                         }
                     }
                 } else {