tengo el texto del resumen final

This commit is contained in:
Jaime Jiménez
2025-09-23 13:25:06 +02:00
parent 479cecf52b
commit 85681b4d6e
13 changed files with 360 additions and 74 deletions

View File

@ -37,8 +37,8 @@ class PresupuestoCliente {
solapasCubierta: 0,
tamanioSolapasCubierta: '80',
cubiertaCaras: 2,
guardasPapelId: 3,
guardasGramaje: 170,
papelGuardasId: 3,
gramajeGuardas: 170,
guardasImpresas: 0,
cabezada: 'WHI',
papelCubiertaId: 3,
@ -1124,8 +1124,8 @@ class PresupuestoCliente {
const solapas = $('.solapas-cubierta.selected').id == 'sin-solapas' ? 0 : 1 || 0;
const tamanioSolapasCubierta = $('#tamanio-solapas-cubierta').val() || '80';
const cubiertaCaras = parseInt(this.carasImpresionCubierta.val()) || 2;
const guardasPapelId = parseInt($('#papel-guardas option:selected').data('papel-id')) || 3;
const guardasGramaje = parseInt($('#papel-guardas option:selected').data('gramaje')) || 170;
const papelGuardasId = parseInt($('#papel-guardas option:selected').data('papel-id')) || 3;
const gramajeGuardas = parseInt($('#papel-guardas option:selected').data('gramaje')) || 170;
const guardasImpresas = parseInt(this.guardasImpresas) || 0;
const cabezada = this.cabezada.val() || 'WHI';
const papelCubiertaId = $('#div-papel-cubierta .image-container.selected').data('sk-id') || this.formData.cubierta.papelCubiertaId || 3;
@ -1145,11 +1145,11 @@ class PresupuestoCliente {
return {
tipoCubierta: tipoCubierta,
solapas: solapas,
solapasCubierta: solapas,
tamanioSolapasCubierta: tamanioSolapasCubierta,
cubiertaCaras: cubiertaCaras,
guardasPapelId: guardasPapelId,
guardasGramaje: guardasGramaje,
papelGuardasId: papelGuardasId,
gramajeGuardas: gramajeGuardas,
guardasImpresas: guardasImpresas,
cabezada: cabezada,
papelCubiertaId: papelCubiertaId,
@ -1176,11 +1176,11 @@ class PresupuestoCliente {
#updateCubiertaData(data) {
this.formData.cubierta.tipoCubierta = data.tipoCubierta;
this.formData.cubierta.solapas = data.solapas;
this.formData.cubierta.solapasCubierta = data.solapasCubierta;
this.formData.cubierta.tamanioSolapasCubierta = data.tamanioSolapasCubierta;
this.formData.cubierta.cubiertaCaras = data.cubiertaCaras;
this.formData.cubierta.guardasPapelId = data.guardasPapelId;
this.formData.cubierta.guardasGramaje = data.guardasGramaje;
this.formData.cubierta.papelGuardasId = data.papelGuardasId;
this.formData.cubierta.gramajeGuardas = data.gramajeGuardas;
this.formData.cubierta.guardasImpresas = data.guardasImpresas;
this.formData.cubierta.cabezada = data.cabezada;
this.formData.cubierta.papelCubiertaId = data.papelCubiertaId;
@ -1237,15 +1237,15 @@ class PresupuestoCliente {
$('.tapa-dura-options').removeClass('d-none');
$('.tapa-blanda-options').addClass('d-none');
$('#papel-guardas option[data-papel-id="' +
this.formData.cubierta.guardasPapelId + '"][data-gramaje="' +
this.formData.cubierta.guardasGramaje + '"]').prop('selected', true).trigger('change');
this.formData.cubierta.papelGuardasId + '"][data-gramaje="' +
this.formData.cubierta.gramajeGuardas + '"]').prop('selected', true).trigger('change');
this.guardasImpresas.val(this.formData.cubierta.guardasImpresas);
this.cabezada.val(this.formData.cubierta.cabezada);
}
$(`#${this.formData.cubierta.tipoCubierta}`).trigger('click');
if (this.formData.cubierta.solapas === 0) {
if (this.formData.cubierta.solapasCubierta === 0) {
$('.solapas-cubierta#sin-solapas').addClass('selected');
this.divSolapasCubierta.addClass('d-none');
}
@ -1389,20 +1389,20 @@ class PresupuestoCliente {
this.#changeTab('pills-seleccion-tirada');
this.summaryTableExtras.addClass('d-none');
} else {
const summaryData = Summary.getSummaryData();
const presupuestoData = this.#getPresupuestoData();
const payload = {
...dotify(this.#getPresupuestoData(), 'presupuesto'),
summary: JSON.stringify(Summary.getSummaryData()),
const body = {
presupuesto: this.#getPresupuestoData(), // objeto JS con campos que coincidan con la entidad
servicios: this.formData.servicios.servicios // array de strings
};
$.ajax({
url: '/presupuesto/public/getresumen',
url: '/presupuesto/public/resumen',
type: 'POST',
data: payload,
contentType: 'application/json',
data: JSON.stringify(body)
}).then((data) => {
console.log("Extras validados correctamente", data);
$('#resumen-titulo').text(data.titulo);
$('#resumen-texto').html(data.texto);
}).catch((error) => {
console.error("Error obtener resumen: ", error);
});

View File

@ -163,20 +163,3 @@ export function updateExtras() {
}
}
export function getSummaryData() {
const data = {};
$(".data-summary").each(function () {
const $el = $(this);
// comprobar si la tabla y el tr están visibles
if ($el.closest("table").is(":visible") && $el.closest("tr").is(":visible")) {
const key = $el.data("id-summary"); // atributo data-id-summary
const value = $el.text().trim(); // texto visible
data[key] = value;
}
});
return data;
}