ya funciona añadir los servicios

This commit is contained in:
Jaime Jiménez
2024-02-21 21:58:58 +01:00
parent ae133e8bea
commit 417bc74e1f
10 changed files with 150 additions and 49 deletions

View File

@ -180,10 +180,10 @@
<div class="col-md-12 col-lg-6 px-4">
<div class="row">
<div class="mb-1">
<label id="label_papelFormatoId" for="papelFormatoId" class="form-label">
<label id="label_acabado_cubierta_id" for="acabado_cubierta_id" class="form-label">
<?= lang('Presupuestos.acabadoCubierta') ?>*
</label>
<select id="papelFormatoId" name="papel_formato_id" tabindex="3" class="form-control select2bs2" style="width: 100%;">
<select id="acabado_cubierta_id" name="acabado_cubierta_id" tabindex="3" class="form-control select2bs2" style="width: 100%;">
<?php if (isset($acabadosCubierta) && is_array($acabadosCubierta) && !empty($acabadosCubierta)) :
foreach ($acabadosCubierta as $acabado) : ?>
<option value="<?= $acabado->id ?>" <?= $acabado->id == $presupuestoEntity->acabado_cubierta_id ? ' selected' : '' ?>>
@ -198,10 +198,10 @@
<div class="col-md-12 col-lg-6 px-4">
<div class="row">
<div class="mb-1">
<label id="label_papelFormatoId" for="papelFormatoId" class="form-label">
<label id="label_acabado_sobrecubierta_id" for="acabado_sobrecubierta_id" class="form-label">
<?= lang('Presupuestos.acabadoSobrecubierta') ?>*
</label>
<select id="papelFormatoId" name="papel_formato_id" tabindex="3" class="form-control select2bs2" style="width: 100%;">
<select id="acabado_sobrecubierta_id" name="acabado_sobrecubierta_id" tabindex="3" class="form-control select2bs2" style="width: 100%;">
<?php if (isset($acabadosSobrecubierta) && is_array($acabadosSobrecubierta) && !empty($acabadosSobrecubierta)) :
foreach ($acabadosSobrecubierta as $acabado) : ?>
<option value="<?= $acabado->id ?>" <?= $acabado->id == $presupuestoEntity->acabado_sobrecubierta_id ? ' selected' : '' ?>>
@ -506,6 +506,9 @@ function event_change_formato(){
$('#compPaginasNegrohq').trigger('change');
}
$('#compPapelCubierta').trigger('change');
$('#compPapelSobrecubierta').trigger('change');
update_servicios(false)
}
@ -520,6 +523,7 @@ $("#solapas").on("click", function () {
}
else {
e.style.display = "none";
$('#solapas_ancho').val(0)
}
$('#serv_default').click()
@ -533,6 +537,7 @@ $("#solapas_sobrecubierta").on("click", function () {
}
else {
e.style.display = "none";
$('#solapas_ancho_sobrecubierta').val(0)
}
$('#serv_default').click()

View File

@ -1398,8 +1398,7 @@
color: 1,
ancho: dimension.ancho,
alto: dimension.alto,
lomo: getLomoLineasPresupuesto(),
lomo_cubierta: getLomoCubiertaLineasPresupuesto(),
lomo: getLomoLineasPresupuesto() + getLomoCubiertaLineasPresupuesto(),
solapas: $('#solapas_sobrecubierta').is(':checked')?1:0,
solapas_ancho: $('#solapas_sobrecubierta').is(':checked')?parseInt($('#solapas_ancho_sobrecubierta').val()):0,
papel_generico_id: $('#compPapelSobrecubierta').select2('data')[0].id,

View File

@ -259,13 +259,15 @@
$(document).on('click', '.btn-delete-serv', function(e) {
const dataId = $(this).attr('data-id');
const rowId = $(this).closest('td').parent()[0].sectionRowIndex;
var dataText = null;
var table = "";
if($(this).closest('table').attr('id').includes('tableOfServiciosEncuadernacion')){
table = "tableOfServiciosEncuadernacion";
}
else if($(this).closest('table').attr('id').includes('tableOfServiciosAcabado')){
table = "tableOfServiciosAcabado";
dataText = $(this).attr('data-text');
}
else if($(this).closest('table').attr('id').includes('tableOfServiciosManipulado')){
table = "tableOfServiciosManipulado";
@ -278,11 +280,18 @@
}
if(table != ""){
if(dataText==null){
$('#' + table).DataTable().rows( function ( idx, data, node ) {
return data[0] === dataId;
} )
.remove()
.draw();
}
$('#' + table).DataTable().rows( function ( idx, data, node ) {
return data[0] === dataId;
} )
.remove()
.draw();
return ((data[0] === dataId) && (data[1]=== dataText));
} )
.remove()
.draw();
}
check_serv_enc_error()
@ -528,13 +537,20 @@
serviciosacabadosList.forEach((element) =>{
nombre_completo = element.nombre
if (element.cubierta == 1){
nombre_completo += ' (<?= lang("Presupuestos.cubierta") ?>)'
}
else if (element.sobrecubierta == 1){
nombre_completo += ' (<?= lang("Presupuestos.sobrecubierta") ?>)'
}
tableServiciosAcabado.row.add([
element.tarifa_acabado_id,
element.nombre,
nombre_completo,
'<span id="precio_unidad_acabado_' + element.tarifa_acabado_id + '">' + parseFloat(element.precio_unidad).toFixed(2) + '</span>',
'<input class="update-totales" id="precio_total_acabado_' + element.tarifa_acabado_id +'" value="' + parseFloat(element.precio_total).toFixed(2) + '"></input>',
'<span style="display: none;" class="update-totales" id="acabado_margen_' + element.tarifa_acabado_id + '">' + parseFloat(element.margen).toFixed(2) + '</span>',
'<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + element.tarifa_acabado_id +'"></i></a>'
'<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + element.tarifa_acabado_id +'" data-text="' + nombre_completo + '"></i></a>'
]).draw(false)
})
@ -561,7 +577,7 @@
$('#serv-acabado-error').html(htmlString)
}
function get_tarifas_acabado(tarifa_id = -1){
function get_tarifas_acabado(tarifa_id = -1, uso=null){
if(parseInt($('#tirada').val())>0){
var tirada = parseInt($('#tirada').val())
@ -586,13 +602,17 @@
data.values.forEach((row) => {
nombre = row.tarifa_nombre
if(uso!= null)
nombre += ' (' + uso + ')'
tableServiciosAcabado.row.add([
row.tarifa_id,
row.tarifa_nombre,
nombre,
'<span id="precio_unidad_acabado_' + row.tarifa_id + '">' + parseFloat(row.precio_unidad).toFixed(2) + '</span>',
'<input class="update-totales" id="precio_total_acabado_' + row.tarifa_id +'" value="' + parseFloat(row.total).toFixed(2) + '"></input>',
'<span style="display: none;" class="update-totales" id="acabado_margen_' + row.tarifa_id + '">' + parseFloat(row.margen).toFixed(2) + '</span>',
'<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + row.tarifa_id +'"></i></a>'
'<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + row.tarifa_id +'" data-text="' + nombre +'"></i></a>'
]).draw(false)
});
@ -659,7 +679,14 @@
const tarifa_text = $('#add_servicio_acabado_list').select2('data')[0].text.trim()
if( $('#add_servicio_acabado_list').select2('data')[0].text.trim().length > 0){
if($('#tableOfServiciosAcabado tr > td:contains(' + tarifa_text + ')').length == 0)
found = false
var rows = $("#tableOfServiciosAcabado").DataTable().rows( ).data().toArray();
for(row of rows){
if(row[1]== tarifa_text)
found = true
continue
}
if(!found)
get_tarifas_acabado($('#add_servicio_acabado_list').select2('data')[0].id);
else{
popErrorAlert("<?= lang("Presupuestos.errores.error_servicios_duplicados") ?>", 'serv-acabado-alert')
@ -668,6 +695,18 @@
check_serv_acabado_error()
})
function insertar_acabado_exterior($servicio_id, $uso="cubierta"){
const tarifa_text = $('#add_servicio_acabado_list option[value="' + $servicio_id + '"]').text().trim() + ' (' +$uso + ')'
if($('#tableOfServiciosAcabado tr > td:contains(' + tarifa_text + ')').length == 0)
get_tarifas_acabado($servicio_id, $uso);
else{
}
check_serv_acabado_error()
}
function get_datos_acabado(){
var datosAcabado = []
@ -680,6 +719,16 @@
case 0:
values['tarifa_id'] = $(this).text()
break
case 1:
if($(this).text().includes(' (<?= lang("Presupuestos.cubierta") ?>)'))
values['cubierta'] = 1
else
values['cubierta'] = 0
if($(this).text().includes(' (<?= lang("Presupuestos.sobrecubierta") ?>)'))
values['sobrecubierta'] = 1
else
values['sobrecubierta'] = 0
break
case 2:
values['precio_unidad'] = $(this).text()
break

View File

@ -1003,15 +1003,21 @@ $('.insertarLinea').on("click", function (e) {
var rows = $("#tableCompCubierta").DataTable().rows( '.selected' ).data().toArray();
for(row of rows){
if(row.tipo == 'cubierta')
if(row.tipo == 'cubierta'){
fill_lp_cubierta(row, true);
if($('#acabado_cubierta_id').val() > 0)
insertar_acabado_exterior($('#acabado_cubierta_id').val(), '<?= lang("Presupuestos.cubierta") ?>')
}
}
clear_sobrecubierta();
for(row of rows){
if(row.tipo == 'sobrecubierta')
if(row.tipo == 'sobrecubierta'){
fill_lp_sobrecubierta(row, true);
if($('#acabado_sobrecubierta_id').val() > 0)
insertar_acabado_exterior($('#acabado_sobrecubierta_id').val(), '<?= lang("Presupuestos.sobrecubierta") ?>')
}
}
}
@ -3394,7 +3400,7 @@ function calcularPresupuesto_cubierta(fromComparador=false, input_data={}){
paginas_negro: 0,
paginas_color: 0,
solapas: $('#solapas').is(':checked')?1:0,
solapas_ancho: parseInt($('#solapas_ancho').val()),
solapas_ancho: $('#solapas').is(':checked')?parseInt($('#solapas_ancho').val()):0,
tirada: parseInt($('#tirada').val()),
merma: parseInt($('#mermacubierta').val()),
ancho: dimension.ancho,
@ -3489,6 +3495,8 @@ function fill_lp_cubierta(row, fromComparador=false){
$('#lp_cubierta_checkPapel').change()
check_update_sobrecubierta()
calcular_mermas()
updateTotales(true, false, false)
updateTablaEnvios()
@ -3658,14 +3666,13 @@ function calcularPresupuesto_sobrecubierta(fromComparador=false, input_data={}){
paginas: input_data.paginas,
paginas_negro: 0,
paginas_color: 0,
solapas: $('#solapas').is(':checked')?1:0,
solapas_ancho: parseInt($('#solapas_ancho').val()),
solapas: $('#solapas_sobrecubierta').is(':checked')?1:0,
solapas_ancho: $('#solapas_sobrecubierta').is(':checked')?parseInt($('#solapas_ancho_sobrecubierta').val()):0,
tirada: parseInt($('#tirada').val()),
merma: parseInt($('#mermacubierta').val()),
ancho: dimension.ancho,
alto: dimension.alto,
lomo: getLomoLineasPresupuesto(),
lomo_cubierta: getLomoCubiertaLineasPresupuesto(),
lomo: getLomoLineasPresupuesto() + getLomoCubiertaLineasPresupuesto,
papel_generico_id: input_data.papel_generico_id,
papel_generico: input_data.papel_generico,
gramaje: input_data.gramaje,