Explorar o código

fix: 紧急增加归档标记(onlyOrgAdminArchivePDF)

Tony Kang hai 4 semanas
pai
achega
1303f8f48d

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

@@ -36,6 +36,7 @@ let rptTplObj = {
             // dynamicLoadJs('/public/jspdf/SmartSimsun-normal.js');
             // dynamicLoadJs('/public/jspdf/SmartSimsun-normal2.js');
             // dynamicLoadJs('/public/jspdf/SmartSimsun-bold.js', me.pdfFontSimsunCallBack);
+            setupArchiveShow();
         }
     },
     pdfFontSimsunCallBack: function() {
@@ -1642,4 +1643,23 @@ function _getSplitAmendmentParam(params, tplNode) {
         if (!hasSplit) params.splitArchives.push({rpt_id: tplNode.refId, split_field_id: parseInt(tplNode.flags.splitArchiveField)});
     }
 }
+function setupArchiveShow() {
+    // BUSINESS_ID === '-1'
+    if (STAGE_ID === -1 || STAGE_ID > 0) {
+        // 确保是在标段
+        if (PAGE_SHOW.onlyOrgAdminArchivePDF && !IS_ADMIN) {
+            if (current_stage_id > 0) {
+                if (chkIfStageOrgRpt(CUST_ID, current_stage_id)) {
+                    $("#archiveTopDiv")[0].style.display = '';
+                } else {
+                    $("#archiveTopDiv")[0].style.display = 'none';
+                }
+            } else if (![-600].includes(current_stage_id)) {
+                $("#archiveTopDiv")[0].style.display = '';
+            } else {
+                $("#archiveTopDiv")[0].style.display = 'none';
+            }
+        }
+    }
+}
 

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

@@ -1190,19 +1190,6 @@ let rptSignatureHelper = {
         // rst = true; //测试,未来将屏蔽
         return rst;
     },
-    _chkIfOrgRpt: function(acc_id) {
-        // 检测是否原报
-        let rst = false;
-        for (const stg of STAGE_LIST) {
-            if (stg.id === current_stage_id) {
-                if (stg.user_id === acc_id) {
-                    rst = true;
-                }
-                break;
-            }
-        }
-        return rst;
-    },
     _cancelFlowSignDate: function(signature_name) {
         for (const roleRel of ROLE_REL_LIST) {
             if (roleRel.signature_name === signature_name && roleRel.type === '流程') {
@@ -1368,6 +1355,22 @@ let rptSignatureHelper = {
     }
 }
 
+function chkIfStageOrgRpt(userAccId, chkStageId) {
+    // 检测是否原报(期)
+    let rst = false;
+    if (STAGE_LIST) {
+        for (const stg of STAGE_LIST) {
+            if (stg.id === chkStageId) {
+                if (stg.user_id === userAccId) {
+                    rst = true;
+                }
+                break;
+            }
+        }
+    }
+    return rst;
+}
+
 function _getSignDateByAllScenarios(userAccId) {
     let rst = '';
     let hasAudit = false;
@@ -1382,15 +1385,7 @@ function _getSignDateByAllScenarios(userAccId) {
             // break; //因为实际业务中会有反复,所以就不break了,一直判断,以最后一个为准
         }
     }
-    let isOrgRpt = false;
-    for (const stg of STAGE_LIST) {
-        if (stg.id === current_stage_id) {
-            if (stg.user_id === userAccId) {
-                isOrgRpt = true;
-            }
-            break;
-        }
-    }
+    const isOrgRpt = chkIfStageOrgRpt(userAccId, current_stage_id);
     if (isOrgRpt && !hasAudit && STAGE_AUDIT_ORG && STAGE_AUDIT_ORG.length > 0) {
         if (STAGE_AUDIT_ORG[0].begin_time && STAGE_AUDIT_ORG[0].begin_time !== '' && STAGE_AUDIT_ORG[0].begin_time.length >= 10) {
             rst = STAGE_AUDIT_ORG[0].begin_time;

+ 10 - 4
app/view/report/index.ejs

@@ -182,7 +182,7 @@
                                 </div>
                             </div>
                             <% if(![-600].includes(stg_id)) { %>
-                            <div class="panel" <% if (pageShow === null || parseInt(pageShow.showArchive) === 0 || isNaN(parseInt(pageShow.showArchive))) { %> style="display:none" <% } %>>
+                            <div class="panel" id="archiveTopDiv" <% if (pageShow === null || parseInt(pageShow.showArchive) === 0 || isNaN(parseInt(pageShow.showArchive))) { %> style="display:none" <% } %>>
                                 <div class="panel-body">
                                     <div class="btn-group" role="group">
                                         <button id="btnArchiveRpt" type="button" class="btn btn-outline-primary btn-sm" data-toggle="modal" data-target="#guidang" disabled><i class="fa fa-archive"></i> 归档报表</button>
@@ -370,6 +370,7 @@
 <script src="/public/js/sub_menu.js"></script>
 <script src="/public/js/div_resizer.js"></script>
 <script>
+    const IS_ADMIN = <%- isAdmin %>;
     $.subMenu({
         menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
         toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
@@ -449,7 +450,7 @@
             SOURCE_TYPE = 10;
             current_advance_id = -1;
             current_material_id = -1;
-            bk_current_stage_id = current_stage_id;
+            if (current_stage_id > 0) bk_current_stage_id = current_stage_id;
             current_stage_id = -400;
             rptArchiveObj.toggleBtn(true);
             advancePayClick( $('#prepay-select-item a')[0]);
@@ -466,13 +467,14 @@
             current_advance_id = -1;
             current_advance_type = '';
             current_material_id = -1;
-            bk_current_stage_id = current_stage_id;
+            if (current_stage_id > 0) bk_current_stage_id = current_stage_id;
             current_stage_id = -500;
             rptArchiveObj.toggleBtn(true);
             buildMaterialSelection();
             filterReportsByType(ALL_COMMON_TREE_NODES, ALL_INDIVI_TREE_NODES, CURRENT_SELECTED_BIZ_TYPE, TOP_TREE_NODES, CUST_TREE_NODES);
             zTreeOprObj.getReportTemplateTree();
         }
+        setupArchiveShow();
     });
 
     $.divResizer({
@@ -599,7 +601,7 @@
     const CHNAGE_APPLY_ID = BGL_OBJ?.change_apply?.id || '-1';
     const CHNAGE_APPLY_TIMES = BGL_OBJ?.change_apply?.times || '-1';
 
-    const PAGE_SHOW = {closeWatermark: 0, closeExportPdf: 0, closeExportExcel: 0, showArchive: 0, closeShowAllCustomized: 0, isTextSignature: 0, closeArchiveSignature: 0};
+    const PAGE_SHOW = {closeWatermark: 0, closeExportPdf: 0, closeExportExcel: 0, showArchive: 0, closeShowAllCustomized: 0, isTextSignature: 0, closeArchiveSignature: 0, onlyOrgAdminArchivePDF: 0};
     <% if (pageShow !== null) { %>
         <% if (parseInt(pageShow.closeWatermark) === 1) { %>
             PAGE_SHOW['closeWatermark'] = 1;
@@ -622,6 +624,9 @@
         <% if (parseInt(pageShow.closeArchiveSignature) === 1) { %>
             PAGE_SHOW['closeArchiveSignature'] = 1;
         <% } %>
+        <% if (parseInt(pageShow.onlyOrgAdminArchivePDF) === 1) { %>
+            PAGE_SHOW['onlyOrgAdminArchivePDF'] = 1;
+        <% } %>
     <% } %>
 
 //    PAGE_SHOW['closeWatermark'] = 0; //测试用,check in 前要屏蔽
@@ -930,6 +935,7 @@
             }
         }
         getReportArchive();
+        setupArchiveShow();
     }
 
     function getReportArchive() {