| 
					
				 | 
			
			
				@@ -380,8 +380,10 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tools.redirect(billsLibId, 'stdBillsmain'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let billsSpread; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let jobsSpread = new GC.Spread.Sheets.Workbook($("#spreadJobs")[0], {sheetCount: 1}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    jobsSpread.options.allowUserDragFill = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     sheetCommonObj.bindEscKey(jobsSpread, [{sheet: jobsSpread.getSheet(0), editStarting: jobsController.onEditStart, editEnded: jobsController.onEditEnded}]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let itemsSpread = new GC.Spread.Sheets.Workbook($("#spreadItems")[0], {sheetCount: 1}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    itemsSpread.options.allowUserDragFill = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     sheetCommonObj.bindEscKey(itemsSpread, [{sheet: itemsSpread.getSheet(0), editStarting: itemsController.onEditStart, editEnded: itemsController.onEditEnded}]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $(document).ready(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $("#aStdJobs").attr('href', function(){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -488,6 +490,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         controller.setTreeSelected(controller.tree.findNode(controller.sheet.getTag(0, 0))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //粘贴事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         bindPasteBills(controller, billsSpread.getActiveSheet(), setting); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        bindBillsRangeChanged(controller, billsSpread.getActiveSheet(), setting); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //补注内容改变 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         rechargeChange(controller); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //焦点控制 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -822,6 +825,41 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             sheet.setRowCount(sheetBillsDatas.datas.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function bindBillsRangeChanged(controller, sheet, setting) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheet.bind(GC.Spread.Sheets.Events.RangeChanged, function (sender, info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const postData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let curRow; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let curData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            info.changedCells.forEach(({ row, col }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const node = controller.tree.items[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (curRow !== row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    curData = { ID: node.data.ID }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    postData.push(curData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                curRow = row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const field = setting.cols[col].data.field; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const value = sheet.getValue(row, col); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                curData[field] = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            billsAjax.pasteBills(userAccount, billsLibId, postData, function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                info.changedCells.forEach(({ row, col }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    const node = controller.tree.items[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    const field = setting.cols[col].data.field; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    const value = sheet.getValue(row, col); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    node.data[field] = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    sheetBillsDatas.datasIdx['rowIdx' + row][field] = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                info.changedCells.forEach(({ row, col }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    const node = controller.tree.items[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    const field = setting.cols[col].data.field; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    sheet.setValue(row, col, node.data[field] || ''); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function bindPasteRel(sheet, controller, totalJobs, setting){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //sheetDatas = tools.getsheetDatas(sheet, 'jobs'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, function (sender, args) { 
			 |