terminado selector de acabado

This commit is contained in:
Jaime Jiménez
2025-09-15 08:46:30 +02:00
parent bff560f159
commit 2c8d6bc1b7
2 changed files with 36 additions and 17 deletions

View File

@ -2,20 +2,11 @@ import * as Summary from "./summary.js";
import { formateaMoneda } from "../utils.js";
let valoresAcabados = [];
$(document).on('change', '#maquetacion', function (e) {
e.preventDefault();
if ($('#maquetacion').is(':checked')) {
$.get("/presupuesto/public/maquetacion/form", function (data) {
$("#maquetacionModalBody").html(data);
valoresAcabados = $("#acabado-marcapaginas").html();
if($('#caras-impresion').val() === 'una_cara') {
$("#acabado-marcapaginas").html($(valoresAcabados).filter('.marcapaginas-1cara'));
}
else {
$("#acabado-marcapaginas").html($(valoresAcabados).filter('.marcapaginas-2caras'));
}
$("#maquetacionModal").modal("show");
});
} else {
@ -108,14 +99,6 @@ $(document).on("submit", "#maquetacionForm", function (e) {
});
});
$(document).on('change', '#caras-impresion', function (e) {
e.preventDefault();
if($('#caras-impresion').val() === 'una_cara') {
$("#acabado-marcapaginas").html($(valoresAcabados).filter('.marcapaginas-1cara'));
} else {
$("#acabado-marcapaginas").html($(valoresAcabados).filter('.marcapaginas-2caras'));
}
});
$(document).on('hidden.bs.modal', '#maquetacionModal', function () {

View File

@ -6,6 +6,9 @@ $(document).on('change', '#marcapaginas', function (e) {
if ($('#marcapaginas').is(':checked')) {
$.get("/presupuesto/public/marcapaginas/form", function (data) {
$("#marcapaginasModalBody").html(data);
// init marcapaginas form
filtrarAcabados();
$("#marcapaginasModal").modal("show");
});
} else {
@ -95,6 +98,13 @@ $(document).on("submit", "#marcapaginasForm", function (e) {
});
});
$(document).on("change", "#caras-impresion", function (e) {
e.preventDefault();
filtrarAcabados();
});
$(document).on('hidden.bs.modal', '#marcapaginasModal', function () {
const calcularStr = $('#div-extras').data('language-calcular');
@ -104,4 +114,30 @@ $(document).on('hidden.bs.modal', '#marcapaginasModal', function () {
});
function filtrarAcabados() {
const $select = $("#acabado-marcapaginas");
const caras = $("#caras-impresion").val(); // "una_cara" o "dos_caras"
$select.find("option")
.prop("disabled", true)
.attr("hidden", true);
if (caras === "una_cara") {
$select.find("option.marcapaginas-1cara")
.prop("disabled", false)
.attr("hidden", false);
} else {
$select.find("option.marcapaginas-2caras")
.prop("disabled", false)
.attr("hidden", false);
}
if ($select.find("option:selected").prop("disabled")) {
const firstEnabled = $select.find("option:not([disabled]):first").val();
$select.val(firstEnabled).trigger("change");
}
}