| 
					
				 | 
			
			
				@@ -47,7 +47,8 @@ let zTreeOprObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         $("#compilations").append("<option value='" + item._id + "'>" + item.name + "</option>"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.getReportTemplateTree($("#compilations").get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // me.getReportTemplateTree($("#compilations").get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.getReportTemplateTreeFirstTime($("#compilations").get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }, null, null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -572,6 +573,62 @@ let zTreeOprObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getReportTemplateTreeFirstTime: function (compilationSelect) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = zTreeOprObj, params = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        params.compilationId = compilationSelect.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CommonAjax.postEx("report_tpl_api/getTplTreeByCompilation", params, 20000, true, function(result){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            result.sort(function(item1, item2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let rst = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (item1.userId === "-100") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    rst = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (item2.userId === "-100") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    rst = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return rst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let allTopUserIdNodes = ["-100"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let allTopTplNodes = [{userId: "-100", name: "公共模板", items:[], isParent: true}]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            allTopTplNodes[0].items.push(result[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let userIds = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (let idx = 1; idx < result.length; idx++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let item = result[idx]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                userIds.push(item.userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            userListObj.findUsersByIds(userIds, function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // for (let item of result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //     let uidx = allTopUserIdNodes.indexOf(item.userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //     item.isParent = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //     let topItem = {userId: item.userId, name: item.name, items: [], isParent: true}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //     allTopTplNodes[uidx].items.push(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            zTreeHelper.createTreeDirectly(allTopTplNodes, setting, "rptTplTree", me); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.refreshNodes(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let private_setup_checked = function (itemNode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (itemNode.nodeType === RT.NodeType.NODE) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.treeObj.setChkDisabled(itemNode, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if (itemNode.nodeType === RT.NodeType.TEMPLATE) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.treeObj.checkNode(itemNode, !!(itemNode.released)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (itemNode.items && itemNode.items.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for (let subItem of itemNode.items) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        private_setup_checked(subItem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let topNodes = me.treeObj.getNodes(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.treeObj.expandAll(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (let node of topNodes) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.treeObj.setChkDisabled(node, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (node.items && node.items.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for (let item of node.items) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        me.treeObj.setChkDisabled(item, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        private_setup_checked(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getNewNodeID: function (scope, callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let params = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         params.scope = scope; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -838,7 +895,9 @@ let userListObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.UserIdList.push(user._id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let newUser = {userId: user._id, real_name: user.real_name, username: user.username, mobile: user.mobile}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.foundedUserList.push(newUser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            newUsers.push(newUser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (newUsers) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                newUsers.push(newUser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     findUser: function () { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -862,6 +921,9 @@ let userListObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             error: function(jqXHR, textStatus, errorThrown){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    findUsersByIds: function (userIds, cb) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |