Feat: Se agrega calculo de subtotal para 1 sola linea

This commit is contained in:
Rodia 2024-08-17 09:18:48 -05:00
parent efad80970b
commit c10aa4b9ca
2 changed files with 36 additions and 0 deletions

View File

@ -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);
});

View File

@ -18,4 +18,5 @@
<br/><button name="form" type="submit" >Comprar</button>
<script src="{% static 'js/add_line.js' %}"></script>
<script src="{% static 'js/sale_summary.js' %}"></script>
<script src="{% static 'js/calculate_subtotal_line.js' %}"></script>
</form>