mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-01-21 00:00:26 +00:00
trabajando en el resumen de cubierta
This commit is contained in:
@ -20,6 +20,7 @@ class imagen_presupuesto {
|
||||
for (const [key, value] of Object.entries(this.extraData)) {
|
||||
contenedor.attr(`data-${key}`, value);
|
||||
}
|
||||
contenedor.attr("data-summary-text", this.texto); // Para el resumen
|
||||
|
||||
const input = $('<input>', {
|
||||
type: 'radio',
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
import imagen_presupuesto from "./imagen-presupuesto.js";
|
||||
import ServiceOptionCard from "./service-option-card.js";
|
||||
import TiradaCard from "./tirada-price-card.js";
|
||||
import * as Summary from "./summary.js";
|
||||
|
||||
class PresupuestoCliente {
|
||||
|
||||
@ -122,22 +123,25 @@ class PresupuestoCliente {
|
||||
|
||||
// pestaña extras
|
||||
this.divExtras = $('#div-extras');
|
||||
|
||||
// resumen
|
||||
this.summaryTableInterior = $('#summary-interior');
|
||||
}
|
||||
|
||||
init() {
|
||||
|
||||
const stored = sessionStorage.getItem("formData");
|
||||
|
||||
|
||||
this.#initDatosGenerales();
|
||||
this.#initCubierta();
|
||||
|
||||
|
||||
if (stored) {
|
||||
this.formData = JSON.parse(stored);
|
||||
this.#loadDatosGeneralesData();
|
||||
this.#loadCubiertaData();
|
||||
}
|
||||
|
||||
|
||||
|
||||
this.#initInterior();
|
||||
this.#initSeleccionTirada();
|
||||
this.#initExtras();
|
||||
@ -157,10 +161,6 @@ class PresupuestoCliente {
|
||||
}
|
||||
});
|
||||
|
||||
$('.custom-nav .nav-link').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation(); // frena el handler de Bootstrap
|
||||
});
|
||||
}
|
||||
|
||||
#cacheFormData() {
|
||||
@ -241,7 +241,7 @@ class PresupuestoCliente {
|
||||
});
|
||||
|
||||
$('.paginas').on('change', () => {
|
||||
this.paginas.val(parseInt(this.paginasNegro.val()) + parseInt(this.paginasColor.val()));
|
||||
$('#paginas').val(parseInt(this.paginasNegro.val()) + parseInt(this.paginasColor.val()));
|
||||
if (parseInt(this.paginasColor.val()) == 0) {
|
||||
this.divPosicionPaginasColor.addClass('d-none');
|
||||
this.posicionPaginasColor.val("");
|
||||
@ -249,7 +249,8 @@ class PresupuestoCliente {
|
||||
else {
|
||||
this.divPosicionPaginasColor.removeClass('d-none');
|
||||
}
|
||||
this.paginas = parseInt(this.paginasNegro.val()) + parseInt(this.paginasColor.val());
|
||||
$('#paginas').val(parseInt(this.paginasNegro.val()) + parseInt(this.paginasColor.val()));
|
||||
Summary.updatePaginas();
|
||||
this.#updateTipoEncuadernacion();
|
||||
});
|
||||
|
||||
@ -262,11 +263,31 @@ class PresupuestoCliente {
|
||||
this.divFormatoPersonalizado.addClass('d-none');
|
||||
this.divFormato.removeClass('d-none');
|
||||
}
|
||||
Summary.updateFormato();
|
||||
});
|
||||
|
||||
this.btn_next_datos_generales.on('click', () => {
|
||||
this.#nextDatosGenerales();
|
||||
});
|
||||
|
||||
// Eventos para el resumen
|
||||
$(document).on('change', 'input[name="tipoEncuadernacion"]', (e) => {
|
||||
if ($(e.target).is(':checked')) {
|
||||
// Actualizar el resumen
|
||||
Summary.updateEncuadernacion();
|
||||
}
|
||||
});
|
||||
|
||||
this.formato.on('change', () => {
|
||||
Summary.updateFormato();
|
||||
});
|
||||
|
||||
this.ancho.on('change', () => {
|
||||
Summary.updateFormato();
|
||||
});
|
||||
this.alto.on('change', () => {
|
||||
Summary.updateFormato();
|
||||
});
|
||||
}
|
||||
|
||||
#nextDatosGenerales() {
|
||||
@ -382,11 +403,17 @@ class PresupuestoCliente {
|
||||
|
||||
this.posicionPaginasColor.val(this.formData.datosGenerales.posicionPaginasColor);
|
||||
|
||||
this.formatoPersonalizado.prop('checked', this.formData.datosGenerales.formatoPersonalizado);
|
||||
if( this.formData.datosGenerales.formatoPersonalizado ) {
|
||||
this.ancho.val(this.formData.datosGenerales.ancho);
|
||||
this.alto.val(this.formData.datosGenerales.alto);
|
||||
}
|
||||
|
||||
$('.tipo-libro').removeClass('selected');
|
||||
$('.image-container#' + this.formData.datosGenerales.tipoEncuadernacion).trigger('click');
|
||||
this.#updateTipoEncuadernacion();
|
||||
|
||||
this.formatoPersonalizado.prop('checked', this.formData.datosGenerales.formatoPersonalizado).trigger('change');
|
||||
this.formatoPersonalizado.trigger('change');
|
||||
|
||||
$('.paginas').trigger('change');
|
||||
|
||||
@ -426,7 +453,7 @@ class PresupuestoCliente {
|
||||
|
||||
#updateTipoEncuadernacion() {
|
||||
|
||||
const paginas = parseInt(this.paginas.val());
|
||||
const paginas = parseInt($('#paginas').val());
|
||||
const selectedTipo = $('.tipo-libro.selected').attr('id');
|
||||
$('.tipo-libro').removeClass('selected');
|
||||
|
||||
@ -466,6 +493,7 @@ class PresupuestoCliente {
|
||||
|
||||
if ($('.tipo-libro.selected').length > 0) {
|
||||
this.formData.datosGenerales.tipoEncuadernacion = $('.tipo-libro.selected').attr('id');
|
||||
Summary.updateEncuadernacion();
|
||||
}
|
||||
else {
|
||||
this.formData.datosGenerales.tipoEncuadernacion = '';
|
||||
@ -492,6 +520,7 @@ class PresupuestoCliente {
|
||||
$(document).on('click', '.opcion-color', (e) => {
|
||||
|
||||
const data = this.#getPresupuestoData();
|
||||
Summary.updateTipoImpresion();
|
||||
|
||||
this.divPapelInterior.empty();
|
||||
this.divGramajeInterior.empty();
|
||||
@ -528,6 +557,9 @@ class PresupuestoCliente {
|
||||
});
|
||||
|
||||
this.#addGramajesInterior(gramajes);
|
||||
|
||||
Summary.updatePapelInterior();
|
||||
Summary.updateGramajeInterior();
|
||||
},
|
||||
error: (xhr, status, error) => {
|
||||
|
||||
@ -540,6 +572,8 @@ class PresupuestoCliente {
|
||||
|
||||
const data = this.#getPresupuestoData();
|
||||
|
||||
Summary.updatePapelInterior();
|
||||
|
||||
this.divGramajeInterior.removeClass('animate-fadeInUpBounce');
|
||||
this.divGramajeInterior.empty();
|
||||
|
||||
@ -562,6 +596,7 @@ class PresupuestoCliente {
|
||||
const dataInterior = this.#getInteriorData();
|
||||
this.#updateInteriorData(dataInterior);
|
||||
this.#cacheFormData();
|
||||
Summary.updateGramajeInterior();
|
||||
|
||||
}).fail((xhr, status, error) => {
|
||||
console.error("Error al obtener los gramajes de interior: ", xhr.responseText);
|
||||
@ -589,6 +624,8 @@ class PresupuestoCliente {
|
||||
return textoActual.replace(/\d+/, maxSolapas);
|
||||
});
|
||||
|
||||
Summary.updateGramajeInterior();
|
||||
|
||||
}).fail((xhr, status, error) => {
|
||||
console.error("Error al obtener los gramajes de interior: ", xhr.responseText);
|
||||
});
|
||||
@ -605,7 +642,7 @@ class PresupuestoCliente {
|
||||
data: data,
|
||||
success: (data) => {
|
||||
if (id === 'btn-prev-interior') {
|
||||
|
||||
this.summaryTableInterior.addClass('d-none');
|
||||
this.#changeTab('pills-general-data');
|
||||
} else {
|
||||
const maxSolapas = data.solapas ?? 120;
|
||||
@ -667,6 +704,8 @@ class PresupuestoCliente {
|
||||
|
||||
#loadInteriorData(data) {
|
||||
|
||||
this.summaryTableInterior.removeClass('d-none');
|
||||
|
||||
this.divOpcionesColor.empty();
|
||||
this.divPapelInterior.empty();
|
||||
this.divGramajeInterior.empty();
|
||||
@ -702,6 +741,10 @@ class PresupuestoCliente {
|
||||
const dataInterior = this.#getInteriorData();
|
||||
this.#updateInteriorData(dataInterior);
|
||||
this.#cacheFormData();
|
||||
|
||||
Summary.updateTipoImpresion();
|
||||
Summary.updatePapelInterior();
|
||||
Summary.updateGramajeInterior();
|
||||
}
|
||||
|
||||
#addGramajesInterior(gramajes) {
|
||||
|
||||
@ -0,0 +1,70 @@
|
||||
export function updateEncuadernacion() {
|
||||
|
||||
const $selected = $('.tipo-libro.selected');
|
||||
if ($selected.length > 0) {
|
||||
const resumen = $selected.data('summary-text') || $selected.attr('id');
|
||||
$('#summary-encuadernacion').text(resumen);
|
||||
}
|
||||
}
|
||||
|
||||
export function updateFormato(){
|
||||
|
||||
if($('#formato-personalizado').is(':checked')) {
|
||||
$('#summary-formato').text($('#ancho').val() + 'x' + $('#alto').val() + ' mm');
|
||||
} else {
|
||||
const $selected = $('#formato option:selected');
|
||||
const resumen = $selected.data('summary-text') || $selected.val();
|
||||
$('#summary-formato').text(resumen + ' mm');
|
||||
}
|
||||
}
|
||||
|
||||
export function updatePaginas() {
|
||||
|
||||
const paginas = $('#paginas').val();
|
||||
$('#summary-paginas').text(paginas );
|
||||
|
||||
const paginasColor = $('#paginas-color').val();
|
||||
$('#summary-paginas-color').text(paginasColor );
|
||||
|
||||
const paginasNegro = $('#paginas-negro').val();
|
||||
$('#summary-paginas-negro').text(paginasNegro );
|
||||
}
|
||||
|
||||
export function updateTipoImpresion() {
|
||||
|
||||
const $selected = $('.opcion-color.selected');
|
||||
if ($selected.length > 0) {
|
||||
const resumen = $selected.data('summary-text') || $selected.attr('id');
|
||||
$('#summary-tipo-interior').text(resumen);
|
||||
}
|
||||
}
|
||||
|
||||
export function updatePapelInterior() {
|
||||
|
||||
const $selected = $('.papel-interior.selected');
|
||||
if ($selected.length > 0) {
|
||||
const resumen = $selected.data('summary-text') || $selected.val();
|
||||
$('#summary-papel-interior').text(resumen);
|
||||
}
|
||||
}
|
||||
|
||||
export function updateGramajeInterior() {
|
||||
|
||||
const gramaje = $('input[name="gramaje-interior"]:checked');
|
||||
if(gramaje.length > 0) {
|
||||
$('#summary-gramaje-interior').text(gramaje.data('gramaje'));
|
||||
}
|
||||
}
|
||||
|
||||
export function updateTapaCubierta(){
|
||||
|
||||
const $selected = $('.tipo-cubierta.selected');
|
||||
if ($selected.length > 0) {
|
||||
const resumen = $selected.data('summary-text') || $selected.attr('id');
|
||||
$('#summary-tapa-cubierta').text(resumen);
|
||||
}
|
||||
if($selected.attr('id') === 'tapaBlanda') {
|
||||
$('#summary-cubierta').removeClass('d-none');
|
||||
$('#summary-cubierta .table-responsive').removeClass('d-none');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user