Browse Source

Correccion Firma y Mensaje de Avisos

main
parent
commit
47b383c63b
7 changed files with 78 additions and 31 deletions
  1. +23
    -0
      package-lock.json
  2. +4
    -2
      package.json
  3. BIN
      src/main/bundles/dev.bundle
  4. BIN
      src/main/bundles/prod.bundle
  5. +1
    -0
      src/main/frontend/index.html
  6. +49
    -28
      src/main/java/mx/gob/jumapacelaya/views/CuestionarioView.java
  7. +1
    -1
      src/main/java/mx/gob/jumapacelaya/views/SolicitudDescView.java

+ 23
- 0
package-lock.json View File

@ -27,6 +27,7 @@
"react": "18.3.1",
"react-dom": "18.3.1",
"react-router-dom": "6.28.0",
"signature_pad": "^5.0.4",
"soldig": "file:"
},
"devDependencies": {
@ -7793,6 +7794,11 @@
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/signature_pad": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-5.0.4.tgz",
"integrity": "sha512-nngOixbwLAUOuH3QnZwlgwmynQblxmo4iWacKFwfymJfiY+Qt+9icNtcIe/okqXKun4hJ5QTFmHyC7dmv6lf2w=="
},
"node_modules/smob": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz",
@ -14220,6 +14226,7 @@
"react-router-dom": "6.28.0",
"rollup-plugin-brotli": "3.1.0",
"rollup-plugin-visualizer": "5.12.0",
"signature_pad": "^5.0.4",
"soldig": "file:",
"strip-css-comments": "5.0.0",
"transform-ast": "2.4.4",
@ -19682,6 +19689,11 @@
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true
},
"signature_pad": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-5.0.4.tgz",
"integrity": "sha512-nngOixbwLAUOuH3QnZwlgwmynQblxmo4iWacKFwfymJfiY+Qt+9icNtcIe/okqXKun4hJ5QTFmHyC7dmv6lf2w=="
},
"smob": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz",
@ -21718,6 +21730,11 @@
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true
},
"signature_pad": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-5.0.4.tgz",
"integrity": "sha512-nngOixbwLAUOuH3QnZwlgwmynQblxmo4iWacKFwfymJfiY+Qt+9icNtcIe/okqXKun4hJ5QTFmHyC7dmv6lf2w=="
},
"smob": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz",
@ -21758,6 +21775,7 @@
"react-router-dom": "6.28.0",
"rollup-plugin-brotli": "3.1.0",
"rollup-plugin-visualizer": "5.12.0",
"signature_pad": "^5.0.4",
"soldig": "file:",
"strip-css-comments": "5.0.0",
"transform-ast": "2.4.4",
@ -27220,6 +27238,11 @@
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true
},
"signature_pad": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-5.0.4.tgz",
"integrity": "sha512-nngOixbwLAUOuH3QnZwlgwmynQblxmo4iWacKFwfymJfiY+Qt+9icNtcIe/okqXKun4hJ5QTFmHyC7dmv6lf2w=="
},
"smob": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz",


+ 4
- 2
package.json View File

@ -23,6 +23,7 @@
"react": "18.3.1",
"react-dom": "18.3.1",
"react-router-dom": "6.28.0",
"signature_pad": "^5.0.4",
"soldig": "file:"
},
"devDependencies": {
@ -89,7 +90,7 @@
"workbox-core": "7.3.0",
"workbox-precaching": "7.3.0"
},
"hash": "245104feb9f16d0eb8e4fcf8f5915427847949d2360526e5d0a9429944493084"
"hash": "3dda6d834b57de1a0e028876918162896d3a90448d9141a3cafbb851a0894ede"
},
"overrides": {
"@vaadin/bundles": "$@vaadin/bundles",
@ -110,6 +111,7 @@
"proj4": "$proj4",
"@vaadin/vaadin-themable-mixin": "$@vaadin/vaadin-themable-mixin",
"@vaadin/vaadin-lumo-styles": "$@vaadin/vaadin-lumo-styles",
"@vaadin/vaadin-material-styles": "$@vaadin/vaadin-material-styles"
"@vaadin/vaadin-material-styles": "$@vaadin/vaadin-material-styles",
"signature_pad": "$signature_pad"
}
}

BIN
src/main/bundles/dev.bundle View File


BIN
src/main/bundles/prod.bundle View File


+ 1
- 0
src/main/frontend/index.html View File

@ -7,6 +7,7 @@ This file is auto-generated by Vaadin.
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/signature_pad/2.3.2/signature_pad.min.js"></script>
<style>
body, #outlet {
height: 100vh;


+ 49
- 28
src/main/java/mx/gob/jumapacelaya/views/CuestionarioView.java View File

@ -2,6 +2,7 @@ package mx.gob.jumapacelaya.views;
import com.vaadin.flow.component.UI;
import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.button.ButtonVariant;
import com.vaadin.flow.component.grid.Grid;
import com.vaadin.flow.component.html.*;
import com.vaadin.flow.component.icon.Icon;
@ -16,6 +17,7 @@ import com.vaadin.flow.component.textfield.NumberField;
import com.vaadin.flow.router.PageTitle;
import com.vaadin.flow.router.Route;
import com.vaadin.flow.theme.lumo.LumoUtility;
import de.f0rce.signaturepad.SignaturePad;
import mx.gob.jumapacelaya.Services.GuardarSolicitudService;
import mx.gob.jumapacelaya.Services.PredioService;
import mx.gob.jumapacelaya.models.Predio;
@ -27,7 +29,6 @@ import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@PageTitle("Estudio Socioeconomico")
@Route(value = "cuestionario", layout = MainLayout.class)
public class CuestionarioView extends VerticalLayout {
@ -37,6 +38,15 @@ public class CuestionarioView extends VerticalLayout {
private Predio predio;
private static final Logger logger = LoggerFactory.getLogger(CuestionarioView.class);
private String vEstado="S";
private SignaturePad vFirmaCuest;
private RadioButtonGroup<Integer> opcionesIng = new RadioButtonGroup<>();
private RadioButtonGroup<Integer> opcionesEnf = new RadioButtonGroup<>();
private RadioButtonGroup<Integer> opcionesDepen= new RadioButtonGroup<>();
private RadioButtonGroup<Integer> opcionesSalud= new RadioButtonGroup<>();
private RadioButtonGroup<Integer> opcionesZona= new RadioButtonGroup<>();
private RadioButtonGroup<Integer> opcionesEscolar= new RadioButtonGroup<>();
private RadioButtonGroup<Integer> opcionesEdad= new RadioButtonGroup<>();
private Button btnGuardar = new Button();
public CuestionarioView(PredioService predioService, GuardarSolicitudService guardarSolicitudService) {
this.setSizeFull();
@ -44,6 +54,15 @@ public class CuestionarioView extends VerticalLayout {
this.guardarSolicitudService = guardarSolicitudService;
this.predioService = predioService;
vFirmaCuest = new SignaturePad();
vFirmaCuest.setBackgroundColor("#FFFFFF");
vFirmaCuest.setHeight("200px");
vFirmaCuest.setPenColor("int red");
vFirmaCuest.getElement().getStyle().set("border", "1px solid black");
vFirmaCuest.setVisible(false);
vFirmaCuest.setReadOnly(false);
vFirmaCuest.getStyle().remove("pointer-events");
cabecera();
titulo();
form();
@ -67,7 +86,6 @@ public class CuestionarioView extends VerticalLayout {
logoJmpa.setWidth("110px");
logoJmpa.setHeight("50px");
encabezadoLayout.add(logoJmpa);
encabezadoLayout.addAndExpand(new HorizontalLayout());
encabezadoLayout.add(fecha);
@ -75,7 +93,6 @@ public class CuestionarioView extends VerticalLayout {
this.add(encabezadoLayout);
}
private void titulo() {
VerticalLayout tituloLayout = new VerticalLayout();
@ -90,6 +107,15 @@ public class CuestionarioView extends VerticalLayout {
this.add(tituloLayout);
}
private boolean allRadioButtonsSelected() {
return opcionesIng.getValue() != null &&
opcionesEnf.getValue() != null &&
opcionesDepen.getValue() != null &&
opcionesSalud.getValue() != null &&
opcionesZona.getValue() != null &&
opcionesEscolar.getValue() != null &&
opcionesEdad.getValue() != null;
}
private void form() {
// Contenedor principal
@ -142,11 +168,6 @@ public class CuestionarioView extends VerticalLayout {
VerticalLayout etiquetaLayout = new VerticalLayout(puntosTotal, resultado, agua, drenaje, tratada);
etiquetaLayout.setAlignItems(Alignment.END);
// Columnas ingreso familiar
VerticalLayout columnaCriterio = new VerticalLayout();
VerticalLayout columnaRangos = new VerticalLayout();
@ -196,7 +217,6 @@ public class CuestionarioView extends VerticalLayout {
VerticalLayout columnaPuntosEdad = new VerticalLayout();
columnaPuntosEdad.setSpacing(false);
// Columna Etiquetas
Span etiquetaCriterio = new Span("Ingreso familiar mensual"); // Columna Criterio
Span etiquetaCriterioEnf = new Span("Padece alguna enfermedad crónica o discapacidad comprobable");
@ -206,7 +226,6 @@ public class CuestionarioView extends VerticalLayout {
Span etiquetaCriteriosEscolar = new Span("Grado de escolaridad");
Span etiquetaCriteriosEdad = new Span("Edad del solicitante en años cumplidos");
/* Columnas rangos */
// Columna Rangos Ingreso
Span rango1 = new Span("$6,223.20 en adelante");
@ -249,52 +268,39 @@ public class CuestionarioView extends VerticalLayout {
Span rangoEdad3 = new Span("41 a 60");
Span rangoEdad4 = new Span("A partir de 61");
/* Columnas puntos */
// Columna puntos Ingresos
RadioButtonGroup<Integer> opcionesIng = new RadioButtonGroup<>();
opcionesIng.addThemeVariants(RadioGroupVariant.LUMO_VERTICAL);
opcionesIng.setItems(0, 5, 10, 15);
// Columna puntos enfermedades
RadioButtonGroup<Integer> opcionesEnf = new RadioButtonGroup<>();
opcionesEnf.addThemeVariants(RadioGroupVariant.LUMO_VERTICAL);
opcionesEnf.setItems(0, 5, 10);
// Columna puntos dependientes
RadioButtonGroup<Integer> opcionesDepen= new RadioButtonGroup<>();
opcionesDepen.addThemeVariants(RadioGroupVariant.LUMO_VERTICAL);
opcionesDepen.setItems(0, 5, 10, 15);
// Columna puntos salud
RadioButtonGroup<Integer> opcionesSalud= new RadioButtonGroup<>();
opcionesSalud.addThemeVariants(RadioGroupVariant.LUMO_VERTICAL);
opcionesSalud.setItems(3, 5, 7, 10);
// Columna puntos zona habitacional
RadioButtonGroup<Integer> opcionesZona= new RadioButtonGroup<>();
opcionesZona.addThemeVariants(RadioGroupVariant.LUMO_VERTICAL);
opcionesZona.setItems(0, 5, 10, 15);
// Columna puntos grado escolar
RadioButtonGroup<Integer> opcionesEscolar= new RadioButtonGroup<>();
opcionesEscolar.addThemeVariants(RadioGroupVariant.LUMO_VERTICAL);
opcionesEscolar.setItems(0, 5, 10, 15);
// Columna puntos edad
RadioButtonGroup<Integer> opcionesEdad= new RadioButtonGroup<>();
opcionesEdad.addThemeVariants(RadioGroupVariant.LUMO_VERTICAL);
opcionesEdad.setItems(0, 4, 7, 10);
columnaCriterio.add(new H5("Criterio"), etiquetaCriterio);
columnaRangos.add(new H5("Rangos"), rango1, rango2, rango3, rango4);
columnaPuntos.add(new H5("Puntos"), opcionesIng);
colunaCriterioEnf.add(etiquetaCriterioEnf);
colunaRangoEnf.add(rangoenf1, rangoenf2, rangoenf3);
colunaPuntosEnf.add(opcionesEnf);
@ -367,6 +373,13 @@ public class CuestionarioView extends VerticalLayout {
opcionesEscolar.addValueChangeListener(event -> sumarPuntos.run());
opcionesZona.addValueChangeListener(event -> sumarPuntos.run());
opcionesIng.addValueChangeListener(event -> actualizarVisibilidad.run());
opcionesDepen.addValueChangeListener(event -> actualizarVisibilidad.run());
opcionesEdad.addValueChangeListener(event -> actualizarVisibilidad.run());
opcionesEnf.addValueChangeListener(event -> actualizarVisibilidad.run());
opcionesSalud.addValueChangeListener(event -> actualizarVisibilidad.run());
opcionesEscolar.addValueChangeListener(event -> actualizarVisibilidad.run());
opcionesZona.addValueChangeListener(event -> actualizarVisibilidad.run());
// Recuperar los datos de la sesión
this.predio = (Predio) UI.getCurrent().getSession().getAttribute("predio");
@ -386,7 +399,7 @@ public class CuestionarioView extends VerticalLayout {
logger.info("Predio: "+this.predio+" con tipo de solicitud: ["+tipoSolicitud+"] y nombre de Solicitante: "+ nombreSolicitante);
// Boton para guardar la solicitud
Button btnGuardar = new Button("Guardar", event -> {
btnGuardar = new Button("Guardar", event -> {
boolean vGuardado=false;
String vDetDesc="";
String vDetCalif="";
@ -414,14 +427,16 @@ public class CuestionarioView extends VerticalLayout {
vDetCalif
);
});
btnGuardar.addThemeVariants(ButtonVariant.LUMO_PRIMARY);
btnGuardar.setVisible(false);
VerticalLayout botonLayout = new VerticalLayout(btnGuardar);
VerticalLayout botonLayout = new VerticalLayout();
botonLayout.setAlignItems(Alignment.END);
botonLayout.setWidthFull();
botonLayout.setHeightFull();
botonLayout.add(btnGuardar, vFirmaCuest);
VerticalLayout totalesLayout = new VerticalLayout(puntos, descuento, txtAgua, txtDrena, txtTrata);
contenedor1.add(columnaCriterio, columnaRangos, columnaPuntos);
contenedor2.add(colunaCriterioEnf, colunaRangoEnf, colunaPuntosEnf);
contenedor3.add(columnaCriteriosDepen, columnaRangosDepen, columnaPuntosDepen);
@ -441,4 +456,10 @@ public class CuestionarioView extends VerticalLayout {
this.add(formLayout);
}
Runnable actualizarVisibilidad = () -> {
boolean todosSelccionados = allRadioButtonsSelected();
btnGuardar.setVisible(todosSelccionados);
vFirmaCuest.setVisible(todosSelccionados);
};
}

+ 1
- 1
src/main/java/mx/gob/jumapacelaya/views/SolicitudDescView.java View File

@ -126,7 +126,7 @@ public class SolicitudDescView extends VerticalLayout implements BeforeEnterObse
TextField numIdentificacion = new TextField();
numIdentificacion.setPlaceholder("No. identificacion");
numIdentificacion.setWidthFull();
numIdentificacion.setWidth("400px");
Button btnVerSolicitud = new Button("Ver Solicitud");
btnVerSolicitud.addThemeVariants(ButtonVariant.LUMO_PRIMARY);


Loading…
Cancel
Save