home.js 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893
  1. /****** INICIALES *****/
  2. let dropdownlist_click = [false,false, false];
  3. let datalist_click = [false];
  4. cargaDatosPrincipales();
  5. cargaFoto();
  6. cargaSemblanza();
  7. cargaRedes();
  8. cargaIntereses();
  9. /****** GENERALES *****/
  10. $('.ing-editar.iconAcciones').click(function(){
  11. switch($(this).data('tipo')){
  12. case 1:
  13. $('#completo').hide();
  14. $('#nombre').prop('disabled', false);
  15. $('#apellidos').prop('disabled', false);
  16. $('#curp').prop('disabled', false);
  17. break;
  18. case 2:
  19. $('#txtAcerca').show();
  20. $('#txtAcerca').prop('contenteditable',true).addClass('editable');
  21. break;
  22. }
  23. $(this).hide();
  24. $(this).siblings('.btns').show();
  25. });
  26. $('.ing-aceptar.iconAcciones').click(function(){
  27. switch($(this).data('tipo')){
  28. case 1:
  29. if (datosValidos()){
  30. $('#modalEliminar').find('.modal-body').html(`<div>¿Son correctos los siguientes datos a guardar?</div>
  31. <div class="text-azul1 indivisa-text-bold-italic">` + $('#nombre').val() + ` ` + $('#apellidos').val() + `</div>
  32. <div class="text-azul2"><span>CURP: </span><span class="indivisa-text-bold-italic">` + $('#curp').val() + `</span></div>`);
  33. $('#btnOkEliminar').data('tipo',1);
  34. $('#modalEliminar').modal('show');
  35. $(this).parent('.btns').hide();
  36. $(this).parent('.btns').siblings('.ing-editar.iconAcciones').show();
  37. }
  38. break;
  39. case 2:
  40. actualizaSemblanza();
  41. $('#txtAcerca').prop('contenteditable',false).removeClass('editable');
  42. $(this).parent('.btns').hide();
  43. $(this).parent('.btns').siblings('.ing-editar.iconAcciones').show();
  44. break;
  45. case 4:
  46. if ($('#profesionales').children('li.borrar').length > 0 || $('#personales').children('li.borrar').length) {
  47. let total = $('#profesionales').children('li.borrar').length + $('#personales').children('li.borrar').length;
  48. if (total == 1)
  49. $('#modalEliminar').find('.modal-body').html('¿Estas seguro de eliminar <span class="text-azul1">el elemento seleccionado</span>?');
  50. else
  51. $('#modalEliminar').find('.modal-body').html('¿Estas seguro de eliminar los <span class="text-azul1">' + total +' elementos seleccionados</span>?');
  52. $('#btnOkEliminar').data('tipo',4);
  53. $('#modalEliminar').modal('show');
  54. } else {
  55. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  56. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  57. $('.msg1').text('¡Importante!');
  58. $('.msg2').text('Debes seleccionar al menos un interés');
  59. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  60. $('#modalAviso').modal('show');
  61. }
  62. $(this).parent('.btns').hide();
  63. $(this).parent('.btns').siblings('.ing-editar.iconAcciones').show();
  64. break;
  65. }
  66. });
  67. $('.ing-cancelar.iconAcciones').click(function(){
  68. switch($(this).data('tipo')){
  69. case 1:
  70. $('#nombre').prop('disabled', true);
  71. $('#apellidos').prop('disabled', true);
  72. $('#curp').prop('disabled', true);
  73. $('#completo').show();
  74. break;
  75. case 2:
  76. $('#txtAcerca').prop('contenteditable',false).removeClass('editable');
  77. cargaSemblanza();
  78. break;
  79. case 4:
  80. limpiaIntereses();
  81. break;
  82. }
  83. $(this).parent('.btns').hide();
  84. $(this).parent('.btns').siblings('.ing-editar.iconAcciones').show();
  85. });
  86. $('.ing-menos.iconAcciones').click(function(){
  87. switch($(this).data('tipo')){
  88. case 3:
  89. eliminaRedes();
  90. break;
  91. case 4:
  92. $('.interes').children('.ing-cuadrado').hide();
  93. $('.interes').children('.ing-basura').show();
  94. $('#accionIntereses').hide();
  95. $('#eliminaIntereses').show();
  96. break;
  97. }
  98. $(this).parent('.btns').hide();
  99. $(this).parent('.btns').siblings('.ing-editar.iconAcciones').show();
  100. });
  101. $('#btnOkEliminar').click(function(){
  102. switch($(this).data('tipo')){
  103. case 1:
  104. actualizaDatosPrincipales();
  105. break;
  106. case 4:
  107. eliminaIntereses();
  108. break;
  109. case 5:
  110. actualizaFoto();
  111. break;
  112. }
  113. });
  114. function agregaHover() { $(this).parent().addClass('hoverElim'); }
  115. function quitaHover() { $(this).parent().removeClass('hoverElim'); }
  116. function eliminaBasura(){
  117. $(this).hide();
  118. $(this).siblings('.ing-cancelar').show();
  119. $(this).parent().addClass('borrar');
  120. }
  121. function cancelaElimina(){
  122. $(this).hide();
  123. $(this).siblings('.ing-basura').show();
  124. $(this).parent().removeClass('borrar');
  125. }
  126. /****************** NOMBRE Y CURP *****************/
  127. function cargaDatosPrincipales(){
  128. $.ajax({
  129. url: 'action/home_action.php',
  130. type: 'POST',
  131. dataType: 'json',
  132. data: { tipo: 1, accion: 1 },
  133. success: function(result) {
  134. if(result['error']!= '' && result['error'] !== undefined){
  135. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  136. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
  137. $('.msg1').text('¡Error!');
  138. $('.msg2').html(result['error']);
  139. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  140. $('#modalAviso').modal('show');
  141. } else {
  142. $('#nombre').val(result['nombre']);
  143. $('#apellidos').val(result['apellidos']);
  144. $('#completo').children('label').text(result['nombre'] + ' ' + result['apellidos']);
  145. if (result['validacion']) {
  146. $('#validacion').removeClass('invisible');
  147. $('#msg').val(result['msg']);
  148. } else
  149. $('#validacion').addClass('invisible');
  150. $('#estatus').text(result['estatus']);
  151. $('#curp').val(result['curp']);
  152. $('#carreras').html(result['carreras']);
  153. }
  154. },
  155. error: function(jqXHR, textStatus, errorThrown ){
  156. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  157. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  158. $('.msg1').text('¡Lo sentimos!');
  159. $('.msg2').text('Se presentó un error inesperado al momento de cargar el nombre y CURP');
  160. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  161. $('#modalAviso').modal('show');
  162. }
  163. });
  164. }
  165. $('#validacion').on('inserted.bs.tooltip', function(){
  166. $('.tooltip-inner').html($('#msg').val());
  167. });
  168. function datosValidos(){
  169. let valido = true;
  170. if ($('#nombre').val() == '') {
  171. $('#nombre').addClass('is-invalid');
  172. valido = false
  173. } else
  174. $('#nombre').removeClass('is-invalid');
  175. if ($('#apellidos').val() == '') {
  176. $('#apellidos').addClass('is-invalid');
  177. valido = false
  178. } else
  179. $('#apellidos').removeClass('is-invalid');
  180. if ($('#curp').val() == '' || $('#curp').val().length < 18) {
  181. $('#curp').addClass('is-invalid');
  182. valido = false
  183. } else
  184. $('#curp').removeClass('is-invalid');
  185. return valido;
  186. }
  187. function actualizaDatosPrincipales() {
  188. $('#modalEliminar').modal('hide');
  189. $('#nombre').prop('disabled', true);
  190. $('#apellidos').prop('disabled', true);
  191. $('#curp').prop('disabled', true);
  192. $('#completo').show();
  193. $.ajax({
  194. url: 'action/home_action.php',
  195. type: 'POST',
  196. dataType: 'json',
  197. data: { tipo: 1, accion: 2, nombre: $('#nombre').val(), apellidos: $('#apellidos').val(), curp: $('#curp').val() },
  198. success: function(result) {
  199. if(result['error']!= '' && result['error'] !== undefined){
  200. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  201. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
  202. $('.msg1').text('¡Error!');
  203. $('.msg2').html(result['error']);
  204. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  205. $('#modalAviso').modal('show');
  206. } else {
  207. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');
  208. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-aceptar');
  209. $('.msg1').text('¡Felicidades!');
  210. $('.msg2').html(result['ok']);
  211. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');
  212. cargaDatosPrincipales();
  213. }
  214. },
  215. error: function(jqXHR, textStatus, errorThrown ){
  216. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  217. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  218. $('.msg1').text('¡Lo sentimos!');
  219. $('.msg2').text('Se presentó un error inesperado al momento de actualizar el nombre y CURP');
  220. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  221. $('#modalAviso').modal('show');
  222. }
  223. });
  224. }
  225. /****************** FOTO *****************/
  226. function cargaFoto(){
  227. $.ajax({
  228. url: 'action/home_action.php',
  229. type: 'POST',
  230. dataType: 'json',
  231. data: { tipo: 5, accion: 1 },
  232. success: function(result) {
  233. if(result['error']!= '' && result['error'] !== undefined){
  234. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  235. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
  236. $('.msg1').text('¡Error!');
  237. $('.msg2').html(result['error']);
  238. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  239. $('#modalAviso').modal('show');
  240. } else {
  241. $('#foto').attr('src', result['foto']);
  242. }
  243. },
  244. error: function(jqXHR, textStatus, errorThrown ){
  245. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  246. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  247. $('.msg1').text('¡Lo sentimos!');
  248. $('.msg2').text('Se presentó un error inesperado al momento de cargar la foto');
  249. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  250. $('#modalAviso').modal('show');
  251. }
  252. });
  253. }
  254. function actualizaFoto(){
  255. let datos = $.customFile.serialize('#formFoto');
  256. datos.append('accion', 2);
  257. datos.append('tipo', 5);
  258. let elem = event.currentTarget;
  259. if ($(elem).data('dato') == 1)
  260. datos.append('limpia', 1);
  261. else
  262. datos.append('limpia', 0);
  263. $.ajax({
  264. url: 'action/home_action.php',
  265. type: 'POST',
  266. contentType: false,
  267. cache: false,
  268. processData:false,
  269. data: datos,
  270. success: function(result) {
  271. if (result.startsWith('{')){
  272. result = JSON.parse(result);
  273. if(result['error']!= '' && result['error'] !== undefined){
  274. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  275. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
  276. $('.msg1').text('¡Error!');
  277. $('.msg2').html(result['error']);
  278. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  279. $('#modalAviso').modal('show');
  280. } else
  281. cargaFoto();
  282. } else {
  283. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  284. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  285. $('.msg1').text('¡Lo sentimos!');
  286. $('.msg2').text('Ocurrió un error inesperado al momento de cambiar la foto');
  287. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  288. $('#modalAviso').modal('show');
  289. }
  290. $('#modalEliminar').modal('hide');
  291. $('#modalFoto').modal('hide');
  292. },
  293. error: function(jqXHR, textStatus, errorThrown ){
  294. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  295. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  296. $('.msg1').text('¡Lo sentimos!');
  297. $('.msg2').text('Se presentó un error inesperado al momento de cambiar la foto');
  298. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  299. $('#modalAviso').modal('show');
  300. $('#modalEliminar').modal('hide');
  301. $('#modalFoto').modal('hide');
  302. }
  303. });
  304. }
  305. $('#limpiaFoto').click(function(){
  306. $('#btnOkEliminar').data('dato',1);
  307. $('#btnOkEliminar').data('tipo',5);
  308. $('#modalEliminar').children('div').children('div').children('div.modal-body').html('¿Estás seguro de querer poner la imagen <span class="text-azul1">default</span>?');
  309. $('#modalEliminar').modal('show');
  310. });
  311. $('#btnOkFoto').click(function() {
  312. if ($('#divArchivo').children('.cif-file-container.cif-container-image-type').children('div.cif-file-row').length > 0) {
  313. $('#divArchivo').children('.cif-file-picker.cif-pkr-archivo').removeClass('is-invalid');
  314. actualizaFoto();
  315. } else
  316. $('#divArchivo').children('.cif-file-picker.cif-pkr-archivo').addClass('is-invalid');
  317. });
  318. $('#modalFoto').on('show.bs.modal', function (event) {
  319. $('#divArchivo').children('.cif-file-picker.cif-pkr-archivo').removeClass('is-invalid');
  320. $('.cif-close').click();
  321. });
  322. /***** CUSTOM INPUT FILE *****/
  323. $('#addArchivo').customFile({
  324. type : 'image',
  325. /*allowed : ["jpg", "jpeg", "png", "gif", "bmp","avi", "mp4", "mpeg", "mov", "wmv"],*/
  326. maxFiles : 1,
  327. maxKBperFile: 1024*10,
  328. filePicker : '<div class="text-center text-azul1 display-6 mb-2">Arrastra aquí tu foto</div><div class="text-azul2 display-7 mb-2">o da click para agregarla</div><div class="text-secondary mb-2">(La foto debe pesar máximo 10MB)</div><span class="display-6 text-mainColor ing-carga-archivo"></span>',
  329. addContainerAfter : $('#addArchivo'),
  330. messages : {
  331. errorType : 'No son permitidos ese tipo de archivos',
  332. errorFileKB: 'El archivo excede los 10MB'
  333. },
  334. popup: {
  335. active: false,
  336. autoclose : false
  337. },
  338. callbacks : {
  339. beforeRead : function(file){
  340. $('#divArchivo').children('div.cif-file-picker').hide();
  341. $('.carga').show();
  342. },
  343. onError : function(file,msg){
  344. let lista = '';
  345. for (let cont = 0; cont < msg.length; cont++){
  346. lista += '<li>' + msg[cont] + '</li>';
  347. }
  348. $('#divArchivo').before(`<div class="alert alert-danger alert-dismissible w-100 fade show" role="alert">
  349. <div class="d-flex flex-column">
  350. <div class="fw-bold">¡Error!</div>
  351. <div>El archivo que intentaste cargar es:<span class="ms-1">` + file.name + `</span></div>
  352. <ul class="error">` + lista + `</ul>
  353. </div>
  354. <button type="button" class="close" data-dismiss="alert" aria-label="Close" onclick="$('#divArchivo').children('.cif-file-picker.cif-pkr-archivo').show();"><span aria-hidden="true" class="ing-cancelar"></span></button>
  355. </div>`);
  356. $('#divArchivo').children('.cif-file-container.cif-container-image-type').hide();
  357. },
  358. beforeRemove : function(item){
  359. $('#divArchivo').children('.cif-file-picker.cif-pkr-archivo').show();
  360. $('#divArchivo').children('.cif-file-container.cif-container-image-type').hide();
  361. },
  362. onComplete : function(app){
  363. $('.carga').hide();
  364. $('#divArchivo').children('.cif-file-picker.cif-pkr-archivo').hide();
  365. $('#divArchivo').children('.cif-file-picker.cif-pkr-archivo').removeClass('is-invalid');
  366. if ($('.alert').length == 0)
  367. $('#divArchivo').children('.cif-file-container.cif-container-image-type').show();
  368. }
  369. }
  370. });
  371. /****************** ACERCA DE MI *****************/
  372. function cargaSemblanza(){
  373. $('#txtAcerca').hide();
  374. $.ajax({
  375. url: 'action/home_action.php',
  376. type: 'POST',
  377. dataType: 'json',
  378. data: { tipo: 2, accion: 1 },
  379. success: function(result) {
  380. if(result['error']!= '' && result['error'] !== undefined){
  381. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  382. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
  383. $('.msg1').text('¡Error!');
  384. $('.msg2').html(result['error']);
  385. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  386. $('#modalAviso').modal('show');
  387. } else {
  388. if (result['acerca'] != '')
  389. $('#txtAcerca').show();
  390. $('#txtAcerca').text(result['acerca']);
  391. }
  392. },
  393. error: function(jqXHR, textStatus, errorThrown ){
  394. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  395. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  396. $('.msg1').text('¡Lo sentimos!');
  397. $('.msg2').text('Se presentó un error inesperado al momento de cargar la descripción acerca de mi');
  398. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  399. $('#modalAviso').modal('show');
  400. }
  401. });
  402. }
  403. function actualizaSemblanza() {
  404. $.ajax({
  405. url: 'action/home_action.php',
  406. type: 'POST',
  407. dataType: 'json',
  408. data: { tipo: 2, accion: 2, acerca: $('#txtAcerca').text() },
  409. success: function(result) {
  410. if(result['error']!= '' && result['error'] !== undefined){
  411. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  412. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
  413. $('.msg1').text('¡Error!');
  414. $('.msg2').html(result['error']);
  415. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  416. $('#modalAviso').modal('show');
  417. } else {
  418. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');
  419. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-aceptar');
  420. $('.msg1').text('¡Felicidades!');
  421. $('.msg2').html(result['ok']);
  422. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');
  423. cargaSemblanza();
  424. }
  425. },
  426. error: function(jqXHR, textStatus, errorThrown ){
  427. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  428. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  429. $('.msg1').text('¡Lo sentimos!');
  430. $('.msg2').text('Se presentó un error inesperado al momento de actualizar el nombre y CURP');
  431. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  432. $('#modalAviso').modal('show');
  433. }
  434. });
  435. }
  436. /****** DIV CONTENTEDITABLE *****/
  437. $('#txtAcerca').focusout(function(){
  438. let element = $(this);
  439. if (!element.text().replace(" ", "").length) {
  440. element.empty();
  441. }
  442. });
  443. /****************** REDES *****************/
  444. function cargaRedes(){
  445. $.ajax({
  446. url: 'action/home_action.php',
  447. type: 'POST',
  448. dataType: 'json',
  449. data: { tipo: 3, accion: 1 },
  450. success: function(result) {
  451. if(result['error']!= '' && result['error'] !== undefined){
  452. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  453. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
  454. $('.msg1').text('¡Error!');
  455. $('.msg2').html(result['error']);
  456. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  457. $('#modalAviso').modal('show');
  458. } else {
  459. if(result['html'] == '')
  460. $('span.ing-menos[data-tipo="3"]').hide();
  461. else
  462. $('span.ing-menos[data-tipo="3"]').show();
  463. $('#divRedes').html(result['html']);
  464. /****** POPOVER | TOOLTIP *****/
  465. $('[data-toggle="popover"]').popover();
  466. $('[data-toggle="popover"]').on('shown.bs.popover', function () {
  467. $('.popover').children('.popover-header').append('<i class="ing-cancelar btnCerrar" onclick="cierraPopover()"></i>');
  468. });
  469. $('body').on('mousedown', '.popover', function(){
  470. event.preventDefault();
  471. });
  472. $('[data-toggle="tooltip"]').tooltip();
  473. }
  474. },
  475. error: function(jqXHR, textStatus, errorThrown ){
  476. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  477. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  478. $('.msg1').text('¡Lo sentimos!');
  479. $('.msg2').text('Se presentó un error inesperado al momento de cargar las redes');
  480. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  481. $('#modalAviso').modal('show');
  482. }
  483. });
  484. }
  485. function cierraPopover(){
  486. $('[data-toggle="popover"]').popover('hide');
  487. $('.iconRedes').blur();
  488. }
  489. function validaRedes(){
  490. let datos = {};
  491. if ($('#dlRed').data('id') != -1) {
  492. datos.red = $('#dlRed').data('id');
  493. $('#dlRed').removeClass('is-invalid');
  494. if ($('#inputDato').val() == '') {
  495. $('#inputDato').addClass('is-invalid');
  496. } else {
  497. $('#inputDato').removeClass('is-invalid');
  498. datos.dato = $('#inputDato').val();
  499. }
  500. if ($('#dlRed').data('id') != 0) {
  501. datos.subtipo = $('#ddlSubTipo').data('id');
  502. datos.subtipostatus = $('#dlRed').data('subtipo');
  503. if ($('#dlRed').data('subtipo') == 1 && $('#ddlSubTipo').data('id') == 0)
  504. $('#ddlSubTipo').addClass('is-invalid');
  505. else
  506. $('#ddlSubTipo').removeClass('is-invalid');
  507. if ($('#ddlUsoRed').data('id') == 0) {
  508. $('#ddlUsoRed').addClass('is-invalid');
  509. } else {
  510. $('#ddlUsoRed').removeClass('is-invalid');
  511. datos.uso = $('#ddlUsoRed').data('id');
  512. }
  513. } else {
  514. if ($('#inputNomEmergencia').val() == '') {
  515. $('#inputNomEmergencia').addClass('is-invalid');
  516. } else {
  517. $('#inputNomEmergencia').removeClass('is-invalid');
  518. datos.nombre = $('#inputNomEmergencia').val();
  519. datos.subtipo = 0;
  520. datos.subtipostatus = 0;
  521. }
  522. }
  523. } else {
  524. $('#modalAddRedes').find('.is-invalid').removeClass('is-invalid');
  525. $('#dlRed').addClass('is-invalid');
  526. }
  527. return datos;
  528. }
  529. $('#modalAddRedes').on('show.bs.modal', function(){
  530. limpiaRed();
  531. $('#dlRed').data('id',-1);
  532. $('#modalAddRedes').find('.is-invalid').removeClass('is-invalid');
  533. });
  534. $('#btnOkAddRedes').click(function(){
  535. let datos = validaRedes();
  536. if(Object.keys(datos).length == 5){
  537. $('#modalAddRedes').modal('hide');
  538. datos.tipo = 3;
  539. datos.accion = 2;
  540. $.ajax({
  541. url: 'action/home_action.php',
  542. type: 'POST',
  543. dataType: 'json',
  544. data: datos,
  545. success: function(result) {
  546. if(result['error']!= '' && result['error'] !== undefined){
  547. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  548. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
  549. $('.msg1').text('¡Error!');
  550. $('.msg2').html(result['error']);
  551. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  552. } else {
  553. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');
  554. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-aceptar');
  555. $('.msg1').text('¡Felicidades!');
  556. $('.msg2').html(result['ok']);
  557. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');
  558. cargaRedes();
  559. }
  560. $('#modalAviso').modal('show');
  561. },
  562. error: function(jqXHR, textStatus, errorThrown ){
  563. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  564. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  565. $('.msg1').text('¡Lo sentimos!');
  566. $('.msg2').text('Se presentó un error inesperado al momento de cargar el dato | red');
  567. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  568. $('#modalAviso').modal('show');
  569. }
  570. });
  571. }
  572. });
  573. $('#btnOkSupRedes').click(function(){
  574. let ids_redes = [];
  575. $('#modalSupRedes').find('li.borrar').each(function(){
  576. ids_redes.push($(this).data('id'));
  577. });
  578. $('#modalSupRedes').modal('hide');
  579. $.ajax({
  580. url: 'action/home_action.php',
  581. type: 'POST',
  582. dataType: 'json',
  583. data: { tipo: 3, accion: 3, ids_redes: ids_redes },
  584. success: function(result) {
  585. if(result['error']!= '' && result['error'] !== undefined){
  586. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  587. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
  588. $('.msg1').text('¡Error!');
  589. $('.msg2').html(result['error']);
  590. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  591. } else {
  592. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');
  593. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-aceptar');
  594. $('.msg1').text('¡Felicidades!');
  595. $('.msg2').html(result['ok']);
  596. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');
  597. cargaRedes();
  598. }
  599. $('#modalAviso').modal('show');
  600. },
  601. error: function(jqXHR, textStatus, errorThrown ){
  602. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  603. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  604. $('.msg1').text('¡Lo sentimos!');
  605. $('.msg2').text('Se presentó un error inesperado al momento de eliminar los datos y/o redes');
  606. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  607. $('#modalAviso').modal('show');
  608. }
  609. });
  610. });
  611. /****** DLRED ******/
  612. $('#dlRed ul li').mousedown({index: 0},mousedownDataList);
  613. $('#dlRed ul li').mouseup({elem: 'Red', index: 0},mouseupDataList);
  614. $('#inputRed').click({elem: 'Red'},clickDataList);
  615. $('#inputRed').blur({elem: 'Red', index: 0},blurDataList);
  616. $('#inputRed').keyup(function(){
  617. var input = $('#dlRed input');
  618. $('#dlRed ul li label').each(function(){
  619. var elem = $(this);
  620. if ($(this).parent().is('li'))
  621. elem = $(this).parent();
  622. if (!sinAcentos($(this).html()).toUpperCase().includes(sinAcentos($(input).val()).toUpperCase()))
  623. $(elem).hide();
  624. else
  625. $(elem).show();
  626. });
  627. });
  628. $('#iconRed').mousedown({index: 0},mousedownDataList);
  629. $('#iconRed').mouseup(function (){
  630. datalist_click[0] = false;
  631. limpiaRed();
  632. });
  633. $('#iconRed').click({elem: 'Red'},limpiaInputDL);
  634. $('#dlRed ul li').click(function() {
  635. limpiaRed();
  636. $(this).parent('ul').siblings('span').removeClass('ing-cancelar iconoAzul pointer');
  637. $(this).parent('ul').hide();
  638. $('#dlRed').data('id', $(this).data('id'));
  639. $('#dlRed').data('subtipo', $(this).data('subtipo'));
  640. $('#inputRed').val($(this).text());
  641. $('#titDato').text($(this).text());
  642. $('#inputDato').attr('placeholder','Escribe tu ' + $(this).text().toLowerCase() + ' aquí');
  643. if ($(this).data('subtipo') == 1){
  644. $.ajax({
  645. url: 'action/home_action.php',
  646. type: 'POST',
  647. dataType: 'json',
  648. data: { tipo: 3, accion: 4, tipo_contacto: $(this).data('id') },
  649. success: function(result) {
  650. if(result['error']!= '' && result['error'] !== undefined){
  651. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  652. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
  653. $('.msg1').text('¡Error!');
  654. $('.msg2').html(result['error']);
  655. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  656. $('#modalAviso').modal('show');
  657. } else {
  658. $('#titSubTipo').text(result['titulo']);
  659. $('#ddlSubTipo').children('ul').html(result['lista']);
  660. $('#btnSubTipo').children('label').text(result['msg']);
  661. $('.subtipo').show();
  662. /****** DDLSUBTIPO *****/
  663. $('#ddlSubTipo ul li').mousedown({index: 1},mousedownDropdownList);
  664. $('#ddlSubTipo ul li').mouseup({elem: 'UsoRed', index: 1},mouseupDropdownList);
  665. $('#ddlSubTipo ul li').click(itemDropdownList);
  666. }
  667. },
  668. error: function(jqXHR, textStatus, errorThrown ){
  669. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  670. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  671. $('.msg1').text('¡Lo sentimos!');
  672. $('.msg2').text('Se presentó un error inesperado al momento de cargar las redes');
  673. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  674. $('#modalAviso').modal('show');
  675. }
  676. });
  677. $('.subtipo').show();
  678. } else {
  679. $('.subtipo').hide();
  680. }
  681. $('.dato').show();
  682. if ($(this).data('id') != 0) {
  683. $('#titUsoRed').text('Uso de tu ' + $(this).text().toLowerCase());
  684. $('.uso').show();
  685. } else
  686. $('.emergencia').show();
  687. });
  688. function limpiaRed(){
  689. $('#dlRed').data('id',-1);
  690. $('#dlRed').data('subtipo',-1);
  691. $('#btnUsoRed').children('label').text('Elige el tipo de uso');
  692. $('#titSubTipo').hide();
  693. $('#ddlSubTipo').hide();
  694. $('#ddlSubTipo').data('id',0);
  695. $('#ddlUsoRed').data('id',0);
  696. $('.emergencia').hide();
  697. $('.uso').hide();
  698. $('.dato').hide();
  699. $('#modalAddRedes').find('.dropdownlist-item.active').removeClass('.active');
  700. $('#inputDato').val('');
  701. $('#inputNomEmergencia').val('');
  702. $('#inputRed').val('');
  703. $('#inputRed').focus();
  704. }
  705. /****** DDLSUBTIPO *****/
  706. $('#btnSubTipo').click({elem: 'SubTipo'},clickDropdownList);
  707. $('#btnSubTipo').blur({elem: 'SubTipo', index: 1},blurDropdownList);
  708. /****** DDLUSORED *****/
  709. $('#btnUsoRed').click({elem: 'UsoRed'},clickDropdownList);
  710. $('#btnUsoRed').blur({elem: 'UsoRed', index: 2},blurDropdownList);
  711. $('#ddlUsoRed ul li').mousedown({index: 2},mousedownDropdownList);
  712. $('#ddlUsoRed ul li').mouseup({elem: 'UsoRed', index: 2},mouseupDropdownList);
  713. $('#ddlUsoRed ul li').click(itemDropdownList);
  714. function eliminaRedes(){
  715. $.ajax({
  716. url: 'action/home_action.php',
  717. type: 'POST',
  718. dataType: 'json',
  719. data: { tipo: 3, accion: 5 },
  720. success: function(result) {
  721. if(result['error']!= '' && result['error'] !== undefined){
  722. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  723. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
  724. $('.msg1').text('¡Error!');
  725. $('.msg2').html(result['error']);
  726. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  727. $('#modalAviso').modal('show');
  728. } else {
  729. $('#modalSupRedes').children('div').children('div').children('div.modal-body').html(result['html']);
  730. $('#modalSupRedes').modal('show');
  731. $('.red').children('.ing-basura').hover(agregaHover, quitaHover);
  732. $('.red').children('.ing-basura').click(eliminaBasura);
  733. $('.red').children('.ing-cancelar').click(cancelaElimina);
  734. }
  735. },
  736. error: function(jqXHR, textStatus, errorThrown ){
  737. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  738. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  739. $('.msg1').text('¡Lo sentimos!');
  740. $('.msg2').text('Se presentó un error inesperado al momento de cargar las redes');
  741. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  742. $('#modalAviso').modal('show');
  743. }
  744. });
  745. }
  746. /****************** INTERESES *****************/
  747. function cargaIntereses(){
  748. $.ajax({
  749. url: 'action/home_action.php',
  750. type: 'POST',
  751. dataType: 'json',
  752. data: { tipo: 4, accion: 1 },
  753. success: function(result) {
  754. if(result['error']!= '' && result['error'] !== undefined){
  755. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  756. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
  757. $('.msg1').text('¡Error!');
  758. $('.msg2').html(result['error']);
  759. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  760. $('#modalAviso').modal('show');
  761. } else {
  762. if(result['profesionales'] == '' && result['personales'] == '')
  763. $('span.ing-menos[data-tipo="4"]').hide();
  764. else
  765. $('span.ing-menos[data-tipo="4"]').show();
  766. $('#profesionales').html(result['profesionales']);
  767. $('#personales').html(result['personales']);
  768. $('.interes').children('.ing-basura').hover(agregaHover, quitaHover);
  769. $('.interes').children('.ing-basura').click(eliminaBasura);
  770. $('.interes').children('.ing-cancelar').click(cancelaElimina);
  771. }
  772. },
  773. error: function(jqXHR, textStatus, errorThrown ){
  774. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  775. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  776. $('.msg1').text('¡Lo sentimos!');
  777. $('.msg2').text('Se presentó un error inesperado al momento de cargar los intereses');
  778. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  779. $('#modalAviso').modal('show');
  780. }
  781. });
  782. }
  783. $('#btnOkAddInteres').click(function(){
  784. if($('#ddlInteres').data('id') != -1 && $('#inputInteres').val() != ''){
  785. $('#modalInteres').find('.is-invalid').removeClass('is-invalid');
  786. $('#modalInteres').modal('hide');
  787. $.ajax({
  788. url: 'action/home_action.php',
  789. type: 'POST',
  790. dataType: 'json',
  791. data: { tipo: 4, accion: 2, interes: $('#inputInteres').val(), tipo_interes: $('#ddlInteres').data('id') },
  792. success: function(result) {
  793. if(result['error']!= '' && result['error'] !== undefined){
  794. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  795. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
  796. $('.msg1').text('¡Error!');
  797. $('.msg2').html(result['error']);
  798. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  799. } else {
  800. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');
  801. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-aceptar');
  802. $('.msg1').text('¡Felicidades!');
  803. $('.msg2').html(result['ok']);
  804. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');
  805. cargaIntereses();
  806. }
  807. $('#modalAviso').modal('show');
  808. },
  809. error: function(jqXHR, textStatus, errorThrown ){
  810. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  811. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  812. $('.msg1').text('¡Lo sentimos!');
  813. $('.msg2').text('Se presentó un error inesperado al momento de cargar los intereses');
  814. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  815. $('#modalAviso').modal('show');
  816. }
  817. });
  818. } else {
  819. if($('#ddlInteres').data('id') == -1)
  820. $('#ddlInteres').addClass('is-invalid');
  821. if ($('#inputInteres').val() == '')
  822. $('#inputInteres').addClass('is-invalid');
  823. }
  824. });
  825. $('#modalInteres').on('hidden.bs.modal', function(){
  826. $('#modalInteres').find('.is-invalid').removeClass('is-invalid');
  827. $('#ddlInteres').data('id',-1);
  828. $('#ddlInteres').children('button').children('label').text('Elige el tipo de interés');
  829. $('#ddlInteres').children('ul').children('.dropdownlist-item').removeClass('active');
  830. $('#inputInteres').val('');
  831. });
  832. function limpiaIntereses(){
  833. $('.interes').children('.ing-cuadrado').show();
  834. $('.interes').children('.ing-basura').hide();
  835. $('.interes').children('.ing-cancelar').hide();
  836. $('.interes').removeClass('borrar');
  837. $('#accionIntereses').show();
  838. $('#eliminaIntereses').hide();
  839. }
  840. function eliminaIntereses(){
  841. let ids_intereses = [];
  842. $('#profesionales').children('li.borrar').each(function(){
  843. ids_intereses.push($(this).data('id'));
  844. });
  845. $('#personales').children('li.borrar').each(function(){
  846. ids_intereses.push($(this).data('id'));
  847. });
  848. $('#modalEliminar').modal('hide');
  849. $.ajax({
  850. url: 'action/home_action.php',
  851. type: 'POST',
  852. dataType: 'json',
  853. data: { tipo: 4, accion: 3, ids_intereses: ids_intereses },
  854. success: function(result) {
  855. if(result['error']!= '' && result['error'] !== undefined){
  856. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  857. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
  858. $('.msg1').text('¡Error!');
  859. $('.msg2').html(result['error']);
  860. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
  861. } else {
  862. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');
  863. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-aceptar');
  864. $('.msg1').text('¡Felicidades!');
  865. $('.msg2').html(result['ok']);
  866. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');
  867. cargaIntereses();
  868. limpiaIntereses();
  869. }
  870. $('#modalAviso').modal('show');
  871. },
  872. error: function(jqXHR, textStatus, errorThrown ){
  873. $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  874. $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
  875. $('.msg1').text('¡Lo sentimos!');
  876. $('.msg2').text('Se presentó un error inesperado al momento de eliminar los intereses');
  877. $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
  878. $('#modalAviso').modal('show');
  879. }
  880. });
  881. }
  882. /****** DDLINTERES *****/
  883. $('#btnInteres').click({elem: 'Interes'},clickDropdownList);
  884. $('#btnInteres').blur({elem: 'Interes', index: 0},blurDropdownList);
  885. $('#ddlInteres ul li').mousedown({index: 0},mousedownDropdownList);
  886. $('#ddlInteres ul li').mouseup({elem: 'Interes', index: 0},mouseupDropdownList);
  887. $('#ddlInteres ul li').click(itemDropdownList);