| 
					
				 | 
			
			
				@@ -35,7 +35,12 @@ var VolumePrice = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             loadData (datas) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.datas = datas; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // generate Fees & Flags Index,For View & Calculate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for (let data of datas) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    data.feesIndex = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    data.fees.forEach(function (fee) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        data.feesIndex[fee.fieldName] = fee; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     this.maxID(data.ID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -135,6 +140,31 @@ var VolumePrice = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            calculate (volumePrice) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!calcFees.findFee(volumePrice, 'common')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    calcFees.addFee(volumePrice, 'common'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                volumePrice.feesIndex.common.totalFee = (volumePrice.feesIndex.common.unitFee * volumePrice.quantity).toDecimal(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                volumePrice.needRefresh = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            updateField(volumePrice, field, newValue) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                calcFees.setFee(volumePrice, field, newValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let updateData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (field === 'quantity' || field === 'feesIndex.common.unitFee') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    let data = {'ID': volumePrice.ID, 'projectID': this.getProject().ID()}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    data[field] = newValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    this.calculate(volumePrice); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    data.fees = volumePrice.fees; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    updateData.push({'updateType': 'ut_update', 'updateData': data}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    tools.owner.pushNow('updateVolumePrice', this.getSourceType(), updateData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    let data = {'ID': volumePrice.ID, 'projectID': this.getProject().ID()}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    data[field] = newValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    updateData.push({'updateType': 'ut_update', 'updateData': data}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    tools.owner.pushNow('updateVolumePrice', this.getSourceType(), updateData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return new volumePrice(); 
			 |