diff --git a/src/main/bundles/dev.bundle b/src/main/bundles/dev.bundle index 6a60ca5..45f2d78 100644 Binary files a/src/main/bundles/dev.bundle and b/src/main/bundles/dev.bundle differ diff --git a/src/main/frontend/themes/sistema-mantenimiento/styles.css b/src/main/frontend/themes/sistema-mantenimiento/styles.css index 57bd6a1..4eca193 100644 --- a/src/main/frontend/themes/sistema-mantenimiento/styles.css +++ b/src/main/frontend/themes/sistema-mantenimiento/styles.css @@ -270,3 +270,7 @@ vaadin-login-form-wrapper::part(form-title) { vaadin-login-form-wrapper::part(error-message) { color: #a02142; } + +/* (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) */ +/* (*)(*) ESTILOS PARA EL TAMAÑO DEL GRID (*)(*) */ +/* (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) (*)(*) */ diff --git a/src/main/java/mx/gob/jumapacelaya/ui/ActDiariaView.java b/src/main/java/mx/gob/jumapacelaya/ui/ActDiariaView.java index 2406568..68c7afa 100644 --- a/src/main/java/mx/gob/jumapacelaya/ui/ActDiariaView.java +++ b/src/main/java/mx/gob/jumapacelaya/ui/ActDiariaView.java @@ -2,15 +2,19 @@ package mx.gob.jumapacelaya.ui; 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.dependency.CssImport; +import com.vaadin.flow.component.dialog.Dialog; import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.grid.GridVariant; import com.vaadin.flow.component.html.H3; import com.vaadin.flow.component.html.Span; import com.vaadin.flow.component.notification.Notification; import com.vaadin.flow.component.notification.NotificationVariant; +import com.vaadin.flow.component.orderedlayout.FlexComponent; import com.vaadin.flow.component.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout; +import com.vaadin.flow.component.richtexteditor.RichTextEditor; import com.vaadin.flow.data.renderer.ComponentRenderer; import com.vaadin.flow.router.PageTitle; import com.vaadin.flow.router.Route; @@ -56,7 +60,7 @@ public class ActDiariaView extends VerticalLayout { .setAutoWidth(true); grid.addColumn(Ticket::getSubject).setHeader("Asunto") - .setAutoWidth(true); + .setWidth("25em"); grid.addColumn(createStatusRender()).setHeader("Estado"); @@ -80,15 +84,20 @@ public class ActDiariaView extends VerticalLayout { } }).setHeader("Fecha cierre").setAutoWidth(true); - grid.addColumn(ticket -> ticket.tiempoEst(ticket.getTrackerId())).setHeader("Tiempo estimado de atencion").setAutoWidth(false); + //grid.addColumn(ticket -> ticket.tiempoEst(ticket.getTrackerId())).setHeader("Tiempo estimado de atencion").setAutoWidth(false); - grid.addColumn(Ticket::getDescription).setHeader("Descripción").setWidth("25em"); + grid.addComponentColumn(ticket -> { + Button btnVer = new Button("Ver"); + btnVer.addClickListener(event -> showDescription(ticket)); + return btnVer; + }).setHeader("Descripcion").setAutoWidth(true); grid.addColumn(buttonTicketComponentRenderer()).setHeader("Realizar").setFlexGrow(0).setAutoWidth(true); grid.addThemeVariants(GridVariant.LUMO_WRAP_CELL_CONTENT); grid.getStyle().set("opacity", "0.8"); - grid.setAllRowsVisible(true); + grid.setAllRowsVisible(false); + grid.setHeight("35em"); // Ajustar tamaño del Grid y Layout //grid.setSizeFull(); @@ -104,7 +113,7 @@ public class ActDiariaView extends VerticalLayout { private void loadTickets() { try { - List tickets = redmineClient.getTicketsAuthor(userService.getRedmineUser(), true); + List tickets = redmineClient.getTickets(userService.getRedmineUser(), true); List filteredTickets = tickets.stream() .filter(ticket -> ticket.getTrackerId() == 17 || ticket.getTrackerId() == 16) .toList(); @@ -166,4 +175,30 @@ public class ActDiariaView extends VerticalLayout { Notification.show("Error al cerrar el ticket " + ticket.getId()); } } + + // Metodo para mostrar las descripciones en un componente Dialog + private void showDescription(Ticket ticket) { + + Dialog dialog = new Dialog(); + dialog.getElement().setAttribute("arial-label", "Add note"); + dialog.setMaxHeight("500px"); + dialog.setMaxWidth("1100px"); + + RichTextEditor textEditor = new RichTextEditor(); + textEditor.setValue(ticket.getDescription()); + textEditor.setReadOnly(true); + + Button closeButton = new Button("Cerrar"); + closeButton.addThemeVariants(ButtonVariant.LUMO_ERROR); + closeButton.addClickListener(e -> dialog.close()); + + HorizontalLayout buttonLayout = new HorizontalLayout(closeButton); + buttonLayout.setWidthFull(); + buttonLayout.setJustifyContentMode(FlexComponent.JustifyContentMode.END); + buttonLayout.add(closeButton); + + dialog.add(textEditor, buttonLayout); + + dialog.open(); + } } diff --git a/src/main/java/mx/gob/jumapacelaya/ui/MantenimientoView.java b/src/main/java/mx/gob/jumapacelaya/ui/MantenimientoView.java index 4ac3e8d..eeed5b1 100644 --- a/src/main/java/mx/gob/jumapacelaya/ui/MantenimientoView.java +++ b/src/main/java/mx/gob/jumapacelaya/ui/MantenimientoView.java @@ -703,6 +703,10 @@ public class MantenimientoView extends VerticalLayout implements BeforeEnterObse ? beforeEnterEvent.getLocation().getQueryParameters().getParameters().get("nomEquipo").stream().findFirst().orElse(null) : null; + String deptoParam = beforeEnterEvent.getLocation().getQueryParameters().getParameters().get("departamento") != null + ? beforeEnterEvent.getLocation().getQueryParameters().getParameters().get("departamento").stream().findFirst().orElse(null) + : null; + if (fechaParam != null) { try { LocalDate fechaActual = LocalDate.parse(fechaParam); @@ -752,5 +756,22 @@ public class MantenimientoView extends VerticalLayout implements BeforeEnterObse } else { txtNombreEquipo.setValue("Sin nombre"); } + + + // Establecemos el campo del departamento con el departamento desde el plan anual + if (deptoParam != null) { + Optional departamentoSeleccionado = area.getDataProvider() + .fetch(new com.vaadin.flow.data.provider.Query<>()) + .filter(departamento -> departamento.getNombre().equals(deptoParam)) + .findFirst(); + + if (departamentoSeleccionado.isPresent()) { + area.setValue(departamentoSeleccionado.get()); + area.setReadOnly(true); + } else { + area.setValue(null); + } + } + } } diff --git a/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java b/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java index 43fc357..caaa71a 100644 --- a/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java +++ b/src/main/java/mx/gob/jumapacelaya/ui/PlanAnualView.java @@ -162,20 +162,20 @@ public class PlanAnualView extends VerticalLayout { Grid planAnualGrid = new Grid<>(PlanAnual.class, false); planAnualGrid.addColumn(PlanAnual :: getNumero).setHeader("No."); - planAnualGrid.addColumn(PlanAnual :: getNomEquipo).setHeader("Equipo").setWidth("8em"); - planAnualGrid.addColumn(PlanAnual :: getDepartamento).setHeader("Departamento").setWidth("10em"); + planAnualGrid.addColumn(PlanAnual :: getNomEquipo).setHeader("Equipo").setAutoWidth(true); + planAnualGrid.addColumn(PlanAnual :: getDepartamento).setHeader("Departamento").setAutoWidth(true); planAnualGrid.addThemeVariants(GridVariant.LUMO_WRAP_CELL_CONTENT); // Usando iconos en las columnas booleanas - planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isMonitor())).setHeader("Monitor").setAutoWidth(true); - planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isTeclado())).setHeader("Teclado").setAutoWidth(true); - planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isMouse())).setHeader("Mouse").setAutoWidth(true); - planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isRegulador())).setHeader("Regulador").setAutoWidth(true); - planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isCpu())).setHeader("CPU").setAutoWidth(true); - planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isImpresora())).setHeader("Impresora").setAutoWidth(true); - planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isMiniPrint())).setHeader("MiniPrint").setAutoWidth(true); - planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isLaptop())).setHeader("Laptop").setAutoWidth(true); - planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isEscaner())).setHeader("Escáner").setAutoWidth(true); + planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isMonitor())).setHeader("Monitor"); + planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isTeclado())).setHeader("Teclado"); + planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isMouse())).setHeader("Mouse"); + planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isRegulador())).setHeader("Regulador"); + planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isCpu())).setHeader("CPU"); + planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isImpresora())).setHeader("Impresora"); + planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isMiniPrint())).setHeader("MiniPrint"); + planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isLaptop())).setHeader("Laptop"); + planAnualGrid.addComponentColumn(planAnual -> getIcon(planAnual.isEscaner())).setHeader("Escáner"); planAnualGrid.addColumn(planAnual -> { LocalDate fechaProgramada = planAnual.getFechaProgramada(); @@ -200,7 +200,11 @@ public class PlanAnualView extends VerticalLayout { LocalDate fechaSistema = LocalDate.now(); String fechaStr = fechaSistema.toString(); String nomEquipo = planAnual.getNomEquipo(); - btnRealizar.getUI().ifPresent(ui -> ui.navigate("mantenimiento?id=" + idPlananual + "&fecha=" + fechaStr + "&tipo=1" + "&nomEquipo=" + nomEquipo)); + String departamento = planAnual.getDepartamento(); + btnRealizar.getUI().ifPresent(ui -> ui.navigate( + "mantenimiento?id=" + idPlananual + "&fecha=" + fechaStr + + "&tipo=1" + "&nomEquipo=" + nomEquipo + + "&departamento=" + departamento)); }); // Deshabilitar el boton si el estado no es pendiente @@ -209,7 +213,7 @@ public class PlanAnualView extends VerticalLayout { } return btnRealizar; - }).setHeader("Realizado").setAutoWidth(true); + }).setHeader("Realizado"); planAnualGrid.setItems(databaseService.getPlanAnual()); return planAnualGrid; diff --git a/src/main/resources/META-INF/resources/images/imgCorreo/correoMantt.png b/src/main/resources/META-INF/resources/images/imgCorreo/correoMantt.png index 4203de3..675db3a 100644 Binary files a/src/main/resources/META-INF/resources/images/imgCorreo/correoMantt.png and b/src/main/resources/META-INF/resources/images/imgCorreo/correoMantt.png differ diff --git a/src/main/resources/META-INF/resources/images/imgCorreo/imgCorreo.png b/src/main/resources/META-INF/resources/images/imgCorreo/imgCorreo.png deleted file mode 100644 index 9933d9b..0000000 Binary files a/src/main/resources/META-INF/resources/images/imgCorreo/imgCorreo.png and /dev/null differ