Feat: Se agrega calculo de subtotal para 1 sola linea
This commit is contained in:
		@@ -0,0 +1,35 @@
 | 
				
			|||||||
 | 
					function insertSubtotalField() {
 | 
				
			||||||
 | 
					  // Selecciona la fila de precio unitario para añadir la fila del subtotal después de ella
 | 
				
			||||||
 | 
					  const unitPriceRow = document.querySelector('input[id="id_saleline_set-0-unit_price"]').closest('tr');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Crear una nueva fila para el subtotal
 | 
				
			||||||
 | 
					  const subtotalRow = document.createElement('tr');
 | 
				
			||||||
 | 
					  subtotalRow.innerHTML = `
 | 
				
			||||||
 | 
					         <th><label for="id_saleline_set-0-subtotal">Subtotal:</label></th>
 | 
				
			||||||
 | 
					         <td><input type="number" name="saleline_set-0-subtotal" id="id_saleline_set-0-subtotal" readonly></td>
 | 
				
			||||||
 | 
					     `;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     // Insertar la fila del subtotal después de la fila del precio unitario
 | 
				
			||||||
 | 
					     unitPriceRow.after(subtotalRow);
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function calculateSubtotal() {
 | 
				
			||||||
 | 
					     const quantityElement = document.getElementById('id_saleline_set-0-quantity');
 | 
				
			||||||
 | 
					     const unitPriceElement = document.getElementById('id_saleline_set-0-unit_price');
 | 
				
			||||||
 | 
					     const subtotalElement = document.getElementById('id_saleline_set-0-subtotal');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     const quantity = parseFloat(quantityElement.value) || 0;
 | 
				
			||||||
 | 
					     const unitPrice = parseFloat(unitPriceElement.value) || 0;
 | 
				
			||||||
 | 
					     const subtotal = quantity * unitPrice;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     subtotalElement.value = subtotal.toFixed(2);
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Inserta el campo subtotal al cargar la página
 | 
				
			||||||
 | 
					 window.addEventListener('load', () => {
 | 
				
			||||||
 | 
					     insertSubtotalField();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     // Agregar los eventos para calcular el subtotal cuando cambie la cantidad o el precio unitario
 | 
				
			||||||
 | 
					     document.getElementById('id_saleline_set-0-quantity').addEventListener('input', calculateSubtotal);
 | 
				
			||||||
 | 
					     document.getElementById('id_saleline_set-0-unit_price').addEventListener('input', calculateSubtotal);
 | 
				
			||||||
 | 
					 });
 | 
				
			||||||
@@ -18,4 +18,5 @@
 | 
				
			|||||||
  <br/><button name="form" type="submit" >Comprar</button>
 | 
					  <br/><button name="form" type="submit" >Comprar</button>
 | 
				
			||||||
  <script src="{% static 'js/add_line.js' %}"></script>
 | 
					  <script src="{% static 'js/add_line.js' %}"></script>
 | 
				
			||||||
  <script src="{% static 'js/sale_summary.js' %}"></script>
 | 
					  <script src="{% static 'js/sale_summary.js' %}"></script>
 | 
				
			||||||
 | 
					  <script src="{% static 'js/calculate_subtotal_line.js' %}"></script>
 | 
				
			||||||
</form>
 | 
					</form>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user