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); | ||||
|  }); | ||||
		Reference in New Issue
	
	Block a user