Tony Kang 3 hari lalu
induk
melakukan
6c58c178d8

+ 30 - 5
app/public/report/js/rpt_format_setup.js

@@ -5,17 +5,41 @@ const reportFormatSetupObj = {
     fieldParamOptions: null,
     maxFieldID: -1,
     currentRptId: -1,
+    currentTopNode: '定制报表',
     onCheck: (event, treeId, treeNode) => {
         //
     },
+    switchButtonEnables: (isSetupEnabled = true, isPermissionEnabled = false) => {
+        $('#btn_confirm_format_setup').attr("disabled", !isSetupEnabled);
+        $('#rpt_title_input').attr("disabled", !isSetupEnabled);
+        $("#add_user_dropdownMenuButton").attr('disabled', !isPermissionEnabled);
+        $("#apply_users_toOtherMenuButton")[0].style.display = !isPermissionEnabled ? 'none' : '';
+    },
     onClick: (event,treeId,treeNode) => {
         const me = reportFormatSetupObj;
-        if (treeNode.nodeType === RT.NodeType.TEMPLATE) {
-            me.currentRptId = treeNode.refId;
-            me.initialize(treeNode);
-        } else {
+        if (treeNode.nodeType !== RT.NodeType.TEMPLATE) {
             me.currentRptId = -1;
-        }
+            me.clearTplProperties();
+            const jDom = $("#report-permission-div");
+            jDom.empty();
+            me.switchButtonEnables(false, false);
+            return;
+        }
+        let pNode = treeNode;
+        while (pNode.level > 0) {
+            pNode = pNode.getParentNode();
+        }
+        me.currentTopNode = pNode.name;
+        me.currentRptId = treeNode.refId;
+            if (me.currentTopNode === '定制报表') {
+                me.switchButtonEnables(true, true);
+                me.initialize(treeNode);
+            } else {
+                me.switchButtonEnables(false, true);
+                me.clearTplProperties();
+                reportPermissionObj.iniReportPermission();
+                reportPermissionObj.updateSelectedMarks();
+            }
     },
     onDeleteInfo: (dom) => {
         // 删除表眉、表脚项
@@ -89,6 +113,7 @@ const reportFormatSetupObj = {
     },
     onAddSignature: (dom) => {
         const me = reportFormatSetupObj;
+        if (me.currentRptId === -1) return;
         me.maxFieldID++;
         const newSignature = [];
         newSignature.push('<li class="d-flex justify-content-start align-items-center  mb-3">');

+ 6 - 5
app/view/report/rpt_format_setup.ejs

@@ -68,7 +68,7 @@
                                 <ul class="nav nav-pills m-0">
                                     <li class="nav-item mr-1"><a onclick="reportFormatSetupObj.preview()" data-toggle="modal" data-target="#setup_view-bb" class=" btn btn-light btn-sm text-primary">预览报表</a></li>
                                     <li class="nav-item mr-1"><a onclick="reportFormatSetupObj.previewSign()" data-toggle="modal" data-target="#view-sign" class=" btn btn-light btn-sm  text-primary">预览电子签名</a></li>
-                                    <li class="nav-item"><button onclick="$('#show_confirm_format_setup').trigger('click')" class="btn btn-outline-primary btn-sm">更新报表模板</button></li>
+                                    <li class="nav-item"><button id="btn_confirm_format_setup" onclick="$('#show_confirm_format_setup').trigger('click')" class="btn btn-outline-primary btn-sm">更新报表模板</button></li>
                                     <li class="nav-item"><a id="show_confirm_format_setup" href="#" class=" btn btn-sm btn-primary" data-toggle="modal" data-target="#updaterp" style="display:none"></a></li>
                                 </ul>
                             </div>
@@ -146,7 +146,7 @@
 												</dl>
 											</div>
                                         </div>
-                                        <a href="#" class="btn btn-primary btn-sm pull-right ml-2" data-toggle="modal" data-target="#bdcopy" onclick="reportPermissionObj.iniPermissionRpts()">应用账号至其他报表</a>
+                                        <a href="#" class="btn btn-primary btn-sm pull-right ml-2" data-toggle="modal" data-target="#bdcopy" id="apply_users_toOtherMenuButton" onclick="reportPermissionObj.iniPermissionRpts()">应用账号至其他报表</a>
 									    <div class="ml-2 text-danger ml-auto">说明:仅最底层报表可设置,给单张报表添加用户后,则此张表仅添加用户可见。</div>
                                     </div>
                                     <div class="col-6 pl-0" id="report-permission-div">
@@ -204,7 +204,7 @@
     for (let item of TOP_TREE_NODES) {
         if (item.name === '通用报表') {
             item.name = '推荐报表';
-            item.items = '[]'; // 推荐报表不能调
+            // item.items = '[]'; // 推荐报表不能调
         }
     }
     const ORG_TOP_TREE_NODES = JSON.parse(JSON.stringify(TOP_TREE_NODES));
@@ -224,7 +224,7 @@
             }
         }
     }
-    const INDI_TOP_TREE_NODES = [];
+    let INDI_TOP_TREE_NODES = [];
     
     for (let item of ALL_COMMON_TREE_NODES) {
         // item.items = JSON.parse(item.items);
@@ -341,7 +341,8 @@
             //ORG_TOP_TREE_NODES.push(individualNode);
             ORG_TOP_TREE_NODES.unshift(individualNodeOrg);
             // INDI_TOP_TREE_NODES.push(individualNodeOrg);
-            INDI_TOP_TREE_NODES.push(individualNode);
+            // INDI_TOP_TREE_NODES.push(individualNode);
+            INDI_TOP_TREE_NODES = JSON.parse(JSON.stringify(TOP_TREE_NODES));
         }
     }