Browse Source

Applicacion para firmas de formatos digitales

main
mramirezg 8 months ago
parent
commit
1bc6598fc4
19 changed files with 16889 additions and 51 deletions
  1. +0
    -0
      mvnw
  2. +16214
    -0
      package-lock.json
  3. +113
    -0
      package.json
  4. +12
    -0
      pom.xml
  5. +23
    -0
      src/main/frontend/index.html
  6. +31
    -1
      src/main/frontend/themes/docsign/styles.css
  7. +39
    -0
      src/main/java/mx/gob/jumapacelaya/Services/UserService.java
  8. +43
    -0
      src/main/java/mx/gob/jumapacelaya/models/Usuario.java
  9. +20
    -0
      src/main/java/mx/gob/jumapacelaya/views/DescEspView.java
  10. +137
    -0
      src/main/java/mx/gob/jumapacelaya/views/HomeView.java
  11. +10
    -14
      src/main/java/mx/gob/jumapacelaya/views/MainLayout.java
  12. +18
    -0
      src/main/java/mx/gob/jumapacelaya/views/PgoTomasView.java
  13. +19
    -0
      src/main/java/mx/gob/jumapacelaya/views/ReciboDgtalView.java
  14. +129
    -0
      src/main/java/mx/gob/jumapacelaya/views/SolicitudDescView.java
  15. +18
    -0
      src/main/java/mx/gob/jumapacelaya/views/VerificacionView.java
  16. +0
    -36
      src/main/java/mx/gob/jumapacelaya/views/home/HomeView.java
  17. +7
    -0
      src/main/resources/application.properties
  18. +39
    -0
      tsconfig.json
  19. +17
    -0
      types.d.ts

+ 0
- 0
mvnw View File


+ 16214
- 0
package-lock.json
File diff suppressed because it is too large
View File


+ 113
- 0
package.json View File

@ -0,0 +1,113 @@
{
"name": "no-name",
"license": "UNLICENSED",
"type": "module",
"dependencies": {
"@polymer/polymer": "3.5.2",
"@vaadin/bundles": "24.5.3",
"@vaadin/common-frontend": "0.0.19",
"@vaadin/polymer-legacy-adapter": "24.5.3",
"@vaadin/react-components": "24.5.3",
"@vaadin/react-components-pro": "24.5.3",
"@vaadin/router": "2.0.0",
"@vaadin/vaadin-development-mode-detector": "2.0.7",
"@vaadin/vaadin-lumo-styles": "24.5.3",
"@vaadin/vaadin-material-styles": "24.5.3",
"@vaadin/vaadin-themable-mixin": "24.5.3",
"@vaadin/vaadin-usage-statistics": "2.1.3",
"construct-style-sheets-polyfill": "3.1.0",
"date-fns": "2.29.3",
"lit": "3.2.1",
"proj4": "2.12.1",
"react": "18.3.1",
"react-dom": "18.3.1",
"react-router-dom": "6.28.0"
},
"devDependencies": {
"@babel/preset-react": "7.25.9",
"@preact/signals-react-transform": "0.4.0",
"@rollup/plugin-replace": "6.0.1",
"@rollup/pluginutils": "5.1.3",
"@types/react": "18.3.12",
"@types/react-dom": "18.3.1",
"@vitejs/plugin-react": "4.3.3",
"async": "3.2.6",
"glob": "10.4.5",
"rollup-plugin-brotli": "3.1.0",
"rollup-plugin-visualizer": "5.12.0",
"strip-css-comments": "5.0.0",
"transform-ast": "2.4.4",
"typescript": "5.6.3",
"vite": "5.4.11",
"vite-plugin-checker": "0.8.0",
"workbox-build": "7.3.0",
"workbox-core": "7.3.0",
"workbox-precaching": "7.3.0"
},
"vaadin": {
"dependencies": {
"@polymer/polymer": "3.5.2",
"@vaadin/bundles": "24.5.3",
"@vaadin/common-frontend": "0.0.19",
"@vaadin/polymer-legacy-adapter": "24.5.3",
"@vaadin/react-components": "24.5.3",
"@vaadin/react-components-pro": "24.5.3",
"@vaadin/router": "2.0.0",
"@vaadin/vaadin-development-mode-detector": "2.0.7",
"@vaadin/vaadin-lumo-styles": "24.5.3",
"@vaadin/vaadin-material-styles": "24.5.3",
"@vaadin/vaadin-themable-mixin": "24.5.3",
"@vaadin/vaadin-usage-statistics": "2.1.3",
"construct-style-sheets-polyfill": "3.1.0",
"date-fns": "2.29.3",
"lit": "3.2.1",
"proj4": "2.12.1",
"react": "18.3.1",
"react-dom": "18.3.1",
"react-router-dom": "6.28.0"
},
"devDependencies": {
"@babel/preset-react": "7.25.9",
"@preact/signals-react-transform": "0.4.0",
"@rollup/plugin-replace": "6.0.1",
"@rollup/pluginutils": "5.1.3",
"@types/react": "18.3.12",
"@types/react-dom": "18.3.1",
"@vitejs/plugin-react": "4.3.3",
"async": "3.2.6",
"glob": "10.4.5",
"rollup-plugin-brotli": "3.1.0",
"rollup-plugin-visualizer": "5.12.0",
"strip-css-comments": "5.0.0",
"transform-ast": "2.4.4",
"typescript": "5.6.3",
"vite": "5.4.11",
"vite-plugin-checker": "0.8.0",
"workbox-build": "7.3.0",
"workbox-core": "7.3.0",
"workbox-precaching": "7.3.0"
},
"hash": "b703e8b30695e5aa2dd6a2c751333d353dc584ea2f57e50b662830b0ee70c459"
},
"overrides": {
"@vaadin/bundles": "$@vaadin/bundles",
"@vaadin/polymer-legacy-adapter": "$@vaadin/polymer-legacy-adapter",
"@vaadin/vaadin-development-mode-detector": "$@vaadin/vaadin-development-mode-detector",
"@vaadin/router": "$@vaadin/router",
"@vaadin/vaadin-usage-statistics": "$@vaadin/vaadin-usage-statistics",
"@vaadin/react-components": "$@vaadin/react-components",
"@vaadin/react-components-pro": "$@vaadin/react-components-pro",
"@vaadin/common-frontend": "$@vaadin/common-frontend",
"react-dom": "$react-dom",
"construct-style-sheets-polyfill": "$construct-style-sheets-polyfill",
"react-router-dom": "$react-router-dom",
"lit": "$lit",
"@polymer/polymer": "$@polymer/polymer",
"react": "$react",
"date-fns": "$date-fns",
"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"
}
}

+ 12
- 0
pom.xml View File

@ -29,6 +29,12 @@
<enabled>false</enabled>
</snapshots>
</repository>
<!-- Repositorios de Oracle -->
<repository>
<id>oracle-public</id>
<url>https://maven.oracle.com/public</url>
</repository>
</repositories>
<dependencyManagement>
@ -89,6 +95,12 @@
<artifactId>vaadin-testbench-junit5</artifactId>
<scope>test</scope>
</dependency>
<!-- Conector a bases de datos Oracle -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
</dependency>
</dependencies>
<build>


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

@ -0,0 +1,23 @@
<!DOCTYPE html>
<!--
This file is auto-generated by Vaadin.
-->
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
body, #outlet {
height: 100vh;
width: 100%;
margin: 0;
}
</style>
<!-- index.ts is included here automatically (either by the dev server or during the build) -->
</head>
<body>
<!-- This outlet div is where the views are rendered -->
<div id="outlet"></div>
</body>
</html>

+ 31
- 1
src/main/frontend/themes/docsign/styles.css View File

@ -1 +1,31 @@
@import url('./main-layout.css');
@import url('./main-layout.css');
/*°º¤ø,¸¸,ø¤º°`°º¤ø,¸,ø¤°º¤ø,¸¸,ø¤º°`°º¤ø,¸ ESTILOS PARA LAS TARJETAS °º¤ø,¸¸,ø¤º°`°º¤ø,¸,ø¤°º¤ø,¸¸,ø¤º°`°º¤ø,¸ */
.card {
width: 250px;
border: 1px solid #ccc;
border-radius: 8px;
padding: 16px;
text-align: center;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
background-color: #fff;
margin: 10px;
transition: transform 0.2s;
}
.card:hover {
transform: scale(1.05);
}
.card-title {
font-size: 1.5em;
margin-bottom: 8px;
}
.card-description {
font-size: 1em;
color: #666;
}

+ 39
- 0
src/main/java/mx/gob/jumapacelaya/Services/UserService.java View File

@ -0,0 +1,39 @@
package mx.gob.jumapacelaya.Services;
import mx.gob.jumapacelaya.models.Usuario;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Service;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
@Service
public class UserService {
private final JdbcTemplate jdbcTemplate;
public UserService(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public List<Usuario> getUsusarios() {
List<Usuario> usuarios = new ArrayList<>();
String query = "SELECT usuarioid, empleadoid, nombrecompleto " +
"FROM usuarios " +
"INNER JOIN empleados USING (usuarioid) " +
"WHERE uniorgid=12 AND fechabaja IS NULL AND fechabaj IS NULL AND regexp_like(puestoid, 'EJVEN') " +
"ORDER BY nombrecompleto";
return jdbcTemplate.query(query, usuarioRowMapper());
}
private RowMapper<Usuario> usuarioRowMapper() {
return (rs, rowNum) -> new Usuario(
rs.getString("nombrecompleto"),
rs.getString("usuarioid"),
rs.getInt("empleadoid")
);
}
}

+ 43
- 0
src/main/java/mx/gob/jumapacelaya/models/Usuario.java View File

@ -0,0 +1,43 @@
package mx.gob.jumapacelaya.models;
public class Usuario {
private String nombre;
private String usuarioId;
private int empleadoId;
public Usuario(String nombre, String usuarioId, int empleadoId) {
this.nombre = nombre;
this.usuarioId = usuarioId;
this.empleadoId = empleadoId;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getEmpleadoId() {
return empleadoId;
}
public void setEmpleadoId(int empleadoId) {
this.empleadoId = empleadoId;
}
public String getUsuarioId() {
return usuarioId;
}
public void setUsuarioId(String usuarioId) {
this.usuarioId = usuarioId;
}
@Override
public String toString() {
return nombre;
}
}

+ 20
- 0
src/main/java/mx/gob/jumapacelaya/views/DescEspView.java View File

@ -0,0 +1,20 @@
package mx.gob.jumapacelaya.views;
import com.vaadin.flow.component.html.H1;
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.PageTitle;
import com.vaadin.flow.router.Route;
@PageTitle("Descuento Especial")
@Route(value = "descesp", layout = MainLayout.class)
public class DescEspView extends VerticalLayout {
public DescEspView() {
HorizontalLayout encabezadoLayout = new HorizontalLayout();
encabezadoLayout.getStyle().set("background-color", "red");
this.add(encabezadoLayout);
}
}

+ 137
- 0
src/main/java/mx/gob/jumapacelaya/views/HomeView.java View File

@ -0,0 +1,137 @@
package mx.gob.jumapacelaya.views;
import com.vaadin.flow.component.UI;
import com.vaadin.flow.component.combobox.ComboBox;
import com.vaadin.flow.component.html.H1;
import com.vaadin.flow.component.html.H3;
import com.vaadin.flow.component.html.Paragraph;
import com.vaadin.flow.component.notification.Notification;
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.*;
import java.time.LocalDate;
import java.time.format.TextStyle;
import java.util.Locale;
import mx.gob.jumapacelaya.Services.UserService;
import mx.gob.jumapacelaya.models.Usuario;
import org.springframework.beans.factory.annotation.Autowired;
import org.vaadin.lineawesome.LineAwesomeIconUrl;
@PageTitle("Home")
@Route(value = "", layout = MainLayout.class)
@Menu(order = 0, icon = LineAwesomeIconUrl.FILE)
public class HomeView extends VerticalLayout {
private final UserService userService;
private Usuario usuarioSeleccionado = null;
@Autowired
public HomeView(UserService userService) {
// Inyecion del servicio UserService
this.userService = userService;
// Llamada a los metodos encapsulados
cabezera();
formularios();
}
// Encapsulacion de los componentes de titulos y subtitulos
private void cabezera() {
LocalDate sysDate = LocalDate.now(); // Obtiene la fecha del sistema
// Formateo a la fecha
String fechaFormat = sysDate.getDayOfWeek().getDisplayName(TextStyle.FULL, new Locale("es")) + " " +
sysDate.getDayOfMonth() + " de " +
sysDate.getMonth().getDisplayName(TextStyle.FULL, new Locale("es")) + " " +
sysDate.getYear();
// Subtitulo
VerticalLayout subTitleLayout = new VerticalLayout();
H3 lblSubTitle = new H3(fechaFormat);
subTitleLayout.setAlignItems(Alignment.END);
subTitleLayout.setPadding(false);
subTitleLayout.setMargin(false);
subTitleLayout.add(lblSubTitle);
// Titulo Principal
VerticalLayout titleLayout = new VerticalLayout();
H1 lblTitle = new H1("App para firma de formatos digitales");
titleLayout.setAlignItems(Alignment.CENTER);
titleLayout.setMargin(false);
titleLayout.add(lblTitle, subTitleLayout);
this.setSizeFull();
this.setPadding(false);
add(titleLayout);
}
// Metodo que contiene los formularios
private void formularios() {
VerticalLayout menuLayout = new VerticalLayout();
menuLayout.setSizeFull();
ComboBox<Usuario> cmbUsuario = new ComboBox<>("Selecciona tu usuario");
cmbUsuario.setWidth("20em");
cmbUsuario.setItems(userService.getUsusarios()); // Llenar el combo con los usuarios
cmbUsuario.setItemLabelGenerator(Usuario::getNombre);
cmbUsuario.addValueChangeListener(event -> usuarioSeleccionado = event.getValue());
String[][] opciones = {
{"Solicitud de descuento", "solidesc"},
{"Recibo digital por email", "recibodigital"},
{"Verificación", "verificacion"},
{"PGO y Tomas independientes", "pgotomasindep"},
{"Descuento especial", "descesp"}
};
HorizontalLayout cardLayout = new HorizontalLayout();
cardLayout.setWidthFull();
cardLayout.setSpacing(true);
cardLayout.getStyle().set("flex-wrap", "wrap");
cardLayout.getStyle().set("justify-content", "center");
for(String[] opcion : opciones) {
VerticalLayout card = createCard(opcion[0], opcion[1]);
cardLayout.add(card);
}
menuLayout.add(cmbUsuario, cardLayout);
add(menuLayout);
}
private VerticalLayout createCard(String title, String route) {
VerticalLayout card = new VerticalLayout();
card.setWidth("250px");
card.setSpacing(false);
card.setPadding(true);
card.setAlignItems(Alignment.CENTER);
card.getStyle().set("border", "1px solid #ccc");
card.getStyle().set("border-radius", "8px");
card.getStyle().set("box-shadow", "0 4px 8px rgba(0, 0, 0, 0.1)");
card.getStyle().set("background-color", "#fff");
card.getStyle().set("margin", "10px");
H3 cardTitle = new H3(title);
Paragraph description = new Paragraph("");
card.addClickListener(event -> UI.getCurrent().navigate(route));
card.add(cardTitle, description);
return card;
}
}

+ 10
- 14
src/main/java/mx/gob/jumapacelaya/views/MainLayout.java View File

@ -6,22 +6,21 @@ import com.vaadin.flow.component.html.Footer;
import com.vaadin.flow.component.html.H1;
import com.vaadin.flow.component.html.Header;
import com.vaadin.flow.component.html.Span;
import com.vaadin.flow.component.icon.SvgIcon;
import com.vaadin.flow.component.orderedlayout.Scroller;
import com.vaadin.flow.component.sidenav.SideNav;
import com.vaadin.flow.component.sidenav.SideNavItem;
import com.vaadin.flow.router.Layout;
import com.vaadin.flow.server.auth.AnonymousAllowed;
import com.vaadin.flow.server.menu.MenuConfiguration;
import com.vaadin.flow.server.menu.MenuEntry;
import com.vaadin.flow.theme.lumo.LumoUtility;
import java.util.List;
import org.vaadin.lineawesome.LineAwesomeIcon;
/**
* The main view is a top-level placeholder for other views.
*/
@Layout
@AnonymousAllowed
//@CssImport("./themes/docsign/styles.css")
public class MainLayout extends AppLayout {
private H1 viewTitle;
@ -43,7 +42,7 @@ public class MainLayout extends AppLayout {
}
private void addDrawerContent() {
Span appName = new Span("DocSign");
Span appName = new Span("DocSign JUMAPA Celaya");
appName.addClassNames(LumoUtility.FontWeight.SEMIBOLD, LumoUtility.FontSize.LARGE);
Header header = new Header(appName);
@ -55,22 +54,19 @@ public class MainLayout extends AppLayout {
private SideNav createNavigation() {
SideNav nav = new SideNav();
List<MenuEntry> menuEntries = MenuConfiguration.getMenuEntries();
menuEntries.forEach(entry -> {
if (entry.icon() != null) {
nav.addItem(new SideNavItem(entry.title(), entry.path(), new SvgIcon(entry.icon())));
} else {
nav.addItem(new SideNavItem(entry.title(), entry.path()));
}
});
nav.addItem(new SideNavItem("Home", HomeView.class, LineAwesomeIcon.HOME_SOLID.create()));
nav.addItem(new SideNavItem("Solicitud De Descuento", SolicitudDescView.class, LineAwesomeIcon.COINS_SOLID.create()));
nav.addItem(new SideNavItem("Recibo Digital", ReciboDgtalView.class, LineAwesomeIcon.FILE_ALT.create()));
nav.addItem(new SideNavItem("Verificacion", VerificacionView.class, LineAwesomeIcon.CHECK_CIRCLE_SOLID.create()));
nav.addItem(new SideNavItem("PGO y Tomas independientes", PgoTomasView.class, LineAwesomeIcon.MONEY_BILL_ALT.create()));
nav.addItem(new SideNavItem("Descuento Especial", DescEspView.class, LineAwesomeIcon.MONEY_BILL_ALT.create()));
return nav;
}
private Footer createFooter() {
Footer layout = new Footer();
return layout;
return new Footer();
}
@Override


+ 18
- 0
src/main/java/mx/gob/jumapacelaya/views/PgoTomasView.java View File

@ -0,0 +1,18 @@
package mx.gob.jumapacelaya.views;
import com.vaadin.flow.component.html.H1;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.PageTitle;
import com.vaadin.flow.router.Route;
@PageTitle("PGO y Tomas Indep")
@Route(value = "pgotomasindep", layout = MainLayout.class)
public class PgoTomasView extends VerticalLayout {
public PgoTomasView() {
VerticalLayout layout = new VerticalLayout();
H1 titulo = new H1("Solicitud Desc");
add(titulo);
}
}

+ 19
- 0
src/main/java/mx/gob/jumapacelaya/views/ReciboDgtalView.java View File

@ -0,0 +1,19 @@
package mx.gob.jumapacelaya.views;
import com.vaadin.flow.component.html.H1;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.PageTitle;
import com.vaadin.flow.router.Route;
@PageTitle("Solicitud de Recibo Digital")
@Route(value = "recibodigital", layout = MainLayout.class)
public class ReciboDgtalView extends VerticalLayout {
public ReciboDgtalView() {
VerticalLayout layout = new VerticalLayout();
H1 titulo = new H1("Solicitud Desc");
add(titulo);
}
}

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

@ -0,0 +1,129 @@
package mx.gob.jumapacelaya.views;
import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.button.ButtonVariant;
import com.vaadin.flow.component.checkbox.CheckboxGroup;
import com.vaadin.flow.component.combobox.ComboBox;
import com.vaadin.flow.component.html.H1;
import com.vaadin.flow.component.html.H2;
import com.vaadin.flow.component.html.H3;
import com.vaadin.flow.component.html.Span;
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.component.textfield.NumberField;
import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.router.BeforeEnterEvent;
import com.vaadin.flow.router.BeforeEnterObserver;
import com.vaadin.flow.router.PageTitle;
import com.vaadin.flow.router.Route;
import org.hibernate.annotations.DialectOverride;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Date;
@PageTitle("Solicitud de Descuento")
@Route(value = "solidesc", layout = MainLayout.class)
public class SolicitudDescView extends VerticalLayout {
private H3 label;
public SolicitudDescView() {
this.setSizeFull();
cabezera();
titulo();
formulario();
}
private void cabezera() {
HorizontalLayout encabezadoLayout = new HorizontalLayout();
encabezadoLayout.setWidthFull();
encabezadoLayout.setPadding(true);
// Obtener la fecha actual del sistema
LocalDate fechaSistema = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEEE d 'de' MMMM 'del' yyyy");
String fechaFormateada = fechaSistema.format(formatter);
Span fecha = new Span();
fecha.setText("Celaya, Guanajuato a " + fechaFormateada);
H2 presolicitud = new H2();
presolicitud.setText("PreSolicitud");
encabezadoLayout.add(fecha);
encabezadoLayout.addAndExpand(new HorizontalLayout());
encabezadoLayout.add(presolicitud);
this.add(encabezadoLayout);
}
private void titulo() {
HorizontalLayout tituloLayout = new HorizontalLayout();
H2 lblTitulo = new H2();
lblTitulo.setText("JUNTA MUNICIPAL DE AGUA POTABLE Y ALCANTARILLADO DE CELAYA, GTO");
tituloLayout.add(lblTitulo);
this.add(tituloLayout);
}
private void formulario() {
VerticalLayout formularioLayout = new VerticalLayout();
//formularioLayout.getStyle().set("background-color", "green");
formularioLayout.setSpacing(true);
formularioLayout.setPadding(true);
H3 label = new H3();
label.setText("Solicitud de Descuento en adeudo [USUARIO]");
Span labelTexto = new Span();
labelTexto.setText("Prepara la solicitud:");
CheckboxGroup<String> tipoSolicitudGroup = new CheckboxGroup<>("Elige el tipo de Solicitud:");
tipoSolicitudGroup.setItems("Recargos", "Infracciones", "Ajuste de Facturas");
NumberField predio = new NumberField("Predio:");
TextField solicitante = new TextField("Solicitante:");
solicitante.setWidth("30em");
TextField txtParentesco = new TextField("Parentesco:");
HorizontalLayout identificacionLayout = new HorizontalLayout();
identificacionLayout.setWidthFull();
Span identificacionTexto = new Span();
identificacionTexto.setText("Se identifica con:");
ComboBox<String> cmbTipoIdentificacion = new ComboBox<>();
cmbTipoIdentificacion.setPlaceholder("Selecciona una opcion");
cmbTipoIdentificacion.setItems("INE/IFE", "Lic. de conducir", "Pasaporte", "Cedula prof.", "Visa", "Otro...");
TextField numIdentificacion = new TextField();
numIdentificacion.setPlaceholder("No. identificacion");
numIdentificacion.setWidthFull();
Button btnVerSolicitud = new Button("Ver Solicitud");
btnVerSolicitud.addThemeVariants(ButtonVariant.LUMO_PRIMARY);
btnVerSolicitud.addThemeVariants(ButtonVariant.LUMO_LARGE);
identificacionLayout.add(cmbTipoIdentificacion, numIdentificacion);
formularioLayout.add(label, labelTexto,
tipoSolicitudGroup, predio,
solicitante, identificacionTexto,
identificacionLayout, txtParentesco,
btnVerSolicitud);
this.add(formularioLayout);
}
}

+ 18
- 0
src/main/java/mx/gob/jumapacelaya/views/VerificacionView.java View File

@ -0,0 +1,18 @@
package mx.gob.jumapacelaya.views;
import com.vaadin.flow.component.html.H1;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.PageTitle;
import com.vaadin.flow.router.Route;
@PageTitle("Verificacion")
@Route(value = "verificacion", layout = MainLayout.class)
public class VerificacionView extends VerticalLayout {
public VerificacionView() {
VerticalLayout layout = new VerticalLayout();
H1 titulo = new H1("Solicitud Desc");
add(titulo);
}
}

+ 0
- 36
src/main/java/mx/gob/jumapacelaya/views/home/HomeView.java View File

@ -1,36 +0,0 @@
package mx.gob.jumapacelaya.views.home;
import com.vaadin.flow.component.html.H2;
import com.vaadin.flow.component.html.Image;
import com.vaadin.flow.component.html.Paragraph;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.Menu;
import com.vaadin.flow.router.PageTitle;
import com.vaadin.flow.router.Route;
import com.vaadin.flow.theme.lumo.LumoUtility.Margin;
import org.vaadin.lineawesome.LineAwesomeIconUrl;
@PageTitle("Home")
@Route("")
@Menu(order = 0, icon = LineAwesomeIconUrl.FILE)
public class HomeView extends VerticalLayout {
public HomeView() {
setSpacing(false);
Image img = new Image("images/empty-plant.png", "placeholder plant");
img.setWidth("200px");
add(img);
H2 header = new H2("This place intentionally left empty");
header.addClassNames(Margin.Top.XLARGE, Margin.Bottom.MEDIUM);
add(header);
add(new Paragraph("It’s a place where you can grow your own UI 🤗"));
setSizeFull();
setJustifyContentMode(JustifyContentMode.CENTER);
setDefaultHorizontalComponentAlignment(Alignment.CENTER);
getStyle().set("text-align", "center");
}
}

+ 7
- 0
src/main/resources/application.properties View File

@ -8,3 +8,10 @@ vaadin.launch-browser=true
# For more information https://vaadin.com/docs/latest/integrations/spring/configuration#special-configuration-parameters
vaadin.allowed-packages = com.vaadin,org.vaadin,mx.gob.jumapacelaya
spring.jpa.defer-datasource-initialization = true
# Conexion a la base de datos Comercial
spring.datasource.url=jdbc:oracle:thin:@//svrcomer:1521/comerpdb.JUMAPACELAYA.GOB.MX
spring.datasource.username=Comercial
spring.datasource.password=Comercial
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

+ 39
- 0
tsconfig.json View File

@ -0,0 +1,39 @@
// This TypeScript configuration file is generated by vaadin-maven-plugin.
// This is needed for TypeScript compiler to compile your TypeScript code in the project.
// It is recommended to commit this file to the VCS.
// You might want to change the configurations to fit your preferences
// For more information about the configurations, please refer to http://www.typescriptlang.org/docs/handbook/tsconfig-json.html
{
"_version": "9.1",
"compilerOptions": {
"sourceMap": true,
"jsx": "react-jsx",
"inlineSources": true,
"module": "esNext",
"target": "es2020",
"moduleResolution": "bundler",
"strict": true,
"skipLibCheck": true,
"noFallthroughCasesInSwitch": true,
"noImplicitReturns": true,
"noImplicitAny": true,
"noImplicitThis": true,
"noUnusedLocals": false,
"noUnusedParameters": false,
"experimentalDecorators": true,
"useDefineForClassFields": false,
"baseUrl": "src/main/frontend",
"paths": {
"@vaadin/flow-frontend": ["generated/jar-resources"],
"@vaadin/flow-frontend/*": ["generated/jar-resources/*"],
"Frontend/*": ["*"]
}
},
"include": [
"src/main/frontend/**/*",
"types.d.ts"
],
"exclude": [
"src/main/frontend/generated/jar-resources/**"
]
}

+ 17
- 0
types.d.ts View File

@ -0,0 +1,17 @@
// This TypeScript modules definition file is generated by vaadin-maven-plugin.
// You can not directly import your different static files into TypeScript,
// This is needed for TypeScript compiler to declare and export as a TypeScript module.
// It is recommended to commit this file to the VCS.
// You might want to change the configurations to fit your preferences
declare module '*.css?inline' {
import type { CSSResultGroup } from 'lit';
const content: CSSResultGroup;
export default content;
}
// Allow any CSS Custom Properties
declare module 'csstype' {
interface Properties {
[index: `--${string}`]: any;
}
}

Loading…
Cancel
Save