|  | @@ -58,6 +58,7 @@ let calcProgramManage = {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          me.mainSpread.getSheet(0).bind(GC.Spread.Sheets.Events.EnterCell, me.onMainEnterCell);
 | 
	
		
			
				|  |  |          me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.ValueChanged, me.onDetailValueChanged);
 | 
	
		
			
				|  |  | +        me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.RangeChanged, me.onRangeChanged);
 | 
	
		
			
				|  |  |          me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.EnterCell, me.onDetailEnterCell);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          let mSheet = me.mainSpread.getSheet(0);
 | 
	
	
		
			
				|  | @@ -83,6 +84,18 @@ let calcProgramManage = {
 | 
	
		
			
				|  |  |          sheetCommonObj.showData(dSheet, me.detailSetting, dData);
 | 
	
		
			
				|  |  |          me.detailSpread.resumePaint();
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | +    onRangeChanged:function (sender,args) {
 | 
	
		
			
				|  |  | +        let me = calcProgramManage;
 | 
	
		
			
				|  |  | +        let editInfo= me.getSelectionInfo();
 | 
	
		
			
				|  |  | +        let dataCode = me.detailSetting.header[args.col].dataCode;
 | 
	
		
			
				|  |  | +        if (args.action == GC.Spread.Sheets.RangeChangedAction.clear&&args.changedCells.length == 1) {//清除操作
 | 
	
		
			
				|  |  | +            if (dataCode == 'feeRate') {
 | 
	
		
			
				|  |  | +                $.bootstrapLoading.start();
 | 
	
		
			
				|  |  | +                projectObj.project.FeeRate.updateFeeRateFromCalc(null, editInfo);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |      onDetailValueChanged: function(sender, args) {
 | 
	
		
			
				|  |  |          $.bootstrapLoading.start();
 | 
	
		
			
				|  |  |          let me = calcProgramManage;
 | 
	
	
		
			
				|  | @@ -94,13 +107,13 @@ let calcProgramManage = {
 | 
	
		
			
				|  |  |              projectObj.project.FeeRate.updateFeeRateFromCalc(args.newValue, editInfo);
 | 
	
		
			
				|  |  |              $.bootstrapLoading.end();
 | 
	
		
			
				|  |  |              return;
 | 
	
		
			
				|  |  | -        };
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if (dataCode == 'displayFieldName') {
 | 
	
		
			
				|  |  |              if (curCalcItem.displayFieldName == args.newValue) {
 | 
	
		
			
				|  |  |                  $.bootstrapLoading.end();
 | 
	
		
			
				|  |  |                  return;
 | 
	
		
			
				|  |  | -            };
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if (analyzer.fieldNameIsUsed(me.getSelectionInfo().template, args.newValue)){
 | 
	
		
			
				|  |  |                  let sheet = me.detailSpread.getActiveSheet();
 | 
	
	
		
			
				|  | @@ -110,7 +123,7 @@ let calcProgramManage = {
 | 
	
		
			
				|  |  |                  $.bootstrapLoading.end();
 | 
	
		
			
				|  |  |                  alert(`“${args.newValue}” 已被其它行使用,不允许重复选择!`);
 | 
	
		
			
				|  |  |                  return;
 | 
	
		
			
				|  |  | -            };
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              curCalcItem.fieldName = projectObj.project.calcProgram.compiledFeeTypeMaps[args.newValue];
 | 
	
		
			
				|  |  |          }
 |