|  | @@ -14,6 +14,7 @@ var feeRateObject={
 | 
	
		
			
				|  |  |      changeInfo:null,
 | 
	
		
			
				|  |  |      feeRateSpreads:null,
 | 
	
		
			
				|  |  |      editingCell:null,
 | 
	
		
			
				|  |  | +    feeRateSelection:null,
 | 
	
		
			
				|  |  |      sheetSetting: {
 | 
	
		
			
				|  |  |          header: [
 | 
	
		
			
				|  |  |              {headerName: "专业名称", headerWidth: 200, dataCode: "name", dataType: "String"},
 | 
	
	
		
			
				|  | @@ -117,11 +118,11 @@ var feeRateObject={
 | 
	
		
			
				|  |  |      createSheet:function(){
 | 
	
		
			
				|  |  |          var feeRateFile = projectObj.project.FeeRate.getActivateFeeRate();
 | 
	
		
			
				|  |  |          feeRateObject.feeRateSpreads=sheetCommonObj.buildSheet($('#fee_rate_sheet')[0], feeRateObject.sheetSetting,feeRateFile.rates.length);
 | 
	
		
			
				|  |  | -        //gljOprObj.gljLibSpresd.bind(GC.Spread.Sheets.Events.ButtonClicked,gljOprObj.onButtonClick);
 | 
	
		
			
				|  |  |          feeRateObject.feeRateSheet = feeRateObject.feeRateSpreads.getSheet(0);
 | 
	
		
			
				|  |  |          feeRateObject.feeRateSheet.selectionUnit(1)//0 cell,1 row,2 col;
 | 
	
		
			
				|  |  |          feeRateObject.feeRateSheet.options.isProtected = true;
 | 
	
		
			
				|  |  |          feeRateObject.feeRateSheet.name('fee_rate');
 | 
	
		
			
				|  |  | +        feeRateObject.feeRateSheet.bind(GC.Spread.Sheets.Events.CellClick,feeRateObject.onCellClick);
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      showSelectTree:function () {
 | 
	
		
			
				|  |  |          var sheet= feeRateObject.feeRateSheet;
 | 
	
	
		
			
				|  | @@ -256,7 +257,7 @@ var feeRateObject={
 | 
	
		
			
				|  |  |                  if(feeRateObject.editingCell.row==options.row&&feeRateObject.editingCell.col==options.col){
 | 
	
		
			
				|  |  |                      var image = document.getElementById('f_btn'),imageMagin = 3;
 | 
	
		
			
				|  |  |                      var imageHeight = h-2*imageMagin;
 | 
	
		
			
				|  |  | -                    var imageWidth = imageHeight* 4/3;
 | 
	
		
			
				|  |  | +                    var imageWidth = w*2/7;
 | 
	
		
			
				|  |  |                      var imageX = x + w - imageWidth- imageMagin, imageY = y + h / 2 - imageHeight / 2;
 | 
	
		
			
				|  |  |                      ctx.save();
 | 
	
		
			
				|  |  |                      ctx.drawImage(image, imageX, imageY,imageWidth,imageHeight);
 | 
	
	
		
			
				|  | @@ -283,20 +284,27 @@ var feeRateObject={
 | 
	
		
			
				|  |  |              };
 | 
	
		
			
				|  |  |          };
 | 
	
		
			
				|  |  |          FeeRateEditCellType.prototype.processMouseDown = function (hitinfo) {
 | 
	
		
			
				|  |  | -            if(feeRateObject.editingCell==null){
 | 
	
		
			
				|  |  | -                feeRateObject.editingCell={
 | 
	
		
			
				|  |  | -                    row:hitinfo.row,
 | 
	
		
			
				|  |  | -                    col:hitinfo.col
 | 
	
		
			
				|  |  | +            var me=feeRateObject;
 | 
	
		
			
				|  |  | +            if(me.editingCell==null){
 | 
	
		
			
				|  |  | +                var showSelectBtn = true;
 | 
	
		
			
				|  |  | +                if(hitinfo.sheet.name()!='calc_detail'){
 | 
	
		
			
				|  |  | +                    showSelectBtn=me.ifFeeRateEdit();
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                hitinfo.sheet.invalidateLayout();
 | 
	
		
			
				|  |  | -                hitinfo.sheet.repaint();
 | 
	
		
			
				|  |  | -            }else if(hitinfo.row==feeRateObject.editingCell.row){
 | 
	
		
			
				|  |  | +                if(showSelectBtn){
 | 
	
		
			
				|  |  | +                    me.editingCell={
 | 
	
		
			
				|  |  | +                        row:hitinfo.row,
 | 
	
		
			
				|  |  | +                        col:hitinfo.col
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    hitinfo.sheet.invalidateLayout();
 | 
	
		
			
				|  |  | +                    hitinfo.sheet.repaint();
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }else if(hitinfo.row==me.editingCell.row){
 | 
	
		
			
				|  |  |                  var offset=hitinfo.cellRect.x+hitinfo.cellRect.width-6;
 | 
	
		
			
				|  |  |                  var imageMagin=3;
 | 
	
		
			
				|  |  |                  var imageHeight = hitinfo.cellRect.height-2*imageMagin;
 | 
	
		
			
				|  |  |                  var imageWidth = imageHeight* 4/3;
 | 
	
		
			
				|  |  |                  if(hitinfo.x<offset&&hitinfo.x>offset-imageWidth){
 | 
	
		
			
				|  |  | -                    feeRateObject.showSelectModal(hitinfo);
 | 
	
		
			
				|  |  | +                    me.showSelectModal(hitinfo);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          };
 | 
	
	
		
			
				|  | @@ -310,7 +318,6 @@ var feeRateObject={
 | 
	
		
			
				|  |  |      showSelectModal:function (hitinfo) {
 | 
	
		
			
				|  |  |          $("#fee_rate_tree").modal({show:true});
 | 
	
		
			
				|  |  |          $('#edit_from').val(hitinfo.sheet.name());
 | 
	
		
			
				|  |  | -        $('#edit_row').val(hitinfo.row);
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      setSheetGroup:function (rate,data,groups,row) {
 | 
	
		
			
				|  |  |          var me=this;
 | 
	
	
		
			
				|  | @@ -334,6 +341,10 @@ var feeRateObject={
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return children.length+sum;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | +    ifFeeRateEdit:function () {
 | 
	
		
			
				|  |  | +        var selected = projectObj.project.mainTree.selected;
 | 
	
		
			
				|  |  | +        return MainTreeCol.readOnly.forCalcBase(selected)?false:true;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |      createSpreadView:function () {
 | 
	
		
			
				|  |  |          if (this.mainViews) {
 | 
	
		
			
				|  |  |              this.mainViews.destroy();
 | 
	
	
		
			
				|  | @@ -602,6 +613,22 @@ var feeRateObject={
 | 
	
		
			
				|  |  |              projectObj.project.FeeRate.synchronizeFeeRate();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          projectObj.project.FeeRate.changeFeeRateFileFromOthers(feeRateFileID,name,callback);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    setFeeRateCellCol:function (sheet,col) {
 | 
	
		
			
				|  |  | +        sheet.getRange(-1, col, -1, 1).cellType(this.getFeeRateEditCellType());
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    onCellClick:function (sender,args) {
 | 
	
		
			
				|  |  | +       var data =projectObj.project.FeeRate.getActivateFeeRate().rates;
 | 
	
		
			
				|  |  | +       feeRateObject.feeRateSelection=data[args.row];
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    checkSelectedFeeRate:function () {
 | 
	
		
			
				|  |  | +        var validate = false;
 | 
	
		
			
				|  |  | +        var data =projectObj.project.FeeRate.getActivateFeeRate().rates;
 | 
	
		
			
				|  |  | +        if(feeRateObject.feeRateSelection!=null){
 | 
	
		
			
				|  |  | +            var children=_.filter(data,{'ParentID':feeRateObject.feeRateSelection.ID});
 | 
	
		
			
				|  |  | +            validate=children&&children.length==0;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return validate;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -764,6 +791,7 @@ $('#fee_rate_tree').on('shown.bs.modal', function (e) {
 | 
	
		
			
				|  |  |      if(feeRateObject.feeRateSpreads==null){
 | 
	
		
			
				|  |  |          feeRateObject.createSheet();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +    feeRateObject.feeRateSelection=null;
 | 
	
		
			
				|  |  |      feeRateObject.showSelectTree();
 | 
	
		
			
				|  |  |  });
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -774,4 +802,17 @@ $('#fee_rate_tree').on('hidden.bs.modal', function (e) {
 | 
	
		
			
				|  |  |          $('#edit_from').val('');
 | 
	
		
			
				|  |  |          $('#edit_row').val('');
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -});
 | 
	
		
			
				|  |  | +});
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +$('#fee_selected_conf').bind('click',function (){
 | 
	
		
			
				|  |  | +    var validate = feeRateObject.checkSelectedFeeRate();
 | 
	
		
			
				|  |  | +    if(validate){
 | 
	
		
			
				|  |  | +        if($('#edit_from').val()=='calc_detail'){
 | 
	
		
			
				|  |  | +            //do calc_detail
 | 
	
		
			
				|  |  | +        }else {
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    console.log(validate);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +})
 |