| 
					
				 | 
			
			
				@@ -118,23 +118,35 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const sel = selection ? selection[0] : sheet.getSelections()[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const row = sel ? sel.row : -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const tree = sheet.zh_tree; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!tree) { return; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const node = sheet.zh_tree.nodes[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const preNode = tree.getPreSiblingNode(node); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!tree) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const first = sheet.zh_tree.nodes[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let last = first, sameParent = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (sel.rowCount > 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (let r = 1; r < sel.rowCount; r++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    const rNode = tree.nodes[sel.row + r]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (rNode.level > first.level) continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if ((rNode.level < first.level) || (rNode.level === first.level && rNode.pid !== first.pid)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        sameParent = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    last = rNode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const preNode = tree.getPreSiblingNode(first); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const valid = !sheet.zh_setting.readOnly; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            setObjEnable($('#insert'), valid && node && node.level > 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            setObjEnable($('#delete'), valid && node && node.level > 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            setObjEnable($('#up-move'), valid && node && node.level > 1 && preNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            setObjEnable($('#down-move'), valid && node && node.level > 1 && !tree.isLastSibling(node)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            setObjEnable($('#insert'), valid && first && first.level > 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            setObjEnable($('#delete'), valid && first && sameParent && first.level > 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            setObjEnable($('#up-move'), valid && first && sameParent && first.level > 1 && preNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            setObjEnable($('#down-move'), valid && first && sameParent && first.level > 1 && !tree.isLastSibling(last)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (checkTzMeasureType()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                const posRange = node ? pos.getLedgerPos(node.id) : []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                setObjEnable($('#up-level'), valid && node && tree.getParent(node) && node.level > 2 && (!posRange || posRange.length === 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const posRange = last ? pos.getLedgerPos(last.id) : []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                setObjEnable($('#up-level'), valid && first && sameParent && tree.getParent(first) && first.level > 2 && (!posRange || posRange.length === 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 const preNodePosRange = preNode ? pos.getLedgerPos(preNode.id) : []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                setObjEnable($('#down-level'), valid && node && node.level > 1 && preNode && (!preNodePosRange || preNodePosRange.length === 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                setObjEnable($('#down-level'), valid && first && sameParent && first.level > 1 && preNode && (!preNodePosRange || preNodePosRange.length === 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                setObjEnable($('#up-level'), valid && node && node.level > 2 && tree.getParent(node)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                setObjEnable($('#down-level'), valid && node && node.level > 1 && preNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                setObjEnable($('#up-level'), valid && first && sameParent && first.level > 2 && tree.getParent(first)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                setObjEnable($('#down-level'), valid && first && sameParent && first.level > 1 && preNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             setObjEnable($('#cut'), valid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             setObjEnable($('#paste'), valid); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -212,12 +224,6 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 self.refreshTree(sheet, refreshNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 self.refreshOperationValid(sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // SpreadJsObj.massOperationSheet(sheet, function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //     tree.baseOperation('/tender/' + getTenderId() + '/ledger/base-operation', node, 'add', function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //         self.refreshTree(sheet, result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //         self.refreshOperationValid(sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * 删除选中节点 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -266,22 +272,6 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     self.refreshOperationValid(sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            /*const self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const sheet = spread.getActiveSheet(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const sel = sheet.getSelections()[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const row = sel.row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const tree = sheet.zh_tree; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!tree) { return; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const node = tree.nodes[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!node) { return; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            tree.baseOperation('/tender/' + getTenderId() + '/ledger/base-operation', node, 'up-move', function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                self.refreshTree(sheet, result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sheet.setSelection(tree.nodes.indexOf(node), sel.col, sel.rowCount, sel.colCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                self.refreshOperationValid(sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            });*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * 下移选中节点 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -306,22 +296,6 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     self.refreshOperationValid(sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            /*const self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const sheet = spread.getActiveSheet(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const sel = sheet.getSelections()[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const row = sel.row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const tree = sheet.zh_tree; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!tree) { return; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const node = tree.nodes[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!node) { return; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            tree.baseOperation('/tender/' + getTenderId() + '/ledger/base-operation', node, 'down-move', function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                self.refreshTree(sheet, result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                sheet.setSelection(tree.nodes.indexOf(node), sel.col, sel.rowCount, sel.colCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                self.refreshOperationValid(sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            });*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * 升级选中节点 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -344,20 +318,6 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     self.refreshOperationValid(sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/*            const self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const sheet = spread.getActiveSheet(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const row = sheet.getSelections()[0].row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const tree = sheet.zh_tree; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!tree) { return; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const node = tree.nodes[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!node) { return; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            tree.baseOperation('/tender/' + getTenderId() + '/ledger/base-operation', node, 'up-level', function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                self.refreshTree(sheet, result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                self.refreshOperationValid(sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            });*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * 降级选中节点 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -380,20 +340,6 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     self.refreshOperationValid(sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/*            const self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const sheet = spread.getActiveSheet(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const row = sheet.getSelections()[0].row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const tree = sheet.zh_tree; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!tree) { return; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const node = tree.nodes[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (!node) { return; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            tree.baseOperation('/tender/' + getTenderId() + '/ledger/base-operation', node, 'down-level', function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                self.refreshTree(sheet, result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                self.refreshOperationValid(sheet); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            });*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * 编辑单元格响应事件 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -449,9 +395,6 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     const refreshNode = ledgerTree.loadPostData(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     treeOperationObj.refreshTree(info.sheet, refreshNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                /*info.sheet.zh_tree.update('/tender/' + getTenderId() + '/ledger/update', data, function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    treeOperationObj.refreshTree(info.sheet, result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                });*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -517,14 +460,6 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }, function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         SpreadJsObj.reLoadRowData(info.sheet, info.cellRange.row, info.cellRange.rowCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    /*info.sheet.zh_tree.update('/tender/' + getTenderId() + '/ledger/update', datas, function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if (result.update) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            result.update = result.update.concat(filterNodes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        treeOperationObj.refreshTree(info.sheet, result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }, function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        SpreadJsObj.reLoadRowData(info.sheet, info.cellRange.row, info.cellRange.rowCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    });*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     SpreadJsObj.reLoadRowData(info.sheet, info.cellRange.row, info.cellRange.rowCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -580,8 +515,9 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (datas.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    sheet.zh_tree.update('/tender/' + getTenderId() + '/ledger/update', datas, function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        treeOperationObj.refreshTree(sheet, result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    postData(window.location.pathname + '/update', {postType: 'update', postData: datas}, function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        const refreshNode = tree.loadPostData(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        treeOperationObj.refreshTree(sheet, refreshNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -665,10 +601,6 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     callback(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     treeOperationObj.refreshTree(sheet, refreshNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                /*sheet.zh_tree.update('/tender/' + getTenderId() + '/ledger/update', datas, function (result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    callback(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    treeOperationObj.refreshTree(sheet, result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                });*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 |