Browse Source

Merge branch 'dev' of http://192.168.1.41:3000/maixinrong/Calculation into dev

laiguoran 3 years ago
parent
commit
3678b34ee1

+ 31 - 2
app/controller/report_archive_controller.js

@@ -173,8 +173,37 @@ module.exports = app => {
             };
         }
 
-        async _updateReportArchiveEncryption(prjId, stgId, rptId, ttlPgs, uuid, content) {
-            //
+        async _updateReportArchiveAdhocInfo(ctx, params) {
+            const userId = ctx.session.sessionUser.accountId;
+            const prjId = params.prjId;
+            const stgId = params.stgId;
+            const rptId = params.rptId;
+            const ttlPgs = params.ttlPgs;
+            const uuid = params.uuid;
+            const reportName = params.reportName;
+            const reportAreas = params.signatureAreas;
+            // 这里要更新zh_rpt_archive表的相关数据
+            const orgArchiveList = await ctx.service.rptArchive.getPrjStgArchive(prjId, stgId);
+            if (orgArchiveList.length > 0) {
+                const contentArr = JSON.parse(orgArchiveList[0].content);
+                for (const item of contentArr) {
+                    if (parseInt(item.rpt_id) === parseInt(rptId)) {
+                        for (const rptItem of item.items) {
+                            if (rptItem.uuid === uuid) {
+                                rptItem.uid = userId;
+                                rptItem.reportName = reportName;
+                                rptItem.ttl_pages = ttlPgs;
+                                rptItem.signature_area = reportAreas;
+                                break;
+                            }
+                        }
+                        break;
+                    }
+                }
+                const updatedRst = await ctx.service.rptArchive.updateArchive(orgArchiveList[0].id, prjId, stgId, contentArr);
+            } else {
+                // 正常情况下不可能的分支
+            }
         }
 
         async addReportArchiveEncryption(ctx) {

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

@@ -569,6 +569,8 @@ let rptArchiveObj = {
                             params.ttlPgs = currentRptPageRst.items.length;
                             params.content = pageEncryptInfo;
                             params.uuid = result.uuid; //正确返回时,带着uuid回来
+                            params.reportName = currentNode.name;
+                            params.reportAreas = [];
                             CommonAjax.postXsrfEx("/tender/report_api/addArchiveEncryption", params, 10000, true, getCookie('csrfToken_j'),
                                 function(rst){
                                     if (cb) {

+ 1 - 1
app/public/report/js/rpt_indexDb.js

@@ -261,7 +261,7 @@ const indexDbOprObj = {
                     }
                     if (params.stage_status === 3) {
                         rptSignatureHelper.mergeSignDate(result.data[idx], singleSignatureRelArr, false);
-                        rptSignatureHelper.mergeSignature(result.data[idx], singleSignatureRelArr);
+                        rptSignatureHelper.mergeSignature(result.data[idx], singleSignatureRelArr, true); //这里要把签名数据设置进来
                         rptSignatureHelper.mergeSignAudit(result.data[idx], singleSignatureRelArr, result.stageAudit);
                     }
                 }

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

@@ -611,7 +611,7 @@ let rptSignatureHelper = {
         }
         return rst;
     },
-    mergeSignature: function (pageData, currRoleRelList) {
+    mergeSignature: function (pageData, currRoleRelList, setPic = false) {
         for (const page of pageData.items) {
             if (page.signature_cells) {
                 for (const sCell of page.signature_cells) {
@@ -619,6 +619,9 @@ let rptSignatureHelper = {
                         if (role_rel.signature_name === sCell.signature_name) {
                             sCell.path = role_rel.sign_path;
                             sCell.pre_path = role_rel.sign_path;
+                            if (setPic) {
+                                sCell.pic = role_rel.sign_pic; // 有些场景(如:批量归档)需要直接设置签名数据
+                            }
                         }
                     }
                 }