Merge branch 'mod/importador_presupuesto_gramajes_select' into 'main'

añadidos selects a los gramajes. si hay cambios se pone en naranja

See merge request jjimenez/safekat!633
This commit is contained in:
2025-04-01 18:04:27 +00:00
2 changed files with 108 additions and 39 deletions

View File

@ -117,8 +117,8 @@
<div class="col-md-6"> <div class="col-md-6">
<label for="encuadernacion" class="form-label">Encuadernación propuesta</label> <label for="encuadernacion" class="form-label">Encuadernación propuesta</label>
<select id="encuadernacion" name="encuadernacion" class="form-control select2bs2" <select id="encuadernacion" name="encuadernacion"
style="width: 100%;"> class="form-control select2bs2 warning-change" style="width: 100%;">
</select> </select>
</div> </div>
</div><!--//.row --> </div><!--//.row -->
@ -129,7 +129,7 @@
<div class="row mb-3"> <div class="row mb-3">
<div class="col-md-2"> <div class="col-md-2">
<label for="interior_old" class="form-label">Calidad</label> <label for="interior_old" class="form-label">Calidad</label>
<select id="isHq" name="isHq" class="form-control"> <select id="isHq" name="isHq" class="form-control warning-change">
<option value="0">Estándar</option> <option value="0">Estándar</option>
<option value="1">HQ</option> <option value="1">HQ</option>
</select> </select>
@ -162,13 +162,16 @@
</td> </td>
<td> <td>
<select id="compPapelNegroSelected" name="comp_papel_negro_selected" <select id="compPapelNegroSelected" name="comp_papel_negro_selected "
class="form-control select2bs2 comp_negro_items" style="width: 100%;"> class="form-control select2bs2 comp_negro_items warning-change"
style="width: 100%;">
</select> </select>
</td> </td>
<td> <td>
<input type="text" id="compGramajeNegro" name="comp_gramaje_negro" <select id="compGramajeNegro" name="comp_gramaje_negro "
class="form-control comp_negro_items" value="" readonly> class="form-control select2bs2 comp_negro_items warning-change"
style="width: 100%;">
</select>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -184,13 +187,15 @@
</td> </td>
<td> <td>
<select id="compPapelColorSelected" name="comp_papel_color_selected" <select id="compPapelColorSelected" name="comp_papel_color_selected"
class="form-control select2bs2 comp_color_items" style="width: 100%;"> class="form-control select2bs2 comp_color_items warning-change"
style="width: 100%;">
</select> </select>
</td> </td>
<td> <td>
<input type="text" id="compGramajeColor" name="comp_gramaje_color" <select id="compGramajeColor" name="comp_papel_color_selected"
class="form-control comp_color_items" value="" readonly> class="form-control select2bs2 comp_color_items warning-change"
</input> style="width: 100%;">
</select>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -233,13 +238,15 @@
</td> </td>
<td> <td>
<select id="compPapelCubiertaSelected" name="comp_papel_cubierta_selected" <select id="compPapelCubiertaSelected" name="comp_papel_cubierta_selected"
class="form-control select2bs2 comp_cubierta_items" class="form-control select2bs2 comp_cubierta_items warning-change"
style="width: 100%;"> style="width: 100%;">
</select> </select>
</td> </td>
<td> <td>
<input type="text" id="compGramajeCubierta" name="comp_gramaje_cubierta" <select id="compGramajeCubierta" name="comp_papel_cubierta_selected"
class="form-control comp_cubierta_items" value="" readonly> class="form-control select2bs2 comp_cubierta_items warning-change"
style="width: 100%;">
</select>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -264,14 +271,16 @@
<td> <td>
<select id="compPapelSobrecubiertaSelected" <select id="compPapelSobrecubiertaSelected"
name="comp_papel_sobrecubierta_selected" name="comp_papel_sobrecubierta_selected"
class="form-control select2bs2 comp_sobrecubierta_items" class="form-control select2bs2 comp_sobrecubierta_items warning-change"
style="width: 100%;"> style="width: 100%;">
</select> </select>
</td> </td>
<td> <td>
<input type="text" id="compGramajeSobrecubierta" <select id="compGramajeSobrecubierta"
name="comp_gramaje_sobrecubierta" name="comp_papel_sobrecubierta_selected"
class="form-control comp_sobrecubierta_items" value="" readonly> class="form-control select2bs2 comp_sobrecubierta_items warning-change"
style="width: 100%;">
</select>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -299,7 +308,7 @@
<td> <td>
<select id="compAcabadoCubiertaSelected" <select id="compAcabadoCubiertaSelected"
name="comp_acabado_cubierta_selected" name="comp_acabado_cubierta_selected"
class="form-control select2bs2 comp_cubierta_items" class="form-control select2bs2 comp_cubierta_items warning-change"
style="width: 100%;"> style="width: 100%;">
</select> </select>
</td> </td>
@ -314,7 +323,7 @@
<td> <td>
<select id="compAcabadoSobrecubiertaSelected" <select id="compAcabadoSobrecubiertaSelected"
name="comp_acabado_sobrecubierta_selected" name="comp_acabado_sobrecubierta_selected"
class="form-control select2bs2 comp_sobrecubierta_items" class="form-control select2bs2 comp_sobrecubierta_items warning-change"
style="width: 100%;"> style="width: 100%;">
</select> </select>
</td> </td>
@ -369,7 +378,8 @@
<div class="row"> <div class="row">
<div class="col-md-3 mb-3"> <div class="col-md-3 mb-3">
<button id="makeImport" class="btn btn-primary waves-effect waves-light mt-auto w-100" disabled> <button id="makeImport" class="btn btn-primary waves-effect waves-light mt-auto w-100"
disabled>
Importar presupuesto Importar presupuesto
</button> </button>
</div> </div>
@ -389,7 +399,7 @@
<?= $this->endSection() ?> <?= $this->endSection() ?>
<?= $this->section('css') ?> <?= $this->section('css') ?>
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/sweetalert2/sweetalert2.css') ?>" /> <link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/sweetalert2/sweetalert2.css') ?>" />
<?= $this->endSection() ?> <?= $this->endSection() ?>
<?= $this->section('additionalExternalJs') ?> <?= $this->section('additionalExternalJs') ?>

View File

@ -18,7 +18,18 @@ class Importador {
alto: () => this.getDimensionLibro().alto, alto: () => this.getDimensionLibro().alto,
sopalas: 0, sopalas: 0,
lomo: 0, lomo: 0,
tipo: () => $('#hq').val() ? 'negrohq' : 'negro', tipo: () => $('#isHq').val() ? 'negrohq' : 'negro',
});
this.compGramajeNegro = new ClassSelect($('#compGramajeNegro'), '/presupuestoadmin/papelgramaje', 'Seleccione un gramaje', false,
{
tipo_impresion: () => this.encuadernacion.getVal(),
papel_generico: () => this.compPapelNegroSelected.getVal(),
tirada: () => $('#tirada').val(),
ancho: () => this.getDimensionLibro().ancho,
alto: () => this.getDimensionLibro().alto,
sopalas: 0,
lomo: 0,
tipo: () => $('#isHq').val() ? 'negrohq' : 'negro',
}); });
this.compPapelColorSelected = new ClassSelect($("#compPapelColorSelected"), '/presupuestoadmin/papelgenerico', "Seleccione un papel", false, this.compPapelColorSelected = new ClassSelect($("#compPapelColorSelected"), '/presupuestoadmin/papelgenerico', "Seleccione un papel", false,
{ {
@ -28,7 +39,18 @@ class Importador {
alto: () => this.getDimensionLibro().alto, alto: () => this.getDimensionLibro().alto,
sopalas: 0, sopalas: 0,
lomo: 0, lomo: 0,
tipo: () => $('#hq').val() ? 'colorhq' : 'color', tipo: () => $('#isHq').val() ? 'colorhq' : 'color',
});
this.compGramajeColor = new ClassSelect($('#compGramajeColor'), '/presupuestoadmin/papelgramaje', 'Seleccione un gramaje', false,
{
tipo_impresion: () => this.encuadernacion.getVal(),
papel_generico: () => this.compPapelColorSelected.getVal(),
tirada: () => $('#tirada').val(),
ancho: () => this.getDimensionLibro().ancho,
alto: () => this.getDimensionLibro().alto,
sopalas: 0,
lomo: 0,
tipo: () => $('#isHq').val() ? 'colorhq' : 'color',
}); });
this.compPapelCubiertaSelected = new ClassSelect($("#compPapelCubiertaSelected"), '/presupuestoadmin/papelgenerico', "Seleccione un papel", false, this.compPapelCubiertaSelected = new ClassSelect($("#compPapelCubiertaSelected"), '/presupuestoadmin/papelgenerico', "Seleccione un papel", false,
{ {
@ -41,6 +63,17 @@ class Importador {
tipo: 'colorhq', tipo: 'colorhq',
uso: 'cubierta', uso: 'cubierta',
}); });
this.compGramajeCubierta = new ClassSelect($('#compGramajeCubierta'), '/presupuestoadmin/papelgramaje', 'Seleccione un gramaje', false,
{
tipo_impresion: () => this.encuadernacion.getVal(),
papel_generico: () => this.compPapelCubiertaSelected.getVal(),
tirada: () => $('#tirada').val(),
ancho: () => this.getDimensionLibro().ancho,
alto: () => this.getDimensionLibro().alto,
sopalas: () => $('#compSolapasCubierta').val(),
lomo: 0,
tipo: 'colorhq',
});
this.compSobrecubiertaSelected = new ClassSelect($("#compPapelSobrecubiertaSelected"), '/presupuestoadmin/papelgenerico', "Seleccione un papel", false, this.compSobrecubiertaSelected = new ClassSelect($("#compPapelSobrecubiertaSelected"), '/presupuestoadmin/papelgenerico', "Seleccione un papel", false,
{ {
tipo_impresion: this.encuadernacion.getVal(), tipo_impresion: this.encuadernacion.getVal(),
@ -52,6 +85,17 @@ class Importador {
tipo: 'colorhq', tipo: 'colorhq',
uso: 'sobrecubierta', uso: 'sobrecubierta',
}); });
this.compGramajeSobrecubierta = new ClassSelect($('#compGramajeSobrecubierta'), '/presupuestoadmin/papelgramaje', 'Seleccione un gramaje', false,
{
tipo_impresion: () => this.encuadernacion.getVal(),
papel_generico: () => this.compPapelCubiertaSelected.getVal(),
tirada: () => $('#tirada').val(),
ancho: () => this.getDimensionLibro().ancho,
alto: () => this.getDimensionLibro().alto,
sopalas: () => $('#compSolapasSobrecubierta').val(),
lomo: 0,
tipo: 'colorhq',
});
this.acabadoCubierta = new ClassSelect($("#compAcabadoCubiertaSelected"), this.acabadoCubierta = new ClassSelect($("#compAcabadoCubiertaSelected"),
'/serviciosacabados/getacabados', '/serviciosacabados/getacabados',
@ -89,9 +133,13 @@ class Importador {
this.encuadernacion.init(); this.encuadernacion.init();
this.compPapelNegroSelected.init(); this.compPapelNegroSelected.init();
this.compGramajeNegro.init();
this.compPapelColorSelected.init(); this.compPapelColorSelected.init();
this.compGramajeColor.init();
this.compPapelCubiertaSelected.init(); this.compPapelCubiertaSelected.init();
this.compGramajeCubierta.init();
this.compSobrecubiertaSelected.init(); this.compSobrecubiertaSelected.init();
this.compGramajeSobrecubierta.init();
this.acabadoCubierta.init(); this.acabadoCubierta.init();
this.acabadosSobrecubierta.init(); this.acabadosSobrecubierta.init();
@ -124,6 +172,12 @@ class Importador {
}); });
this.makeImport.on('click', this.importPresupuesto.bind(this)); this.makeImport.on('click', this.importPresupuesto.bind(this));
$(document).on('change', '.warning-change', function () {
$(this).addClass('bg-warning');
let select2Container = $(this).next('.select2').find('.select2-selection');
select2Container.addClass('bg-warning');
});
} }
importPresupuesto() { importPresupuesto() {
@ -139,7 +193,7 @@ class Importador {
const urlObj = new URL(window.location.href); const urlObj = new URL(window.location.href);
Swal.fire({ Swal.fire({
title: 'Atención!', title: 'Atención!',
text: 'Esto es una importación básica, por favor revisa los datos para comprobar que no hay errores. ' + text: 'Esto es una importación básica, por favor revisa los datos para comprobar que no hay errores. ' +
'Tenga en cuenta que no todos los servicios se pueden importar.', 'Tenga en cuenta que no todos los servicios se pueden importar.',
icon: 'warning', icon: 'warning',
showCancelButton: false, showCancelButton: false,
@ -197,25 +251,25 @@ class Importador {
data.papel_formato_alto = $('#papelFormatoAlto').val(); data.papel_formato_alto = $('#papelFormatoAlto').val();
data.encuadernacion = this.encuadernacion.getVal(); data.encuadernacion = this.encuadernacion.getVal();
data.isHq = $('#hq').val(); data.isHq = $('#isHq').val();
data.paginas_bn = $('#compPaginasNegro').val(); data.paginas_bn = $('#compPaginasNegro').val();
data.papel_bn = this.compPapelNegroSelected.getVal(); data.papel_bn = this.compPapelNegroSelected.getVal();
data.gramaje_bn = $('#compGramajeNegro').val(); data.gramaje_bn = this.compGramajeNegro.getVal();
data.paginas_color = $('#compPaginasColor').val(); data.paginas_color = $('#compPaginasColor').val();
data.papel_color = this.compPapelColorSelected.getVal(); data.papel_color = this.compPapelColorSelected.getVal();
data.gramaje_color = $('#compGramajeColor').val(); data.gramaje_color = this.compGramajeColor.getVal();
data.paginas_cubierta = $('#compCarasCubierta').val(); data.paginas_cubierta = $('#compCarasCubierta').val();
data.papel_cubierta = this.compPapelCubiertaSelected.getVal(); data.papel_cubierta = this.compPapelCubiertaSelected.getVal();
data.gramaje_cubierta = $('#compGramajeCubierta').val(); data.gramaje_cubierta = this.compGramajeCubierta.getVal();
data.solapas_cubierta = $('#compSolapasCubierta').val(); data.solapas_cubierta = $('#compSolapasCubierta').val();
data.acabado_cubierta = this.acabadoCubierta.getVal(); data.acabado_cubierta = this.acabadoCubierta.getVal();
data.sobrecubierta = $('#compSobrecubierta').val(); data.sobrecubierta = $('#compSobrecubierta').val();
data.papel_sobrecubierta = this.compSobrecubiertaSelected.getVal(); data.papel_sobrecubierta = this.compSobrecubiertaSelected.getVal();
data.gramaje_sobrecubierta = $('#compGramajeSobrecubierta').val(); data.gramaje_sobrecubierta = this.compGramajeSobrecubierta.getVal();
data.solapas_sobrecubierta = $('#compSolapasSobrecubierta').val(); data.solapas_sobrecubierta = $('#compSolapasSobrecubierta').val();
data.acabado_sobrecubierta = this.acabadosSobrecubierta.getVal(); data.acabado_sobrecubierta = this.acabadosSobrecubierta.getVal();
@ -249,6 +303,7 @@ class Importador {
if (response.success) { if (response.success) {
this.fillInitialData(response.data); this.fillInitialData(response.data);
$('.bg-warning').removeClass('bg-warning');
} }
}, },
(error) => { (error) => {
@ -303,35 +358,39 @@ class Importador {
if (data.lineas) { if (data.lineas) {
if (data.lineas.isHq) { if (data.lineas.isHq) {
$('#hq').val(data.lineas.hq); $('#isHq').val(data.lineas.isHq);
}
else {
$('#isHq').val(0);
} }
if (data.lineas.bn && data.lineas.bn.paginas) { if (data.lineas.bn && data.lineas.bn.paginas) {
$('#compPaginasNegro').val(data.lineas.bn.paginas); $('#compPaginasNegro').val(data.lineas.bn.paginas);
$('#compPapelNegroOrigen').val(data.lineas.bn.papel_nombre); $('#compPapelNegroOrigen').val(data.lineas.bn.papel_nombre);
$('#compGramajeNegro').val(parseFloat(data.lineas.bn.gramaje).toFixed(0)); this.compGramajeNegro.setOption(parseFloat(data.lineas.bn.gramaje).toFixed(0), parseFloat(data.lineas.bn.gramaje).toFixed(0));
this.compPapelNegroSelected.item.prop('disabled', false); this.compPapelNegroSelected.item.prop('disabled', false);
this.compPapelNegroSelected.setOption(data.lineas.bn.new_papel_id, data.lineas.bn.new_papel_nombre); this.compPapelNegroSelected.setOption(data.lineas.bn.new_papel_id, data.lineas.bn.new_papel_nombre);
} }
else { else {
$('#compPaginasNegro').val(0); $('#compPaginasNegro').val(0);
$('#compPapelNegroOrigen').val(""); $('#compPapelNegroOrigen').val("");
$('#compGramajeNegro').val(""); this.compGramajeNegro.empty();
this.compPapelNegroSelected.empty(); this.compPapelNegroSelected.empty();
this.compPapelNegroSelected.item.prop('disabled', true); this.compPapelNegroSelected.item.prop('disabled', true);
this.compGramajeNegro.item.prop('disabled', true);
} }
if (data.lineas.color && data.lineas.color.paginas) { if (data.lineas.color && data.lineas.color.paginas) {
$('#compPaginasColor').val(data.lineas.color.paginas); $('#compPaginasColor').val(data.lineas.color.paginas);
$('#compPapelColorOrigen').val(data.lineas.color.papel_nombre); $('#compPapelColorOrigen').val(data.lineas.color.papel_nombre);
$('#compGramajeColor').val(parseFloat(data.lineas.color.gramaje).toFixed(0)); this.compGramajeColor.setOption(parseFloat(data.lineas.color.gramaje).toFixed(0), parseFloat(data.lineas.color.gramaje).toFixed(0));
this.compPapelColorSelected.item.prop('disabled', false); this.compPapelColorSelected.item.prop('disabled', false);
this.compPapelColorSelected.setOption(data.lineas.color.new_papel_id, data.lineas.color.new_papel_nombre); this.compPapelColorSelected.setOption(data.lineas.color.new_papel_id, data.lineas.color.new_papel_nombre);
} }
else { else {
$('#compPaginasColor').val(0); $('#compPaginasColor').val(0);
$('#compPapelColorOrigen').val(""); $('#compPapelColorOrigen').val("");
$('#compGramajeColor').val(""); this.compGramajeColor.empty();
this.compPapelColorSelected.empty(); this.compPapelColorSelected.empty();
this.compPapelColorSelected.item.prop('disabled', true); this.compPapelColorSelected.item.prop('disabled', true);
} }
@ -339,7 +398,7 @@ class Importador {
if (data.lineas.cubierta && data.lineas.cubierta.paginas) { if (data.lineas.cubierta && data.lineas.cubierta.paginas) {
$('#compPaginasCubierta').val(data.lineas.cubierta.paginas); $('#compPaginasCubierta').val(data.lineas.cubierta.paginas);
$('#compPapelCubiertaOrigen').val(data.lineas.cubierta.papel_nombre); $('#compPapelCubiertaOrigen').val(data.lineas.cubierta.papel_nombre);
$('#compGramajeCubierta').val(parseFloat(data.lineas.cubierta.gramaje).toFixed(0)); this.compGramajeCubierta.setOption(parseFloat(data.lineas.cubierta.gramaje).toFixed(0), parseFloat(data.lineas.cubierta.gramaje).toFixed(0));
$('#compSolapasCubierta').val(parseFloat(data.lineas.cubierta.solapas).toFixed(0)); $('#compSolapasCubierta').val(parseFloat(data.lineas.cubierta.solapas).toFixed(0));
this.compPapelCubiertaSelected.item.prop('disabled', false); this.compPapelCubiertaSelected.item.prop('disabled', false);
this.compPapelCubiertaSelected.setOption(data.lineas.cubierta.new_papel_id, data.lineas.cubierta.new_papel_nombre); this.compPapelCubiertaSelected.setOption(data.lineas.cubierta.new_papel_id, data.lineas.cubierta.new_papel_nombre);
@ -347,7 +406,7 @@ class Importador {
else { else {
$('#compPaginasCubierta').val(0); $('#compPaginasCubierta').val(0);
$('#compPapelCubiertaOrigen').val(""); $('#compPapelCubiertaOrigen').val("");
$('#compGramajeCubierta').val(""); this.compGramajeCubierta.empty();
$('#compSolapasCubierta').val(""); $('#compSolapasCubierta').val("");
this.compPapelCubiertaSelected.empty(); this.compPapelCubiertaSelected.empty();
this.compPapelCubiertaSelected.item.prop('disabled', true); this.compPapelCubiertaSelected.item.prop('disabled', true);
@ -356,7 +415,7 @@ class Importador {
if (data.lineas.sobrecubierta && data.lineas.sobrecubierta.paginas) { if (data.lineas.sobrecubierta && data.lineas.sobrecubierta.paginas) {
$('#compSobrecubierta').val(1); $('#compSobrecubierta').val(1);
$('#compPapelSobrecubiertaOrigen').val(data.lineas.sobrecubierta.papel_nombre); $('#compPapelSobrecubiertaOrigen').val(data.lineas.sobrecubierta.papel_nombre);
$('#compGramajeSobrecubierta').val(parseFloat(data.lineas.sobrecubierta.gramaje).toFixed(0)); this.compGramajeSobrecubierta.setOption(parseFloat(data.lineas.sobrecubierta.gramaje).toFixed(0), parseFloat(data.lineas.sobrecubierta.gramaje).toFixed(0));
$('#compSolapasSobrecubierta').val(parseFloat(data.lineas.sobrecubierta.solapas).toFixed(0)); $('#compSolapasSobrecubierta').val(parseFloat(data.lineas.sobrecubierta.solapas).toFixed(0));
this.compSobrecubiertaSelected.item.prop('disabled', false); this.compSobrecubiertaSelected.item.prop('disabled', false);
this.compSobrecubiertaSelected.setOption(data.lineas.sobrecubierta.new_papel_id, data.lineas.sobrecubierta.new_papel_nombre); this.compSobrecubiertaSelected.setOption(data.lineas.sobrecubierta.new_papel_id, data.lineas.sobrecubierta.new_papel_nombre);
@ -364,7 +423,7 @@ class Importador {
else { else {
$('#compSobrecubierta').val(0); $('#compSobrecubierta').val(0);
$('#compPapelSobrecubiertaOrigen').val(""); $('#compPapelSobrecubiertaOrigen').val("");
$('#compGramajeSobrecubierta').val(""); this.compGramajeSobrecubierta.empty();
$('#compSolapasSobrecubierta').val(""); $('#compSolapasSobrecubierta').val("");
this.compSobrecubiertaSelected.empty(); this.compSobrecubiertaSelected.empty();
this.compSobrecubiertaSelected.item.prop('disabled', true); this.compSobrecubiertaSelected.item.prop('disabled', true);