| 
					
				 | 
			
			
				@@ -425,7 +425,7 @@ var projectObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         return !selected; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     callback: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        var selected = controller.tree.selected; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        var selected = controller.tree.selected, parent = selected.parent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (selected) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             if (selected.sourceType === project.Bills.getSourceType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 project.Bills.deleteBills(selected.source); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -437,6 +437,7 @@ var projectObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 project.VolumePrice.delete(selected.source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 controller.delete(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            projectObj.converseCalculateBills(parent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -452,16 +453,18 @@ var projectObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 计算node及node的所有父项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     converseCalculateBills: function (node) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let calc = new BillsCalcHelper(this.project); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        calc.calcNode(node, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let cur = node, nodes = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        while (cur) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            nodes.push(cur); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cur = cur.parent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (node) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let calc = new BillsCalcHelper(this.project); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            calc.calcNode(node, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let cur = node, nodes = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            while (cur) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                nodes.push(cur); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                cur = cur.parent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.mainController.refreshTreeNode(nodes, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.project.Bills.updateNodes(nodes, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            calc = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.mainController.refreshTreeNode(nodes, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.project.Bills.updateNodes(nodes, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        calc = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 计算全部清单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     calculateAll: function () { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -487,7 +490,7 @@ $('#insert').click(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $('#delete').click(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var controller = projectObj.mainController, project = projectObj.project; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var selected = controller.tree.selected; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var selected = controller.tree.selected, parent = selected.parent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (selected) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (selected.sourceType === project.Bills.getSourceType()) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -500,15 +503,17 @@ $('#delete').click(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             project.VolumePrice.delete(selected.source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             controller.delete(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        projectObj.converseCalculateBills(parent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $('#upLevel').click(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var controller = projectObj.mainController, project = projectObj.project; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var selected = controller.tree.selected; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var selected = controller.tree.selected, orgParent = selected.parent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (selected && selected.sourceType === project.Bills.getSourceType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         project.Bills.upLevelBills(selected.source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         controller.upLevel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        projectObj.converseCalculateBills(orgParent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $('#downLevel').click(function () { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -516,12 +521,13 @@ $('#downLevel').click(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var selected = controller.tree.selected; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (selected && selected.sourceType === project.Bills.getSourceType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         project.Bills.downLevelBills(selected.source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        controller.downLevel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        controller.downLevel();        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        projectObj.converseCalculateBills(selected.parent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $('#upMove').click(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var controller = projectObj.mainController, project = projectObj.project; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var selected = controller.tree.selected, pre, preSerialNo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var selected = controller.tree.selected, pre = selected.preSibling, preSerialNo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (selected.sourceType === project.Bills.getSourceType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         project.Bills.upMoveBills(selected.source); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -538,15 +544,17 @@ $('#downMove').click(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var controller = projectObj.mainController, project = projectObj.project; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var selected = controller.tree.selected, next, nextSerialNo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (selected.sourceType === project.Bills.getSourceType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        project.Bills.downMoveBills(selected.source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        controller.downMove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } else if (selected.sourceType === project.Ration.getSourceType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        project.Ration.changePos(selected.source, selected.nextSibling.source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        controller.downMove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } else if (selected.sourceType === project.VolumePrice.getSourceType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        project.VolumePrice.changePos(selected.source, selected.nextSibling.source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        controller.downMove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (selected) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (selected.sourceType === project.Bills.getSourceType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            project.Bills.downMoveBills(selected.source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            controller.downMove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (selected.sourceType === project.Ration.getSourceType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            project.Ration.changePos(selected.source, selected.nextSibling.source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            controller.downMove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (selected.sourceType === project.VolumePrice.getSourceType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            project.VolumePrice.changePos(selected.source, selected.nextSibling.source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            controller.downMove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |