Browse Source

审批导出PDF意见丢失 + 空格问题

Tony Kang 2 years ago
parent
commit
8ba33e989a

+ 14 - 12
app/public/report/js/rpt_jspdf.js

@@ -32,11 +32,11 @@ const JpcJsPDFHelper = {
         //
         //
         // doc.save('Test.pdf');
         // doc.save('Test.pdf');
     },
     },
-    outputAsPdf: function (pageData, paperSize, pdfName, signatureRelArr, signAuditArr) {
-        let doc = this._createPdf(pageData, paperSize, signatureRelArr, signAuditArr);
+    outputAsPdf: function (pageData, paperSize, pdfName, signatureRelArr, signAuditArr, keepOrgValue = false) {
+        let doc = this._createPdf(pageData, paperSize, signatureRelArr, signAuditArr, keepOrgValue);
         doc.save(pdfName + '.pdf');
         doc.save(pdfName + '.pdf');
     },
     },
-    _createPdf: function (pageData, paperSize, signatureRelArr, signAuditArr) {
+    _createPdf: function (pageData, paperSize, signatureRelArr, signAuditArr, keepOrgValue = false) {
         let me = this;
         let me = this;
         let offsetX = 0;
         let offsetX = 0;
         let offsetY = 0;
         let offsetY = 0;
@@ -72,14 +72,16 @@ const JpcJsPDFHelper = {
 
 
         let newPageMergeBand = private_getIniPageMergeBorder(pageObj[JV.BAND_PROP_MERGE_BAND]);
         let newPageMergeBand = private_getIniPageMergeBorder(pageObj[JV.BAND_PROP_MERGE_BAND]);
         let ppStatus = zTreeOprObj._chkPrePayStatus();
         let ppStatus = zTreeOprObj._chkPrePayStatus();
-        if (current_stage_status === 3 || ppStatus === 3) {
-            rptSignatureHelper.mergeSignDate(pageObj, signatureRelArr, false);
-            // rptSignatureHelper.mergeSignature(pageObj, signatureRelArr); // 这里merge的意义不大
-            rptSignatureHelper.mergeSignAudit(pageObj, signatureRelArr, signAuditArr);
-        } else {
-            rptSignatureHelper.mergeSignDate(pageObj, signatureRelArr, false, true);
-            // rptSignatureHelper.mergeSignature(pageObj, signatureRelArr, false, true); // 这里merge的意义很大
-            rptSignatureHelper.mergeSignAudit(pageObj, signatureRelArr, signAuditArr, true);
+        if (!keepOrgValue) {
+            if (current_stage_status === 3 || ppStatus === 3) {
+                rptSignatureHelper.mergeSignDate(pageObj, signatureRelArr, false);
+                // rptSignatureHelper.mergeSignature(pageObj, signatureRelArr); // 这里merge的意义不大
+                rptSignatureHelper.mergeSignAudit(pageObj, signatureRelArr, signAuditArr);
+            } else {
+                rptSignatureHelper.mergeSignDate(pageObj, signatureRelArr, false, true);
+                // rptSignatureHelper.mergeSignature(pageObj, signatureRelArr, false, true); // 这里merge的意义很大
+                rptSignatureHelper.mergeSignAudit(pageObj, signatureRelArr, signAuditArr, true);
+            }
         }
         }
         // let signatureCounter = {"allAmt": 0, "picAmt": 0};
         // let signatureCounter = {"allAmt": 0, "picAmt": 0};
         if (pageObj && pageObj.items.length > 0 ) {
         if (pageObj && pageObj.items.length > 0 ) {
@@ -387,7 +389,7 @@ const JpcJsPDFHelper = {
                         values[i] = "";
                         values[i] = "";
                     }
                     }
                     // 因pdfkit输出空格只有浏览器的一半宽度,需要额外加空格补上,jspdf也有这个情况 -----------------------------
                     // 因pdfkit输出空格只有浏览器的一半宽度,需要额外加空格补上,jspdf也有这个情况 -----------------------------
-                    if (typeof(values[i]) === "string") {
+                    if (!keepOrgValue && typeof(values[i]) === "string") {
                         for (let j = 0; j < values[i].length; j++) {
                         for (let j = 0; j < values[i].length; j++) {
                             if (values[i][j] === ' ') spaceIdxArr.push(j);
                             if (values[i][j] === ' ') spaceIdxArr.push(j);
                         }
                         }

+ 4 - 11
app/public/report/js/rpt_signature.js

@@ -561,17 +561,10 @@ let rptSignatureHelper = {
                     // CURRENT_ROLE_REL_ID = result.signatureRelInfo[0].id;
                     // CURRENT_ROLE_REL_ID = result.signatureRelInfo[0].id;
                     ROLE_REL_LIST = me._parseRoleRelList(result.signatureRelInfo[0].rel_content);
                     ROLE_REL_LIST = me._parseRoleRelList(result.signatureRelInfo[0].rel_content);
                     rptSignatureHelper.originalRoleRelList = me._parseRoleRelList(result.signatureRelInfo[0].rel_content);
                     rptSignatureHelper.originalRoleRelList = me._parseRoleRelList(result.signatureRelInfo[0].rel_content);
-                    if (current_stage_status === 3) {
-                        rptSignatureHelper.mergeSignDate(zTreeOprObj.currentRptPageRst, ROLE_REL_LIST, true);
-                        rptSignatureHelper.mergeSignature(zTreeOprObj.currentRptPageRst, ROLE_REL_LIST, true);
-                        await rptSignatureHelper.resetDummySignature(zTreeOprObj.currentRptPageRst, ROLE_REL_LIST); // 这里重新整理签章坐标信息(因签章大小在后台暂时获取不到,挪到前端处理)
-                        rptSignatureHelper.mergeSignAudit(zTreeOprObj.currentRptPageRst, ROLE_REL_LIST, STAGE_AUDIT);
-                    } else {
-                        rptSignatureHelper.mergeSignDate(zTreeOprObj.currentRptPageRst, ROLE_REL_LIST, true, true);
-                        rptSignatureHelper.mergeSignature(zTreeOprObj.currentRptPageRst, ROLE_REL_LIST, true, true);
-                        await rptSignatureHelper.resetDummySignature(zTreeOprObj.currentRptPageRst, ROLE_REL_LIST, true); // 这里重新整理签章坐标信息(因签章大小在后台暂时获取不到,挪到前端处理)
-                        rptSignatureHelper.mergeSignAudit(zTreeOprObj.currentRptPageRst, ROLE_REL_LIST, STAGE_AUDIT, true);
-                    }
+                    rptSignatureHelper.mergeSignDate(zTreeOprObj.currentRptPageRst, ROLE_REL_LIST, true, current_stage_status !== 3);
+                    rptSignatureHelper.mergeSignature(zTreeOprObj.currentRptPageRst, ROLE_REL_LIST, true, current_stage_status !== 3);
+                    await rptSignatureHelper.resetDummySignature(zTreeOprObj.currentRptPageRst, ROLE_REL_LIST, current_stage_status !== 3); // 这里重新整理签章坐标信息(因签章大小在后台暂时获取不到,挪到前端处理)
+                    rptSignatureHelper.mergeSignAudit(zTreeOprObj.currentRptPageRst, ROLE_REL_LIST, STAGE_AUDIT, current_stage_status !== 3);
                     zTreeOprObj.showPage(zTreeOprObj.currentPage, zTreeOprObj.canvas);
                     zTreeOprObj.showPage(zTreeOprObj.currentPage, zTreeOprObj.canvas);
                 } else {
                 } else {
                     // CURRENT_ROLE_REL_ID = -1;
                     // CURRENT_ROLE_REL_ID = -1;

+ 1 - 1
app/view/payment/detail.ejs

@@ -289,7 +289,7 @@
                 let pageData = newPageDataArr[auditRptPrintHelper.currentDownloadIdx];
                 let pageData = newPageDataArr[auditRptPrintHelper.currentDownloadIdx];
                 let rptName = new_rpt_names[auditRptPrintHelper.currentDownloadIdx];
                 let rptName = new_rpt_names[auditRptPrintHelper.currentDownloadIdx];
                 auditRptPrintHelper.currentDownloadIdx++;
                 auditRptPrintHelper.currentDownloadIdx++;
-                JpcJsPDFHelper.outputAsPdf(pageData, pageSize, rptName, singleSignatureRelArr, STAGE_AUDIT); // 精确控制签名
+                JpcJsPDFHelper.outputAsPdf(pageData, pageSize, rptName, singleSignatureRelArr, STAGE_AUDIT, true); // 精确控制签名
                 if (auditRptPrintHelper.currentDownloadIdx < newPageDataArr.length) {
                 if (auditRptPrintHelper.currentDownloadIdx < newPageDataArr.length) {
                     setTimeout(private_download(newPageDataArr, new_rpt_names), 2000);
                     setTimeout(private_download(newPageDataArr, new_rpt_names), 2000);
                 } else {
                 } else {