|  | @@ -381,8 +381,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(){
 | 
	
	
		
			
				|  | @@ -505,6 +507,7 @@
 | 
	
		
			
				|  |  |          controller.setTreeSelected(controller.tree.findNode(controller.sheet.getTag(0, 0)));
 | 
	
		
			
				|  |  |          //粘贴事件
 | 
	
		
			
				|  |  |          bindPasteBills(controller, billsSpread.getActiveSheet(), setting);
 | 
	
		
			
				|  |  | +        bindBillsRangeChanged(controller, billsSpread.getActiveSheet(), setting);
 | 
	
		
			
				|  |  |          //补注内容改变
 | 
	
		
			
				|  |  |          rechargeChange(controller);//
 | 
	
		
			
				|  |  |          //焦点控制
 | 
	
	
		
			
				|  | @@ -843,6 +846,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) {
 |