| 
					
				 | 
			
			
				@@ -4,29 +4,35 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let pageOprObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     rationLibName : null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     rationLibId : null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    gljLibId: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     initPage : function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var me = this, rationLibId = getQueryString("repository"),//获取定额库参数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            rationLibName = storageUtil.getSessionCache("RationGrp","repositoryID_" + rationLibId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (rationLibName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var html = $("#rationname")[0].outerHTML; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            html = html.replace("XXX定额库", rationLibName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            $("#rationname")[0].outerHTML = html; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.rationLibName = rationLibName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.rationLibId = rationLibId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sectionTreeObj.getSectionTree(rationLibId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //job 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            jobContentOprObj.radiosChange(jobContentOprObj.radios, jobContentOprObj.tableAll, jobContentOprObj.tablePartial); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            $('#addConBtn').click(jobContentOprObj.bindAddConBtn()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            $('#updateConBtn').click(jobContentOprObj.bindUpdateConBtn()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            jobContentOprObj.bindAllEvents($('#txtareaAll')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //fz 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            annotationOprObj.radiosChange(annotationOprObj.radios, annotationOprObj.fzTableAll, annotationOprObj.fzTablePartial); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            $('#fzAddConBtn').click(annotationOprObj.bindAddConBtn()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            $('#fzUpdateConBtn').click(annotationOprObj.bindUpdateConBtn()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            annotationOprObj.bindAllEvents($('#fzTxtareaAll')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = this, rationLibId = getQueryString("repository"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.getRationLibInfo(rationLibId, function (rstData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(rstData.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.rationLibName = rstData[0].dispName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.gljLibId = rstData[0].gljLib; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let html = $("#rationname")[0].outerHTML; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                html = html.replace("XXX定额库", me.rationLibName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $("#rationname")[0].outerHTML = html; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.rationLibId = rationLibId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                sectionTreeObj.getSectionTree(rationLibId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //job 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                jobContentOprObj.radiosChange(jobContentOprObj.radios, jobContentOprObj.tableAll, jobContentOprObj.tablePartial); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $('#addConBtn').click(jobContentOprObj.bindAddConBtn()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $('#updateConBtn').click(jobContentOprObj.bindUpdateConBtn()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                jobContentOprObj.bindAllEvents($('#txtareaAll')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //fz 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                annotationOprObj.radiosChange(annotationOprObj.radios, annotationOprObj.fzTableAll, annotationOprObj.fzTablePartial); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $('#fzAddConBtn').click(annotationOprObj.bindAddConBtn()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $('#fzUpdateConBtn').click(annotationOprObj.bindUpdateConBtn()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                annotationOprObj.bindAllEvents($('#fzTxtareaAll')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getRationLibInfo: function (rationLibId, callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CommonAjax.post('api/getRationLib', {rationRepId: rationLibId}, callback); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let sectionTreeObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cache: null,//ref to tree.items 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -37,10 +43,7 @@ let sectionTreeObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     updateType: {new: 'new', update: 'update'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     insertBtn: $('#tree_Insert'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     removeBtn: $('#tree_remove'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    upLevelBtn: $('#tree_upLevel'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    downLevelBtn: $('#tree_downLevel'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    downMoveBtn: $('#tree_downMove'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    upMoveBtn: $('#tree_upMove'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: {std: 'std', complementary: 'complementary'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     setting: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sheet: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cols:[ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -121,6 +124,8 @@ let sectionTreeObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const Events = GC.Spread.Sheets.Events; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sheet.bind(Events.SelectionChanging, me.onSelectionChanging); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sheet.bind(Events.EditEnded, me.onEditEnded); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheet.bind(Events.EditStarting, me.onEditStarting); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheet.bind(Events.ClipboardPasting, me.onClipboardPasting); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sheet.bind(Events.ClipboardPasted, me.onClipboardPasted); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -136,13 +141,25 @@ let sectionTreeObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onEditStarting: function (sender, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = sectionTreeObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let node = me.cache[args.row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(!me.isDef(node)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            args.cancel = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(node.data.type === me.type.std){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            args.cancel = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     onEditEnded: function (sender, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let me = sectionTreeObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let postData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let v = me.isDef(args.editingText) ? args.editingText.toString().trim() : ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let node = me.cache[args.row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(me.isDef(node) && node.data.name !== v){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let updateObj = me.getUpdateObj(me.updateType.update, node.getID(), null, null, v, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let updateObj = me.getUpdateObj(me.updateType.update, {ID: node.getID(), name: v}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             postData.push(updateObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //ajax 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //update 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -154,6 +171,19 @@ let sectionTreeObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onClipboardPasting: function (sender, info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = sectionTreeObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let hasStd = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for(let row = info.cellRange.row, len = info.cellRange.row + info.cellRange.rowCount - 1; row < len; row ++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(me.isDef(me.cache[row]) && me.cache[row].data.type === me.type.std){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                hasStd = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(hasStd){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            info.cancel = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     onClipboardPasted: function (sender, info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let me = sectionTreeObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let items = sheetCommonObj.analyzePasteData({header: [{dataCode: 'name'}]}, info); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -163,7 +193,7 @@ let sectionTreeObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let row = info.cellRange.row + i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let node = me.cache[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(me.isDef(node) && me.isDef(items[i].name) && node.data.name !== items[i].name){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let updateObj = me.getUpdateObj(me.updateType.update, node.getID(), null, null, items[i].name, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let updateObj = me.getUpdateObj(me.updateType.update, {ID: node.getID(), name: items[i].name}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 postData.push(updateObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 frontData.push({row: row, name: items[i].name}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 node.data.name = items[i].name; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -202,6 +232,7 @@ let sectionTreeObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.bindBtn(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.initController(me.tree, me.sheet, me.setting.sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.controller.showTreeData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.setColor(me.cache); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.sheet.setFormatter(-1, 0, '@'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.initSelection(me.tree.selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             explanatoryOprObj.bindEvents($('#explanationShow'), $('#ruleTextShow')); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -211,7 +242,18 @@ let sectionTreeObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CommonAjax.post(url, postData, sucFunc, errFunc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setColor: function (nodes) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.renderFunc(me.sheet, function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(let i = 0, len = nodes.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(nodes[i].data.type === me.type.complementary){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.sheet.getCell(i, 0).foreColor('gray'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     initTree: function (datas) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.tree = idTree.createNew(this.setting.tree); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.tree.loadDatas(datas); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -226,28 +268,11 @@ let sectionTreeObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         me.insertBtn.removeClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         me.removeBtn.removeClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.upLevelBtn.removeClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.downLevelBtn.removeClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.downMoveBtn.removeClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.upMoveBtn.removeClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(!me.isDef(selected)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.removeBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.upLevelBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.downLevelBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.downMoveBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.upMoveBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(!me.isDef(selected.preSibling)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.downLevelBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.upMoveBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(!me.isDef(selected.nextSibling)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.downMoveBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(!me.isDef(selected.parent)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.upLevelBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else if(me.isDef(selected.data.type) && selected.data.type !== me.type.complementary){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.removeBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -259,50 +284,60 @@ let sectionTreeObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         me.removeBtn.click(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            me.remove(me.tree.selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.upLevelBtn.click(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.upLevel(me.tree.selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.downLevelBtn.click(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.downLevel(me.tree.selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.downMoveBtn.click(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.downMove(me.tree.selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.upMoveBtn.click(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.upMove(me.tree.selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     insert: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         me.insertBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let postData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let newID = me.tree.newNodeID(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let selected = me.tree.selected; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let insertObj = me.getUpdateObj(me.updateType.new, newID, -1, -1, '', null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(me.isDef(selected)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let updateObj = me.getUpdateObj(me.updateType.update, selected.getID(), newID, null, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            postData.push(updateObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            insertObj.updateData.ParentID = selected.getParentID(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(me.isDef(selected.nextSibling)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                insertObj.updateData.NextSiblingID = selected.getNextSiblingID(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CommonAjax.post('api/getNewTreeID', {user_id: userID}, function (newID) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(!me.isDef(newID)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        postData.push(insertObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(postData.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //ajax 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.sectionTreeAjax(postData, function (rstData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.controller.insert(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.refreshBtn(me.tree.selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //fresh tools 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.initTools(me.tree.selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.tree.maxNodeID(newID - 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let selected = me.tree.selected; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let insertObj = me.getUpdateObj(me.updateType.new, {ID: newID, NextSiblingID: -1, ParentID: -1, name: ''}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(me.isDef(selected)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                insertObj.updateData.ParentID = selected.getParentID(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //同级节点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let slNodes = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                slNodes = !me.isDef(selected.parent)? me.tree.roots : selected.parent.children; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let updateNode = slNodes[slNodes.length - 1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(me.isDef(updateNode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.controller.setTreeSelected(updateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(updateNode.data.type === me.type.complementary){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        let updateObj = me.getUpdateObj(me.updateType.update, {ID: updateNode.getID(), NextSiblingID: newID}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        postData.push('updateObj'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        postData.push(updateObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        insertObj.updateData.isFirst = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            postData.push(insertObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(postData.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //ajax 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                me.sectionTreeAjax(postData, function (rstData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.controller.insert(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.sheet.getCell(me.sheet.getActiveRowIndex(), 0).foreColor('gray'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.tree.selected.data = insertObj.updateData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.tree.selected.data.type = me.type.complementary; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.refreshBtn(me.tree.selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //fresh tools 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    me.initTools(me.tree.selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     remove: function (selected) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         me.removeBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let postData = [], IDs = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let deleteObj = Object.create(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        deleteObj.deleted = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        deleteObj.deleteDateTime = new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        deleteObj.deleteBy = userID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(!selected){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -317,13 +352,18 @@ let sectionTreeObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(me.isDef(selected.preSibling)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(me.isDef(selected.preSibling) && selected.preSibling.data.type === me.type.complementary){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let updateObj = me.getUpdateObj(me.updateType.update, selected.preSibling.getID(), selected.getNextSiblingID(), null, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             postData.push(updateObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else if((!me.isDef(selected.preSibling) || (me.isDef(selected.preSibling) && selected.preSibling.data.type === me.type.std)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            && me.isDef(selected.nextSibling)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let updateNextObj = me.getUpdateObj(me.updateType.update, {ID: selected.nextSibling.getID(), isFirst: true}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            postData.push(updateNextObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(IDs.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for(let i = 0, len = IDs.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let delObj = me.getUpdateObj(me.updateType.update, IDs[i], null, null, null, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let delObj = me.getUpdateObj(me.updateType.update, {ID: IDs[i], deleteInfo: deleteObj}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 postData.push(delObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -336,123 +376,7 @@ let sectionTreeObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    upLevel: function (selected) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.upLevelBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let postData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(!me.isDef(selected)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(!me.isDef(selected.parent)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(me.isDef(selected.preSibling)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let updateObj = me.getUpdateObj(me.updateType.update, selected.preSibling.getID(), -1, null, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            postData.push(updateObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let updateObj = me.getUpdateObj(me.updateType.update, selected.getID(), selected.parent.getNextSiblingID(), selected.parent.getParentID(), null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        postData.push(updateObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let updateParent = me.getUpdateObj(me.updateType.update, selected.getParentID(), selected.getID(), null, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        postData.push(updateParent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let nextIDs = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        getNext(selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        function getNext(node){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(me.isDef(node.nextSibling)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                nextIDs.push(node.getNextSiblingID()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                getNext(node.nextSibling); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for(let i = 0, len = nextIDs.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            postData.push(me.getUpdateObj(me.updateType.update, nextIDs[i], null, selected.getID(), null, null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(postData.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //ajax 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.sectionTreeAjax(postData, function (rstData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.controller.upLevel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.refreshBtn(me.tree.selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    downLevel: function (selected) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.downLevelBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let postData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(!me.isDef(selected)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(!me.isDef(selected.preSibling)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let updatePre = me.getUpdateObj(me.updateType.update, selected.preSibling.getID(), selected.getNextSiblingID(), null, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        postData.push(updatePre); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(selected.preSibling.children.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let updateObj = me.getUpdateObj(me.updateType.update, selected.preSibling.children[selected.preSibling.children.length - 1].getID(), selected.getID(), null, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            postData.push(updateObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let updateObj = me.getUpdateObj(me.updateType.update, selected.getID(), -1, selected.preSibling.getID(), null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        postData.push(updateObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(postData.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //ajax 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.sectionTreeAjax(postData, function (rstData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.controller.downLevel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.refreshBtn(me.tree.selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    upMove: function (selected) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.upMoveBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let postData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(!me.isDef(selected)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(!me.isDef(selected.preSibling)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let updateObj = me.getUpdateObj(me.updateType.update, selected.getID(), selected.preSibling.getID(), null, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        postData.push(updateObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let updatePre = me.getUpdateObj(me.updateType.update, selected.preSibling.getID(), selected.getNextSiblingID(), null, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        postData.push(updatePre); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(me.isDef(selected.preSibling.preSibling)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let updatePrepre = me.getUpdateObj(me.updateType.update, selected.preSibling.preSibling.getID(), selected.getID(), null, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            postData.push(updatePrepre); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(postData.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //ajax 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.sectionTreeAjax(postData, function (rstData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.controller.upMove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.refreshBtn(me.tree.selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    downMove: function (selected) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        me.downMoveBtn.addClass('disabled'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let postData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(!me.isDef(selected)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(!me.isDef(selected.nextSibling)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(me.isDef(selected.preSibling)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let updatePre = me.getUpdateObj(me.updateType.update, selected.preSibling.getID(), selected.getNextSiblingID(), null, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            postData.push(updatePre); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let updateObj = me.getUpdateObj(me.updateType.update, selected.getID(), selected.nextSibling.getNextSiblingID(), null, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        postData.push(updateObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let updateNext = me.getUpdateObj(me.updateType.update, selected.getNextSiblingID(), selected.getID(), null, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        postData.push(updateNext); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(postData.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //ajax 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.sectionTreeAjax(postData, function (rstData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.controller.downMove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                me.refreshBtn(me.tree.selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    getUpdateObj: function (updateType, id, nid, pid, name, deleted) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getUpdateObj: function (updateType, updateData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let updateObj = Object.create(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         updateObj.updateType = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         updateObj.updateData = Object.create(null); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -460,25 +384,15 @@ let sectionTreeObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(this.isDef(updateType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             updateObj.updateType = updateType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(this.isDef(id)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            updateObj.updateData.ID = id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(this.isDef(nid)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            updateObj.updateData.NextSiblingID = nid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(this.isDef(pid)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            updateObj.updateData.ParentID = pid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(this.isDef(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            updateObj.updateData.name = name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(this.isDef(deleted)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            updateObj.updateData.isDeleted = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(this.isDef(updateData)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(let attr in updateData){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                updateObj.updateData[attr] = updateData[attr]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return updateObj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     sectionTreeAjax: function (postData, scFunc, errFunc) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        CommonAjax.post('api/updateNodes', {updateData: postData, lastOpr: userAccount}, scFunc, errFunc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CommonAjax.post('api/updateRationSection', {updateData: postData}, scFunc, errFunc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     initTools: function (node) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(this.isDef(node)){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -513,14 +427,16 @@ let sectionTreeObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rationOprObj.currentSectionId = node.data.ID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rationOprObj.workBook.getSheet(0).setRowCount(30); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rationOprObj.setCombo(rationOprObj.workBook.getSheet(0), null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            jobContentOprObj.setRadiosDisabled(true, jobContentOprObj.radios); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           // jobContentOprObj.setRadiosDisabled(true, jobContentOprObj.radios); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             jobContentOprObj.hideTable($('#tableAll'), $('#tablePartial')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            annotationOprObj.setRadiosDisabled(true, annotationOprObj.radios); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          //  annotationOprObj.setRadiosDisabled(true, annotationOprObj.radios); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             annotationOprObj.hideTable($('#fzTableAll'), $('#fzTablePartial')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             sheetCommonObj.cleanSheet(rationOprObj.workBook.getSheet(0), rationOprObj.setting, -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sheetCommonObj.cleanSheet(rationGLJOprObj.sheet, rationGLJOprObj.setting, -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        rationGLJOprObj.sheet.getParent().focus(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheetCommonObj.cleanSheet(rationCoeOprObj.sheet, rationCoeOprObj.setting, -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheetCommonObj.cleanSheet(rationAssistOprObj.sheet, rationAssistOprObj.setting, -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //rationGLJOprObj.sheet.getParent().focus(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         me.workBook.focus(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 |