let lote, ficha let paginaActual = localStorage.getItem('paginaActual') switch (paginaActual) { case 'detalleLoteDocente': if (localStorage.getItem('lote')) { if (localStorage.getItem('detalleFichaLote')) { lote = getLocal('lote') ficha = getLocal('detalleFichaLote') } else { window.location.href = 'lotesFicha.jsp' } } else { window.location.href = 'lotesFicha.jsp' } break; case 'detalleConsultaLotesGeneral': if (localStorage.getItem('loteGeneral')) { if (localStorage.getItem('detalleFichaLote')) { lote = getLocal('loteGeneral') ficha = getLocal('detalleFichaLote') } else { window.location.href = 'lotesFicha.jsp' } } else { window.location.href = 'lotesFicha.jsp' } break; default: window.location.href = 'main.jsp' } const getNode = node => document.querySelector(node) const getNodeAll = nodeList => document.querySelectorAll(nodeList) const helpers = { printCosto(obj) { return `<div class="col-md-3"> <div class="form-group"> <label class="display-block text-uppercase text-semibold">${obj.tipoCosto}</label> <span style="font-weight: bold; font-size: 16px;" class="label border-left-primary label-striped text-light fix-label text-semibold">S/. ${obj.costo}</span> </div> </div>` } } let DOMFichaComponents = { print(ficha) { this.datosPersonales(ficha) this.datosFamiliares(ficha.cargafamiliar) this.formacionAcademica(ficha.formacionacademica) this.experienciaLaboral(ficha.experiencialaboral) this.datosAdministrativos(ficha.datosAdministrativos) this.costosPersonal(ficha.datosAdministrativos) }, datosPersonales(obj) { getNode('#lblTipoDocumento').innerHTML = obj.tipoDocumentoDescripcionCorta getNode('#lblNumeroDocumento').innerHTML = obj.numeroDocumento getNode('#lblNumeroRUC').innerHTML = obj.ruc getNode('#lblApellidoPaterno').innerHTML = obj.apellidoPaterno getNode('#lblApellidoMaterno').innerHTML = obj.apellidoMaterno getNode('#lblNombre').innerHTML = obj.nombre getNode('#lblSexo').innerHTML = obj.sexo getNode('#lblEstadoCivil').innerHTML = obj.estadoCivil getNode('#lblFechaNacimiento').innerHTML = obj.fechaNacimiento getNode('#lblNacionalidad').innerHTML = obj.pais getNode('#lblDepartamentoNacimiento').innerHTML = obj.nombreDepartamentoNacimiento getNode('#lblProvinciaNacimiento').innerHTML = obj.nombreProvinciaNacimiento getNode('#lblDistritoNacimiento').innerHTML = obj.nombreDistritoNacimiento getNode('#lblDireccionDocumento').innerHTML = obj.direccionDocumento getNode('#lblTelefonoFijo').innerHTML = obj.telefonoFijo getNode('#lblTelefonoMovil').innerHTML = obj.telefonoMovil getNode('#lblCorreoElectronico').innerHTML = obj.correo getNode('#lblDepartamentoResidencia').innerHTML = obj.nombreDepartamentoResidencia getNode('#lblProvinciaResidencia').innerHTML = obj.nombreProvinciaResidencia getNode('#lblDistritoResidencia').innerHTML = obj.nombreDistritoResidencia getNode('#lblDireccionResidencia').innerHTML = obj.direccionResidencia getNode('#lblFondoPension').innerHTML = obj.fondoPensionDescripcionCorta getNode('#latitudResidencia').innerHTML = obj.latitud getNode('#longitudResidencia').innerHTML = obj.longitud getNode('#lblCantidadDocumentos').innerHTML = obj.expediente.length getNode('#lblEnlaceAlfresco').innerHTML = obj.enlaceAlfresco getNode('#lblFoto').setAttribute('src', `http:\\\\${window.location.hostname}/img/${obj.foto}`) }, datosFamiliares(obj) { let item = 1 let tblFamiliar = new SimpleTable({ element: 'tblFamiliar', //id from the table data: obj, no_data_text: 'No tiene registros', columns: [ { data: () => item++ }, { data: data => `${data.apellidoPaterno} ${data.apellidoMaterno}, ${data.nombre}` }, { data: 'nombreParentesco' }, { data: 'fechaNacimiento' }, { data: 'edad' }, { data: data => data.sexo === 'F' ? 'FEMENINO' : 'MASCULINO' }, { data: 'nombreTipoDocumentoDescripcionCorta' }, { data: 'numeroDocumento' }, { data: 'telefono' } ] }) tblFamiliar.createBody() }, formacionAcademica(obj) { let item = 1 let tblFormacionAcademica = new SimpleTable({ element: 'tblFormacionAcademica', //id from the table data: obj, no_data_text: 'No tiene registros', columns: [ { data: () => item++ }, { data: 'nivelEstudio' }, { data: 'estadoEstudio' }, { data: 'nombreCentroEstudios' }, { data: 'sectorInstitucion' }, { data: 'nombreCarreraProfesional' }, { data: 'fechaInicio' }, { data: data => data.fechaFin === '' ? '-' : data.fechaFin } ] }) tblFormacionAcademica.createBody() }, experienciaLaboral(obj) { let item = 1 let tblExperienciaLaboral = new SimpleTable({ element: 'tblExperienciaLaboral', //id from the table data: obj, no_data_text: 'No tiene registros', columns: [{ data: () => item++ }, { data: 'nombreEmpresa' }, { data: 'nombreCargo' }, { data: 'fechaInicio' }, { data: 'fechaFin' }, { data: 'telefono' } ] }) tblExperienciaLaboral.createBody() }, datosAdministrativos(obj) { getNode('#lblFechaIngreso').innerHTML = obj.fechaIngreso getNode('#lblFechaTermino').innerHTML = obj.fechaTermino getNode('#lblSede').innerHTML = obj.sede getNode('#lblArea').innerHTML = obj.area getNode('#lblCargo').innerHTML = obj.cargo getNode('#lblTipoPago').innerHTML = obj.tipoPago getNode('#lblTituloTabla').innerHTML = `Costo de ${lote.tipoLote === 'A' ? 'ADMINISTRATIVO' : 'DOCENTE'}` getNode('#lblObservacion').innerHTML = obj.observacion }, costosPersonal(obj) { if (lote.tipoLote === 'A') { let escalafon = helpers.printCosto({tipoCosto: 'ESCALAFON', costo: obj.sueldoEscalafon}) let mensualPropuesto = helpers.printCosto({tipoCosto: 'MENSUAL PROPUESTO', costo: obj.sueldoMensual}) getNode('#divContenidoCostos').innerHTML = escalafon + mensualPropuesto } else { let costoa = helpers.printCosto({tipoCosto: 'COSTO A', costo: obj.costoa}) let costob = helpers.printCosto({tipoCosto: 'COSTO B', costo: obj.costob}) let costoc = helpers.printCosto({tipoCosto: 'COSTO C', costo: obj.costoc}) let costoMensual = helpers.printCosto({tipoCosto: 'COSTO MENSUAL', costo: obj.costoMensual}) switch (obj.tipoPago) { case "ADMINISTRATIVO": getNode('#divContenidoCostos').innerHTML = costoa + costob + costoc + costoMensual break; case "HORAS": getNode('#divContenidoCostos').innerHTML = costoa + costob + costoc break; case "MENSUAL": getNode('#divContenidoCostos').innerHTML = costoMensual break; default: errorMessage("error de tipo de pago") } } } } DOMFichaComponents.print(ficha) function setearMapa() { // console.log(json.latitud) // console.log(json.longitud) // myLatLng = { lat: parseFloat(ficha.latitud), lng: parseFloat(ficha.longitud) } let map = new google.maps.Map($('#mapResidencia')[0], { center: myLatLng, zoom: 18, disableDefaultUI: false, draggable: true }) getMarker(myLatLng, map) } function getMarker(myLatLng, map) { let marker = new google.maps.Marker({ position: myLatLng, map: map, draggable: false, animation: google.maps.Animation.DROP, anchorPoint: new google.maps.Point(0, -29) }) let infowindow = new google.maps.InfoWindow() getAddress(myLatLng, infowindow, map, marker) } function getAddress(latlng, infowindow, map, marker) { let geocoder = new google.maps.Geocoder geocoder.geocode({'location': latlng}, function (result, status) { if (status === 'OK') { infowindow.setContent( '<div>' + '<b class="text-uppercase">' + result[0].address_components[1].long_name + '</b> <br/>' + '<span class="text-muted">' + result[0].formatted_address + '</span> <br/>' + '</div>' ) infowindow.open(map, marker) } else { load("Cargando mapa") setTimeout(() => unload(), 2000) } }) } $(document).ready(() => { setearMapa() })