mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
modificando albaranes
This commit is contained in:
@ -57,7 +57,7 @@ $('#generar_albaranes').on('click', function(){
|
||||
generarAlbaran(item);
|
||||
});
|
||||
}
|
||||
calcular_cantidades_albaranes();
|
||||
cambios_cantidad_albaranes();
|
||||
}
|
||||
});
|
||||
})
|
||||
@ -451,13 +451,28 @@ function generarAlbaran(item){
|
||||
|
||||
|
||||
$(document).on('change', '#tablaAlbaran' + item.albaran.id + ' .cantidad-albaran', function(){
|
||||
|
||||
let table = $('#tablaAlbaran' + item.albaran.id).DataTable();
|
||||
let row = $(this).closest('tr'); // Encuentra la fila actual
|
||||
let rowIndex = table.row(row).index(); // Obtiene el índice de la fila
|
||||
let newValue = $(this).val(); // Obtiene el nuevo valor del input
|
||||
// Actualiza el DataTable
|
||||
table.cell(rowIndex, 2).data(newValue);
|
||||
calcular_cantidades_albaranes();
|
||||
|
||||
const previousValue = table.cell(rowIndex, 2).data();
|
||||
const newValue = $(this).val(); // Obtiene el nuevo valor del input
|
||||
|
||||
let cantidad = calcular_cantidad_albaranes();
|
||||
|
||||
if(cantidad-previousValue+newValue <= parseInt($('#total_tirada').val()) ){
|
||||
// Actualiza el DataTable
|
||||
table.cell(rowIndex, 2).data(newValue);
|
||||
const cajas = parseInt(table.cell(rowIndex, 6).data());
|
||||
table.cell(rowIndex, 7).data(parseInt(newValue/cajas));
|
||||
cambios_cantidad_albaranes();
|
||||
}
|
||||
else{
|
||||
$(this).val(previousValue);
|
||||
table.cell(rowIndex, 7).data(previousValue);
|
||||
table.draw();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -502,6 +517,8 @@ $(document).on('change', '.mostrar-precios', function(){
|
||||
var albaran_id = $(this).attr('albaran_id');
|
||||
var table = $('#tablaAlbaran' + albaran_id).DataTable();
|
||||
|
||||
|
||||
|
||||
var url = '<?= route_to('actualizarAlbaran', ':id') ?>';
|
||||
url = url.replace(':id', albaran_id );
|
||||
|
||||
@ -563,6 +580,16 @@ $(document).on('change', '.albaran_linea', function(){
|
||||
};
|
||||
data[elementId.split('_').slice(0, -1).join('_')] = $(this).val();
|
||||
|
||||
if(elementId.includes('cajas')){
|
||||
var cajas = $(this).val();
|
||||
var linea_id = elementId.split('_').slice(-1)[0];
|
||||
var table = $('#tablaAlbaran' + $(this).attr('albaran')).DataTable();
|
||||
var row = table.row($(this).closest('tr')).index();
|
||||
var cantidad = table.cell(row, 2).data();
|
||||
table.cell(row, 7).data(parseInt(cantidad/cajas));
|
||||
data['ejemplares_por_caja'] = parseInt(cantidad/cajas);
|
||||
}
|
||||
|
||||
var linea_id = $(this).attr('linea');
|
||||
var url = '<?= route_to('actualizarLineaAlbaran', ':id') ?>';
|
||||
url = url.replace(':id', linea_id );
|
||||
@ -711,21 +738,31 @@ $.ajax({
|
||||
generarAlbaran(item);
|
||||
});
|
||||
|
||||
calcular_cantidades_albaranes();
|
||||
cambios_cantidad_albaranes();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function calcular_cantidades_albaranes(){
|
||||
function calcular_cantidad_albaranes(){
|
||||
let cantidad_albaranes = 0;
|
||||
const tablas = $('.table.table-albaran');
|
||||
const tabla_pedido = $('#tableOfLineasPedido').DataTable();
|
||||
const titulo = tabla_pedido.column(3).data().toArray()[0];
|
||||
for(var i = 0; i < tablas.length; i++){
|
||||
var table = $(tablas[i]).DataTable();
|
||||
table.rows().every(function(){
|
||||
cantidad_albaranes += parseInt(this.data().cantidad) || 0;
|
||||
if(titulo && titulo.length >0 && this.data() && titulo.includes(this.data().titulo)){
|
||||
cantidad_albaranes += parseInt(this.data().cantidad) || 0;
|
||||
}
|
||||
});
|
||||
}
|
||||
return cantidad_albaranes;
|
||||
}
|
||||
|
||||
|
||||
function cambios_cantidad_albaranes(){
|
||||
const cantidad_albaranes = calcular_cantidad_albaranes();
|
||||
check_cantidad_albaranes(cantidad_albaranes);
|
||||
}
|
||||
|
||||
|
||||
@ -99,6 +99,7 @@ var tableOfLineasPedido = new DataTable('#tableOfLineasPedido',{
|
||||
drawCallback: function(){
|
||||
$(this.api().table().container()).find('table').css('width', '100%');
|
||||
this.api().columns.adjust();
|
||||
cambios_cantidad_albaranes();
|
||||
},
|
||||
footerCallback: function (row, data, start, end, display) {
|
||||
let api = this.api();
|
||||
|
||||
Reference in New Issue
Block a user