Merge branch 'fix/acabados_presupuesto_admin' into 'main'

Fix/acabados presupuesto admin

See merge request jjimenez/safekat!589
This commit is contained in:
2025-03-05 18:53:14 +00:00
6 changed files with 68 additions and 25 deletions

View File

@ -532,7 +532,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$data['datosLibro']['fajaColorSolapasAncho'] = $presupuesto->solapas_ancho_faja_color;
$data['datosLibro']['fajaColorAlto'] = $presupuesto->alto_faja_color;
$modelAcabado = model("App\Models\Tarifas\Acabados\TarifaAcabadoModel");
$modelAcabado = model("App\Models\Tarifas\Acabados\ServicioAcabadoModel");
$data['datosLibro']['acabadoCubierta']['id'] = $presupuesto->acabado_cubierta_id;
if ($presupuesto->acabado_cubierta_id == 0) {
$data['datosLibro']['acabadoCubierta']['text'] = "Ninguno";

View File

@ -279,14 +279,10 @@
<select id="compSobrecubierta" name="comp_sobrecubierta"
class="form-control select2bs2 comp_sobrecubierta_items" style="width: 100%;">
<option value="0">
<p>
<?= lang('Presupuestos.no') ?>
</p>
<?= lang('Presupuestos.no') ?>
</option>
<option value="1">
<p>
<?= lang('Presupuestos.si') ?>
</p>
<?= lang('Presupuestos.si') ?>
</option>
</select>
</div>

View File

@ -360,10 +360,10 @@ class Comparador {
});
this.sobrecubierta.on('change', () => {
if (this.sobrecubierta.select2('data')[0].id == 1) {
if ($('#solapas_sobrecubierta').prop('checked') == false) {
this.sobrecubierta.val(0);
/*if ($('#solapas_sobrecubierta').prop('checked') == false) {
this.sobrecubierta.val('0').trigger('change');
popErrorAlert(window.language.Presupuestos.errores.error_sobrecubierta_sin_solapas, 'divAlarmasComparador')
}
}*/
$('#solapas_sobrecubierta').prop('checked', true);
$('#div_solapas_ancho_sobrecubierta').removeClass('d-none');
$('#solapas_ancho_sobrecubierta').val(60);
@ -1458,7 +1458,7 @@ class Comparador {
return;
}
if (this.tipo_impresion_id != 5 && this.tipo_impresion_id != 6 && this.tipo_impresion_id != 7 && this.tipo_impresion_id != 8 && this.tipo_impresion_id != 21) {
if (this.sobrecubierta.val() == 1) {
if (this.sobrecubierta.select2('data').length >0 && parseInt(this.sobrecubierta.select2('data')[0].id) == 1) {
datosComp.sobrecubierta = this.getDataForComp('sobrecubierta');
if (datosComp.sobrecubierta.error) {
return;

View File

@ -92,7 +92,15 @@ class DatosLibro {
$(document).trigger('remove-servicio-lineas', 'acabadoCubierta');
}
else {
$(document).trigger('add-servicio-lineas', 'acabadoCubierta');
const table = $('#tableLineasPresupuesto').DataTable();
const rows = table.rows().data();
for (let i = 0; i < rows.length; i++) {
const rowData = rows[i];
if (rowData.row_id === 'lp_cubierta') {
$(document).trigger('add-servicio-lineas', 'acabadoCubierta');
break;
}
}
}
});
@ -106,7 +114,15 @@ class DatosLibro {
$(document).trigger('remove-servicio-lineas', 'acabadoSobrecubierta');
}
else {
$(document).trigger('add-servicio-lineas', 'acabadoSobrecubierta');
const table = $('#tableLineasPresupuesto').DataTable();
const rows = table.rows().data();
for (let i = 0; i < rows.length; i++) {
const rowData = rows[i];
if (rowData.row_id === 'lp_sobrecubierta') {
$(document).trigger('add-servicio-lineas', 'acabadoSobrecubierta');
break;
}
}
}
});
@ -119,7 +135,15 @@ class DatosLibro {
$(document).trigger('remove-servicio-lineas', 'acabadoFaja');
}
else {
$(document).trigger('add-servicio-lineas', 'acabadoFaja');
const table = $('#tableLineasPresupuesto').DataTable();
const rows = table.rows().data();
for (let i = 0; i < rows.length; i++) {
const rowData = rows[i];
if (rowData.row_id === 'lp_faja') {
$(document).trigger('add-servicio-lineas', 'acabadoFaja');
break;
}
}
}
});

View File

@ -1699,7 +1699,7 @@ class LineasPresupuesto {
$(document).trigger('update-presupuesto', {
update_lineas: false,
update_servicios: true,
update_servicios: false,
update_envios: true,
update_resumen: true,
update_tiradas_alternativas: true
@ -2044,12 +2044,14 @@ class LineasPresupuesto {
for (const row of rows) {
this.rellenarDatosLinea('lp_faja', row, true);
}
if ($('#acabado_faja_id').val() > 0)
$(document).trigger('add-servicio-lineas', 'acabadoFaja');
}
$(document).trigger('update-presupuesto', {
update_lineas: false,
update_servicios: true,
update_servicios: false,
update_envios: true,
update_resumen: true,
update_tiradas_alternativas: true

View File

@ -555,13 +555,6 @@ class ServiciosAcabado {
updateAcabadosExteriores(cubierta, sobrecubierta, faja) {
for (let i = this.table.rows().count() - 1; i >= 0; i--) {
let data = this.table.row(i).data();
if (data && (data.cubierta == cubierta && data.sobrecubierta == sobrecubierta && data.faja == faja)) {
this.table.row(i).remove().draw();
}
}
let tarifa_id = 0;
let uso = 'cubierta';
if (cubierta == 1) {
@ -603,6 +596,32 @@ class ServiciosAcabado {
new Ajax('/serviciosacabados/getvalues', datos, {},
function (response) {
if (response.values) {
if(uso=='cubierta'){
for (let i = self.table.rows().count() - 1; i >= 0; i--) {
let data = self.table.row(i).data();
if (data && (data.cubierta == 1)) {
self.table.row(i).remove().draw(false);
}
}
}
else if(uso=='sobrecubierta'){
for (let i = self.table.rows().count() - 1; i >= 0; i--) {
let data = self.table.row(i).data();
if (data && (data.sobrecubierta == 1)) {
self.table.row(i).remove().draw(false);
}
}
}
else if(uso=='faja'){
for (let i = self.table.rows().count() - 1; i >= 0; i--) {
let data = self.table.row(i).data();
if (data && (data.faja == 1)) {
self.table.row(i).remove().draw(false);
break;
}
}
}
for (let i = 0; i < response.values.length; i++) {
response.values[i].cubierta = 0;
response.values[i].sobrecubierta = 0;
@ -617,12 +636,14 @@ class ServiciosAcabado {
response.values[i].faja = 1;
}
}
if (updateSelect != null) {
self.table.row(updateSelect.closest('tr')).data(response.values[0]).draw();
}
else {
self.table.rows.add(response.values).draw();
self.table.rows.add(response.values).draw(false);
}
}
},
function (error) {
@ -651,7 +672,7 @@ class ServiciosAcabado {
});
if (!found)
this.getPresupuestoAcabado(this.selectorServicios.getVal());
this.getPresupuestoAcabado(this.selectorServicios.getVal(), null, null, true);
else
popErrorAlert(window.language.Presupuestos.errores.error_servicios_duplicados, 'serv-acabado-alert');
}