view: calculando resumen de compra.
This commit is contained in:
		
							
								
								
									
										33
									
								
								tienda_ilusion/don_confiao/static/js/sale_summary.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								tienda_ilusion/don_confiao/static/js/sale_summary.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| const complete_form = document.getElementById('complete_form_purchase') | ||||
| const quantityLines = document.getElementById('id_quantity_lines'); | ||||
| const quantityProducts = document.getElementById('id_quantity_products'); | ||||
| const ammountInput = document.getElementById('id_ammount'); | ||||
| const idPrefix = 'id_saleline_set-'; | ||||
|  | ||||
| complete_form.addEventListener('change', function(event){ | ||||
|     if (event.target.matches('[id^="${idPrefix}"][id$="-quantity"]')) { | ||||
|         calculateSummary(); | ||||
|     } | ||||
|     if (event.target.matches('[id^="id_saleline_set-"][id$="-unit_price"]')) { | ||||
|         calculateSummary(); | ||||
|     } | ||||
| }); | ||||
|  | ||||
|  | ||||
| function calculateSummary() { | ||||
|     let quantity = 0; | ||||
|     let ammount = 0; | ||||
|     const quantityInputs = document.querySelectorAll('[id^="id_saleline_set-"][id$="-quantity"]'); | ||||
|     const ids = Array.prototype.map.call(quantityInputs, function(input) { | ||||
|         return input.id.match(/\d+/)[0]; | ||||
|     }); | ||||
|     ids.forEach(function(id) { | ||||
|         let lineQuantity = document.getElementById(`id_saleline_set-${id}-quantity`) | ||||
|         let linePrice = document.getElementById(`id_saleline_set-${id}-unit_price`) | ||||
|         quantity += parseFloat(lineQuantity.value); | ||||
|         ammount += parseFloat(linePrice.value) * parseFloat(lineQuantity.value); | ||||
|     }); | ||||
|     quantityProducts.value = quantity; | ||||
|     quantityLines.value = quantityInputs.length; | ||||
|     ammountInput.value = ammount; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user