|  | @@ -99,7 +99,7 @@ var projectObj = {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return value;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    checkQuantityField: function (editingText, colSetting) {
 | 
	
		
			
				|  |  | +    checkFormulaValidField: function (editingText, colSetting) {
 | 
	
		
			
				|  |  |          let value = Number(editingText);
 | 
	
		
			
				|  |  |          if (!value) {
 | 
	
		
			
				|  |  |              try {
 | 
	
	
		
			
				|  | @@ -119,34 +119,12 @@ var projectObj = {
 | 
	
		
			
				|  |  |          return value;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      checkSpreadEditingText: function (editingText, colSetting) {
 | 
	
		
			
				|  |  | -        if (colSetting.data.field === 'quantity') {
 | 
	
		
			
				|  |  | -            return this.checkQuantityField(editingText, colSetting);
 | 
	
		
			
				|  |  | +        if (colSetting.data.field === 'quantity' || colSetting.data.field === 'feesIndex.common.unitFee') {
 | 
	
		
			
				|  |  | +            return this.checkFormulaValidField(editingText, colSetting);
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              return this.checkCommonField(editingText, colSetting);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    checkBusinessValidate: function (value, node, fieldName) {
 | 
	
		
			
				|  |  | -        let project = projectObj.project;
 | 
	
		
			
				|  |  | -        if (!project) {
 | 
	
		
			
				|  |  | -            return false;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (node.sourceType !== project.VolumePrice.getSourceType() && fieldName === 'quantity') {
 | 
	
		
			
				|  |  | -            return project.quantity_detail.quantityEditChecking(value,node,fieldName);
 | 
	
		
			
				|  |  | -        } else if (fieldName === 'code') {
 | 
	
		
			
				|  |  | -            if (node.sourceType === project.Bills.getSourceType()) {
 | 
	
		
			
				|  |  | -                return project.Bills.CodeChecking(value, node);
 | 
	
		
			
				|  |  | -            } else if (node.sourceType === project.Ration.getSourceType()) {
 | 
	
		
			
				|  |  | -                return project.Ration.CodeChecking(value, node);
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -                return true;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        } else {
 | 
	
		
			
				|  |  | -            return true;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    billsCodeEdited: function (value, node) {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  |      updateAndReCalculate: function (node, fieldName, value) {
 | 
	
		
			
				|  |  |          let project = projectObj.project, calc = new BillsCalcHelper(project), nodes = [];
 | 
	
		
			
				|  |  |          let getNodes = function (node) {
 | 
	
	
		
			
				|  | @@ -196,7 +174,7 @@ var projectObj = {
 | 
	
		
			
				|  |  |          if (value && value !== calcFees.getFee(node.data, fieldName)) {
 | 
	
		
			
				|  |  |              if (fieldName === 'code') {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            } else if (fieldName === 'quantity' && projectObj.checkBusinessValidate(value, node, fieldName)) {
 | 
	
		
			
				|  |  | +            } else if (fieldName === 'quantity' && project.quantity_detail.quantityEditChecking(value,node,fieldName)) {
 | 
	
		
			
				|  |  |                  projectObj.updateAndReCalculate(node, fieldName, value);
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  if (node.sourceType === project.Bills.getSourceType()) {
 |