diff --git a/src/main/webapp/js/pages/programacion_seminario.js b/src/main/webapp/js/pages/programacion_seminario.js index a68fa84..7119682 100644 --- a/src/main/webapp/js/pages/programacion_seminario.js +++ b/src/main/webapp/js/pages/programacion_seminario.js @@ -56,6 +56,10 @@ function getColumns() { let text = ""; switch (data) { + case - 1: + label = "label label-danger"; + text = "ELIMINADO"; + break; case 0: label = "label bg-purple"; text = "PENDIENTE"; @@ -93,7 +97,7 @@ function getColumns() { aceptar = `<span style="cursor: pointer"><i class="aceptar icon-checkmark4 text-success-700"></i> </span>`; rechazar = `<span style="cursor: pointer"><i class="rechazar icon-cross2 text-danger-700"></i> </span>`; - verdetalle = `<span style="cursor: pointer"><i class="verdetalle icon-three-bars text-primary-700"></i> </span>`; +// verdetalle = `<span style="cursor: pointer"><i class="verdetalle icon-three-bars text-primary-700"></i> </span>`; editar = `<span style="cursor: pointer"><i class="editar icon-pencil text-slate-800"></i> </span>`; @@ -127,12 +131,12 @@ const mostrarModalAprobarSeminario = (data) => { let titulo = ""; let textoConfirmacion = "" let tituloOperacion = ""; - if (estado == 0) { - titulo = 'Está seguro de aprobar el seminario?'; - textoConfirmacion = 'Sí, aprobar!'; - tituloOperacion = '¡Aprobado exitosamente!'; - estado = 1; - } +// if (estado == 0) { + titulo = 'Está seguro de aprobar el seminario?'; + textoConfirmacion = 'Sí, aprobar!'; + tituloOperacion = '¡Aprobado exitosamente!'; + estado = 1; +// } swal({ title: titulo, @@ -165,12 +169,101 @@ const mostrarModalRechazarSeminario = (data) => { let titulo = ""; let textoConfirmacion = "" let tituloOperacion = ""; - if (estado == 0) { - titulo = 'Está seguro de desaaprobar el seminario?'; - textoConfirmacion = 'Sí, desaprobar!'; - tituloOperacion = '¡Desaprobado exitosamente!'; - estado = 2; - } +// if (estado == 0) { + titulo = 'Está seguro de desaaprobar el seminario?'; + textoConfirmacion = 'Sí, desaprobar!'; + tituloOperacion = '¡Desaprobado exitosamente!'; + estado = 2; +// } + + swal({ + title: titulo, + text: "", + type: 'warning', + showCancelButton: true, + confirmButtonColor: '#3085d6', + cancelButtonColor: '#d33', + confirmButtonText: textoConfirmacion + }).then((result) => { + if (result.value) { + ajaxWebService.patch(`${URI_DOCENTES_PROGRAMACION_SEMINARIO}/${id}`, {estado}).then((response) => { + if (response.status) { + swal({ + type: 'success', + title: tituloOperacion, + showConfirmButton: false, + timer: 1500 + }); + listarSeminariosProgramados(); + } + }); + } + }); +}; + + +const inicializarInputsModalEditarSeminario = (data) => { + $("#spanNombres").text(`${data.trabajador_apellidos} ${data.trabajador_nombres}`) + listarTipoSeminario("#cboTipoSeminario", data.tiposeminario_id); + listarGrupoAcademico("#cboGrupoAcademico", data.grupoacademico_id); + initDatePicker("#dpFechaSeminario"); + debugger + $("#dpFechaSeminario").val(data.fecha_seminario); + $("#txtHoraInicio").val(data.hora_inicio); + $("#txtHoraFin").val(data.hora_fin); + $("#txtObservacion").val(data.observacion); +}; + + +const editarSeminario = () => { + swal({ + type: 'success', + title: '¡Seminario editado exitosamente!', + showConfirmButton: false, + timer: 1500 + }); +}; + +const mostrarModalEditarSeminario = (data) => { + ajaxModal.get("docentesporhoras/programacionSeminario/editarSeminario.jspf").then((response) => { + swal({ + title: '<strong>Editar seminario</strong>', + html: response.data, + showCloseButton: true, + showCancelButton: true, + focusConfirm: false, + confirmButtonText: '<i class="icon-checkmark2"></i> Editar seminario', + confirmButtonAriaLabel: 'Editar seminario', + cancelButtonText: '<i class="icon-cross3"></i>Cancelar', + cancelButtonAriaLabel: 'Thumbs down', + width: '30%', + customClass: 'swal2-overflow', + onOpen: () => { + inicializarInputsModalEditarSeminario(data); + } + }).then((result) => { + if (result.value) { + editarSeminario(); + } + }); + }); +}; + +const mostrarModalVerDetalleSeminario = (data) => { + +}; + +const mostrarModalEliminarSeminario = (data) => { + let {id, estado} = data; + let titulo = ""; + let textoConfirmacion = "" + let tituloOperacion = ""; +// if (estado == 0) { + titulo = 'Está seguro de eliminar el seminario?'; + textoConfirmacion = 'Sí, eliminar!'; + tituloOperacion = '¡Eliminado exitosamente!'; + estado = -1; +// } swal({ title: titulo, @@ -208,7 +301,7 @@ function listarSeminariosProgramados(objParams = {}){ wrapsNameDatatable, { data: response.data, - columns, + columns }, classNameForDatatable, ).then((nodes) => { @@ -216,15 +309,15 @@ function listarSeminariosProgramados(objParams = {}){ .off() .on("click", ".verdetalle", function () { let data = nodes.datatable.DataTable().row($(this).parents("tr")).data(); - mostrarModalVerDetalleTolerancia(data); + mostrarModalVerDetalleSeminario(data); }) .on("click", ".editar", function () { let data = nodes.datatable.DataTable().row($(this).parents("tr")).data(); - mostrarModalEditarTolerancia(data); + mostrarModalEditarSeminario(data); }) .on("click", ".eliminar", function () { let data = nodes.datatable.DataTable().row($(this).parents("tr")).data(); - mostrarModalEliminarTolerancia(data); + mostrarModalEliminarSeminario(data); }) .on("click", ".aceptar", function () { let data = nodes.datatable.DataTable().row($(this).parents("tr")).data(); @@ -242,23 +335,25 @@ const aplicarFiltro = () => { }; -const listarTipoSeminario = (nodeIdentifier) => { +const listarTipoSeminario = (nodeIdentifier, selectedValue = "") => { ajaxWebService.get(URI_DOCENTES_TIPO_SEMINARIO).then((response) => { let tiposSeminario = response.data; tiposSeminario = _.orderBy(tiposSeminario, s => s.descripcion); let html = `<option value="">[SELECCIONE]</option>`; html += tiposSeminario.map(tipoSeminario => `<option value="${tipoSeminario.id}">${tipoSeminario.descripcion}</option>`); $(nodeIdentifier).html(html); + $(nodeIdentifier).val(selectedValue); }); }; -const listarGrupoAcademico = (nodeIdentifier) => { +const listarGrupoAcademico = (nodeIdentifier, selectedValue = "") => { ajaxWebService.get(URI_DOCENTES_GRUPO_ACADEMICO).then((response) => { let gruposacademicos = response.data; gruposacademicos = _.orderBy(gruposacademicos, grupoAcademico => grupoAcademico.descripcion); let html = `<option value="">[SELECCIONE]</option>`; html += gruposacademicos.map(grupoAcademico => `<option value="${grupoAcademico.id}">${grupoAcademico.descripcion}</option>`); $(nodeIdentifier).html(html); + $(nodeIdentifier).val(selectedValue); }); }; diff --git a/src/main/webapp/vistas/.LCKindex.jsp~ b/src/main/webapp/vistas/.LCKindex.jsp~ new file mode 100644 index 0000000..1664b54 --- /dev/null +++ b/src/main/webapp/vistas/.LCKindex.jsp~ @@ -0,0 +1 @@ +D:\billy\Proyectos\Asistencia\src\main\webapp\vistas\index.jsp \ No newline at end of file diff --git a/src/main/webapp/vistas/index.jsp b/src/main/webapp/vistas/index.jsp index 6ac2e38..b2b078a 100644 --- a/src/main/webapp/vistas/index.jsp +++ b/src/main/webapp/vistas/index.jsp @@ -47,7 +47,7 @@ <div class="panel panel-body login-form"> <div class="text-center"> <div class="icon-object border-slate-300 text-slate-300"><i class="icon-reading"></i></div> - <h5 class="content-group">PROYECTO<small class="display-block">Ingrese sus credenciales</small></h5> + <h5 class="content-group">Trismegisto Asistencia<small class="display-block">Ingrese sus credenciales</small></h5> </div> <div class="form-group has-feedback has-feedback-left"> diff --git a/src/main/webapp/vistas/modals/docentesporhoras/programacionSeminario/detalleSeminario.jspf b/src/main/webapp/vistas/modals/docentesporhoras/programacionSeminario/detalleSeminario.jspf new file mode 100644 index 0000000..789901f --- /dev/null +++ b/src/main/webapp/vistas/modals/docentesporhoras/programacionSeminario/detalleSeminario.jspf @@ -0,0 +1,47 @@ +<form id="frm" onsubmit="return false;" autocomplete="off"> + + <div class="row"> + <div class="form-group col-md-8"> + <label>Docente</label> + <select id="cboDocentes" class="select-search form-control"></select> + </div> + <div class="form-group col-md-4"> + <label>Tipo de seminario</label> + <select id="cboTipoSeminario" class="select-search form-control"></select> + </div> + </div> + <div class="row"> + <div class="form-group col-md-4"> + <label>Fecha Seminario</label> + <div class="input-group"> + <span class="input-group-addon"><i class="icon-calendar"></i></span> + <input type="text" class="form-control" id="dpFechaSeminario"> + </div> + </div> + <div class="form-group col-md-4"> + <label>Hora inicio</label> + <div class="input-group"> + <span class="input-group-addon"><i class="fa fa-clock-o"></i></span> + <input type="time" class="form-control" id="txtHoraInicio"> + </div> + </div> + <div class="form-group col-md-4"> + <label>Hora fin</label> + <div class="input-group"> + <span class="input-group-addon"><i class="fa fa-clock-o"></i></span> + <input type="time" class="form-control" id="txtHoraFin"> + </div> + </div> + + </div> + <div class="row"> + <div class="form-group col-md-4"> + <label>Grupo academico</label> + <select id="cboGrupoAcademico" class="select-search form-control"></select> + </div> + <div class="form-group col-md-8"> + <label>Observacion</label> + <textarea name="txtObservacion" id="txtObservacion" cols="30" rows="4" class="form-control"></textarea> + </div> + </div> +</form> \ No newline at end of file diff --git a/src/main/webapp/vistas/modals/docentesporhoras/programacionSeminario/editarSeminario.jspf b/src/main/webapp/vistas/modals/docentesporhoras/programacionSeminario/editarSeminario.jspf new file mode 100644 index 0000000..ce25086 --- /dev/null +++ b/src/main/webapp/vistas/modals/docentesporhoras/programacionSeminario/editarSeminario.jspf @@ -0,0 +1,47 @@ +<form id="frm" onsubmit="return false;" autocomplete="off"> + + <div class="row"> + <div class="form-group col-md-8"> + <label>Docente</label> + <span class="label label-left border-left-primary label-striped form-control" id="spanNombres"></span> + </div> + <div class="form-group col-md-4"> + <label>Tipo de seminario</label> + <select id="cboTipoSeminario" class="select-search form-control"></select> + </div> + </div> + <div class="row"> + <div class="form-group col-md-4"> + <label>Fecha Seminario</label> + <div class="input-group"> + <span class="input-group-addon"><i class="icon-calendar"></i></span> + <input type="text" class="form-control" id="dpFechaSeminario"> + </div> + </div> + <div class="form-group col-md-4"> + <label>Hora inicio</label> + <div class="input-group"> + <span class="input-group-addon"><i class="fa fa-clock-o"></i></span> + <input type="time" class="form-control" id="txtHoraInicio"> + </div> + </div> + <div class="form-group col-md-4"> + <label>Hora fin</label> + <div class="input-group"> + <span class="input-group-addon"><i class="fa fa-clock-o"></i></span> + <input type="time" class="form-control" id="txtHoraFin"> + </div> + </div> + + </div> + <div class="row"> + <div class="form-group col-md-4"> + <label>Grupo academico</label> + <select id="cboGrupoAcademico" class="select-search form-control"></select> + </div> + <div class="form-group col-md-8"> + <label>Observacion</label> + <textarea name="txtObservacion" id="txtObservacion" cols="30" rows="4" class="form-control"></textarea> + </div> + </div> +</form> \ No newline at end of file