/***** INICIALES *****/ let datalist_click = [false]; $('.richtext').richText(); $('.datepicker').MonthPicker({ MaxMonth: 0, Button: false }); loadEmpleos(); /***** EMPLEOS *****/ function loadEmpleos(){ $.ajax({ url: 'action/empleos_action.php', type: 'POST', dataType: 'json', data: { tipo: 1, id: $('#idUser').val() }, success: function(result) { $('main').children('div').html(result['html']); $('.ing-editar').click(editarEmpleo); $('.ing-basura').click(eliminarEmpleo); }, error: function(jqXHR, textStatus, errorThrown ){ $('main').children('div').html(`
¡Lo sentimos!
Se presentó un error inesperado en el sistema.
Por favor inténtalo más tarde.
`); } }); } /***** AGREGAR | EDITAR *****/ $('#btnAgregar').click(function(){ $('#titModal').text('Nuevo Empleo'); $('#btnOkEmpleo').data('tipo', '2'); $('#btnOkEmpleo').data('id', '0'); $('#modalEmpleo').modal('show'); }); $('#modalEmpleo').on('hidden.bs.modal', function(){ $('#inputPuesto').val('').removeClass('is-invalid'); $('#inputEmpresa').val('').removeClass('is-invalid'); if ($('#switchActual').hasClass('active')) $('#switchActual').click(); $('#inputFechaInicio').val('').removeClass('is-invalid'); $('#inputFechaFin').val('').removeClass('is-invalid'); $('#txtDescripcion').val(''); $('#txtDescripcion').text(''); $('#txtDescripcion').siblings('div.richText-editor').html(''); $('.alert').hide(); }); $('#dlEmpresa ul li').mousedown({index: 0},mousedownDataList); $('#dlEmpresa ul li').mouseup({elem: 'Empresa', index: 0},mouseupDataList); $('#inputEmpresa').click({elem: 'Empresa'},clickDataList); $('#inputEmpresa').blur({elem: 'Empresa', index: 0},blurDataList); $('#inputEmpresa').keyup({elem: 'Empresa'},inputKeyUp); $('#iconEmpresa').mousedown({index: 0},mousedownDataList); $('#iconEmpresa').mouseup({elem: 'Empresa', index: 0},mouseupDataList); $('#iconEmpresa').click({elem: 'Empresa'},limpiaInputDL); $('#dlEmpresa ul li').click({elem: 'Empresa'}, itemDataList); $('#btnOkEmpleo').click(function(){ if (datosValidos()){ $('#modalEmpleo').modal('hide'); $.ajax({ url: 'action/empleos_action.php', type: 'POST', dataType: 'json', data: { tipo: $(this).data('tipo'), id: $(this).data('id'), puesto: $('#inputPuesto').val(), empresa: $('#inputEmpresa').val(), inicio: $('#inputFechaInicio').val(), fin: $('#inputFechaFin').val(), descripcion: $('#txtDescripcion').val() }, success: function(result) { if(result['error']!= '' && result['error'] !== undefined){ $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger'); $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar'); $('.msg1').text('¡Error!'); $('.msg2').html(result['error']); $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger'); } else { $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-success'); $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-aceptar'); $('.msg1').text('¡Felicidades!'); $('.msg2').html(result['ok']); $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-success'); loadEmpleos(); } $('#modalAviso').modal('show'); }, error: function(jqXHR, textStatus, errorThrown ){ $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning'); $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante'); $('.msg1').text('¡Lo sentimos!'); if ($(this).data('tipo') == '2') $('.msg2').text('Se presentó un error inesperado al momento de agregar el nuevo empleo'); else $('.msg2').text('Se presentó un error inesperado al momento de actualizar el nuevo empleo'); $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning'); $('#modalAviso').modal('show'); } }); } }); function datosValidos(){ let valido = true; if($('#inputPuesto').val() == ''){ $('#inputPuesto').addClass('is-invalid'); valido = false; } else { $('#inputPuesto').removeClass('is-invalid'); } if($('#inputEmpresa').val() == ''){ $('#inputEmpresa').addClass('is-invalid'); valido = false; } else { $('#inputEmpresa').removeClass('is-invalid'); } if($('#inputFechaInicio').val() == ''){ $('#inputFechaInicio').addClass('is-invalid'); valido = false; } else { $('#inputFechaInicio').removeClass('is-invalid'); } if (!$('#actual').is(':checked') && $('#inputFechaFin').val() == ''){ $('#inputFechaFin').addClass('is-invalid'); valido = false; } else { $('#inputFechaFin').removeClass('is-invalid'); } return valido; } function editarEmpleo(){ let id = $(this).data('id'); let puesto = $(this).parent().siblings('div.indivisa-text-italic').text(); $.ajax({ url: 'action/empleos_action.php', type: 'POST', dataType: 'json', data: { tipo: 5, id: id }, success: function(result) { if(result['error']!= '' && result['error'] !== undefined){ $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger'); $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar'); $('.msg1').text('¡Error!'); $('.msg2').html(result['error'] + '' + puesto + ''); $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger'); $('#modalAviso').modal('show'); } else { $('#inputPuesto').val(result['puesto']); $('#inputEmpresa').val(result['empresa']); $('#inputFechaInicio').val(result['inicio']); if (result['fin'] == '') { if (!$('#switchActual').hasClass('active')) $('#switchActual').click(); } else { if ($('#switchActual').hasClass('active')) $('#switchActual').click(); $('#inputFechaFin').val(result['fin']); } $('#txtDescripcion').siblings('div.richText-editor').html(result['descripcion']); $('#titModal').text('Nuevo Empleo'); $('#btnOkEmpleo').data('tipo', '3'); $('#btnOkEmpleo').data('id', id); $('#modalEmpleo').modal('show'); } }, error: function(jqXHR, textStatus, errorThrown ){ $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning'); $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante'); $('.msg1').text('¡Lo sentimos!'); $('.msg2').text('Se presentó un error inesperado al momento de editar el empleo ' + puesto); $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning'); $('#modalAviso').modal('show'); } }); } $('#switchActual').click(function(){ $(this).toggleClass('active'); if ($('.span').text() == $(this).data('on')){ $('.span').text($(this).data('off')); $(this).children('input').prop('checked',false); $('#inputFechaFin').show(); $('#lblActualidad').hide(); } else { $('.span').text($(this).data('on')); $(this).children('input').prop('checked',true); $('#inputFechaFin').val('').hide(); $('#lblActualidad').show(); } }); /***** ELIMINAR *****/ function eliminarEmpleo(){ $('#modalEliminar').children().children().children('div.modal-body').children('span').text($(this).parent().siblings('div.indivisa-text-italic').text()); $('#btnOkEliminar').data('id',$(this).data('id')); $('#modalEliminar').modal('show'); } $('#btnOkEliminar').click(function(){ $('#modalEliminar').modal('hide'); $.ajax({ url: 'action/empleos_action.php', type: 'POST', dataType: 'json', data: { tipo: 4, id: $(this).data('id') }, success: function(result) { if(result['error']!= '' && result['error'] !== undefined){ $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger'); $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar'); $('.msg1').text('¡Error!'); $('.msg2').html(result['error'] + '' + $('#modalEliminar').children().children().children('div.modal-body').children('span').text() + ''); $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger'); } else { $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-success'); $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-aceptar'); $('.msg1').text('¡Felicidades!'); $('.msg2').html(result['ok'] + '' + $('#modalEliminar').children().children().children('div.modal-body').children('span').text() + ''); $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-success'); loadEmpleos(); } $('#modalAviso').modal('show'); }, error: function(jqXHR, textStatus, errorThrown ){ $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning'); $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante'); $('.msg1').text('¡Lo sentimos!'); $('.msg2').text('Se presentó un error inesperado al momento de eliminar el empleo ' + $('#modalEliminar').children().children().children('div.modal-body').children('span').text()); $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning'); $('#modalAviso').modal('show'); } }); }); /***** FECHAS *****/ $('input.endDate').change(function(){ var sStart = $(this).siblings('input').val().split('/'); var sEnd = $(this).val().split('/'); var dtStart = new Date(parseInt(sStart[1]),parseInt(sStart[0])-1,1); var dtEnd = new Date(parseInt(sEnd[1]),parseInt(sEnd[0])-1,1); if (dtEnd < dtStart){ $('.alert').show(); $(this).val(''); } else $('.alert').hide(); });