asigna.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  1. var click_in_process = [false];
  2. /********** CARGA INICIAL **********/
  3. if ($('.main').length > 0){
  4. var concurso = $('#concurso').val();
  5. var elem = $('.main[data-id="1"][data-tipo="1"]');
  6. var tipo = $(elem).data('tipo');
  7. var subtipo = $(elem).data('id');
  8. var etapa = $('#etapa').val();
  9. $('#mainTabs').fadeIn(50);
  10. $('#resumenMain').hide();
  11. $('.pleca').hide();
  12. cargaMain(concurso, etapa, tipo, subtipo, elem);
  13. }
  14. /********** MAIN TABS **********/
  15. $('.main').click(function(){
  16. $('#buscar').val('');
  17. $('#buscar').attr('placeholder','Escribe aquí el nombre del ' + $(this).text().toLowerCase());
  18. var concurso = $('#concurso').val();
  19. var tipo = $(this).data('tipo');
  20. var subtipo = $(this).data('id');
  21. var etapa = $('#etapa').val();
  22. $('#mainTabs').fadeIn(50);
  23. $('#resumenMain').hide();
  24. $('.pleca').hide();
  25. cargaMain(concurso, etapa, tipo, subtipo, this);
  26. });
  27. function cargaMain(concurso, etapa, tipo, subtipo, elem){
  28. $.ajax({
  29. url: 'action/asigna_action.php',
  30. type: 'POST',
  31. dataType: 'json',
  32. data: { concurso: concurso, etapa: etapa, tipo: tipo, subtipo: subtipo },
  33. success: function(result) {
  34. if(result['error']!= '' && result['error'] !== undefined){
  35. $('#errorResumen').children('div').children('div').children('div.tit').text('¡Lo sentimos!');
  36. $('#errorResumen').children('div').children('div').children('div.msg').html(result['error']);
  37. $('#mainTabs').fadeOut(5);
  38. $('#resumenMain').hide();
  39. $('#errorResumen').show();
  40. $('.pleca').hide();
  41. $('.main').removeClass('active');
  42. $(elem).addClass('active');
  43. }else{
  44. $('#resumenMain').html(result['main']);
  45. /* Eventos boton eliminar por elemento */
  46. $('.elimIcon').click(function(){
  47. $(this).parent().toggleClass('elimReng');
  48. $(this).toggleClass('text-danger text-white');
  49. });
  50. $('#mainTabs').fadeOut(5);
  51. $('#errorResumen').hide();
  52. $('#resumenMain').show();
  53. $('.pleca').show();
  54. $('.main').removeClass('active');
  55. $(elem).addClass('active');
  56. if ($('#acordeonRevisor').length > 0) {
  57. $('#buscar').keyup({elem: '#buscar', renglon: '#acordeonRevisor .titulo'},keyUpBuscarCustom);
  58. $('#iconBuscar').mousedown({span: '#iconBuscar', renglon: '#acordeonRevisor .titulo'},clickBuscar);
  59. } else {
  60. if ($('#acordeonProyecto').length > 0) {
  61. $('#buscar').keyup({elem: '#buscar', renglon: '#acordeonProyecto .titulo'},keyUpBuscarCustom);
  62. $('#iconBuscar').mousedown({span: '#iconBuscar', renglon: '#acordeonProyecto .titulo'},clickBuscar);
  63. }
  64. }
  65. $('.collapse').on('show.bs.collapse', function () {
  66. $(this).siblings().children('div.detalle').children().children('span.msg').text('Ocultar Detalle');
  67. });
  68. $('.collapse').on('hidden.bs.collapse', function () {
  69. $(this).siblings().children('div.detalle').children().children('span.msg').text('Ver Detalle');
  70. });
  71. }
  72. },
  73. error: function(jqXHR, textStatus, errorThrown ){
  74. $('#errorResumen').children('div').children('div').children('div.tit').text('¡Hubo un problema!');
  75. $('#errorResumen').children('div').children('div').children('div.msg').html('Por favor inténtalo más tarde');
  76. $('.pleca').hide();
  77. $('#mainTabs').fadeOut(5);
  78. $('#resumenMain').hide();
  79. $('#errorResumen').show();
  80. }
  81. });
  82. }
  83. /***** BUSCADOR *****/
  84. if($('#buscar').length > 0){
  85. $('#buscar').focus({elem: '#buscar'},focusBuscar);
  86. $('#buscar').blur({elem: '#buscar'},blurBuscar);
  87. }
  88. function keyUpBuscarCustom(event){
  89. var value = $(event.data.elem).val().toLowerCase();
  90. $(event.data.renglon).filter(function() {
  91. $(this).toggle($(this).children('div').children('div.dato').text().toLowerCase().indexOf(value) > -1);
  92. });
  93. }
  94. /********** AGREGAR Y EDITAR **********/
  95. function msgGeneralAdd(){
  96. $('#errorAgrega').children('div').children('div').children('div.tit').text('');
  97. $('#errorAgrega').children('div').children('div').children('div.msg').html('Por favor selecciona el ' + $('.main.active').text().toLowerCase() + ' que deseas');
  98. $('#errorAgrega').children('div').children('div').children('div.icon').removeClass('text-danger text-azul1 ing-no-cargado ing-clic').addClass('text-azul1 ing-clic');
  99. $('#addMain').hide();
  100. $('#princAdd').hide();
  101. $('#addBtns').hide();
  102. $('#errorAgrega').show();
  103. $('#secDDL').show();
  104. }
  105. function limpiaModalAviso(){
  106. $('#avisoMsg').empty();
  107. $('#avisoIcon').removeClass('text-danger text-warning text-success ing-aceptar ing-no-cargado ing-importante');
  108. }
  109. $('#btnVerAgregar').click(function(){
  110. $('#divResumen').hide();
  111. $('#divAgrega').fadeIn(5);
  112. $('#loaderAdd').show();
  113. $('#secDDL').hide();
  114. $('.pleca').hide();
  115. $('#errorAgrega').hide();
  116. var id = $('.main.active').data('id');
  117. $('.main').removeClass('active').hide();
  118. var elem = $('.main[data-id="' + id + '"][data-tipo="2"]');
  119. $(elem).addClass('active').show();
  120. $('#titAsignar').text($(elem).text() + ':');
  121. $('#inputAdd').attr('placeholder','Escribe aquí el nombre del ' + $(elem).text().toLowerCase());
  122. $('#dlAdd ul').html('');
  123. var concurso = $('#concurso').val();
  124. var etapa = $('#etapa').val();
  125. var tipo = 2;
  126. $.ajax({
  127. url: 'action/asigna_action.php',
  128. type: 'POST',
  129. dataType: 'json',
  130. data: { concurso: concurso, etapa: etapa, tipo: tipo, subtipo: id },
  131. success: function(result) {
  132. $('#loaderAdd').hide();
  133. if(result['error']!= '' && result['error'] !== undefined){
  134. $('#errorAgrega').children('div').children('div').children('div.tit').text('¡Lo sentimos!');
  135. $('#errorAgrega').children('div').children('div').children('div.msg').html(result['error']);
  136. $('#errorAgrega').children('div').children('div').children('div.icon').removeClass('text-danger text-azul1 ing-no-cargado ing-clic').addClass('text-danger ing-no-cargado');
  137. $('#addMain').hide();
  138. $('#errorAgrega').fadeIn(5);
  139. $('.pleca').hide();
  140. $('#secDDL').hide();
  141. }else{
  142. $('#ulAdd').html(result['lista']);
  143. msgGeneralAdd();
  144. $('.pleca').show();
  145. $('#secDDL').show();
  146. $('#dlAdd ul li').mousedown({index: 1},mousedownDataList);
  147. $('#dlAdd ul li').mouseup({elem: 'Add', index: 1},mouseupDataList);
  148. $('#inputAdd').click({elem: 'Add'},clickDataList);
  149. $('#inputAdd').blur({elem: 'Add', index: 1},blurDataList);
  150. $('#inputAdd').keyup({elem: 'Add'},inputKeyUp);
  151. $('#iconAdd').mousedown({index: 1},mousedownDataList);
  152. $('#iconAdd').mouseup({elem: 'Add', index: 1},mouseupDataList);
  153. $('#iconAdd').mousedown({elem: 'Add'},limpiaInputDL);
  154. $('#dlAdd ul li').click(seleccionaOpcion);
  155. }
  156. },
  157. error: function(jqXHR, textStatus, errorThrown ){
  158. $('#loaderAdd').hide();
  159. $('#errorAgrega').children('div').children('div').children('div.tit').text('¡Lo sentimos!');
  160. $('#errorAgrega').children('div').children('div').children('div.msg').html('No es posible mostrar la información en éste momento');
  161. $('#errorAgrega').children('div').children('div').children('div.icon').removeClass('text-danger text-success text-azul1 ing-aceptar ing-no-cargado ing-clic').addClass('text-danger ing-no-cargado');
  162. $('#addMain').hide();
  163. $('#errorAgrega').fadeIn(5);
  164. $('.pleca').hide();
  165. $('#secDDL').hide();
  166. }
  167. });
  168. });
  169. $('#btnRegresar').click(function(){
  170. $('#divAgrega').hide();
  171. $('#divResumen').fadeIn(5);
  172. var id = $('.main.active').data('id');
  173. $('.main').removeClass('active').show();
  174. $('.main[data-id="' + id + '"][data-tipo="1"]').addClass('active');
  175. var concurso = $('#concurso').val();
  176. var tipo = $('.main.active').data('tipo');
  177. var subtipo = $('.main.active').data('id');
  178. var etapa = $('#etapa').val();
  179. $('#mainTabs').fadeIn(50);
  180. $('#resumenMain').hide();
  181. $('.pleca').hide();
  182. $('#princAdd').hide();
  183. $('#addMain').empty();
  184. $('#errorAgrega').children('div').children('div').children('div.tit').text('');
  185. $('#errorAgrega').children('div').children('div').children('div.msg').empty();
  186. $('#errorAgrega').children('div').children('div').children('div.icon').removeClass('text-danger text-azul1 ing-no-cargado ing-clic')
  187. cargaMain(concurso, etapa, tipo, subtipo, $('.main.active'));
  188. });
  189. function seleccionaOpcion(event){
  190. var elem = event.currentTarget;
  191. $(elem).parent('ul').siblings('span').removeClass('ing-cancelar iconoAzul pointer');
  192. $(elem).parent('ul').hide();
  193. $('#errorAgrega').hide();
  194. $('#princAdd').hide();
  195. $('#addMain').hide();
  196. $('#loaderAdd').fadeIn(50);
  197. var subtipo = $('.main.active').data('id');
  198. $('#princAdd').data('tipo', subtipo);
  199. $('#princAdd').data('id', $(elem).data('id'));
  200. var nivel = $(elem).data('nivel');
  201. $('#princAdd').data('nivel', nivel);
  202. var tipo = 3;
  203. var concurso = $('#concurso').val();
  204. var etapa = $('#etapa').val();
  205. $('#inputAdd').text('');
  206. $.ajax({
  207. url: 'action/asigna_action.php',
  208. type: 'POST',
  209. dataType: 'json',
  210. data: { concurso: concurso, etapa: etapa, tipo: tipo, subtipo: subtipo, nivel: nivel },
  211. success: function(result) {
  212. $('#princAdd').text($(elem).text()).show();
  213. if(result['error']!= '' && result['error'] !== undefined){
  214. $('#errorAgrega').children('div').children('div').children('div.tit').text('¡Lo sentimos!');
  215. $('#errorAgrega').children('div').children('div').children('div.msg').html(result['error']);
  216. $('#errorAgrega').children('div').children('div').children('div.icon').removeClass('text-danger text-azul1 ing-no-cargado ing-clic').addClass('text-danger ing-no-cargado');
  217. $('#addMain').hide();
  218. $('#addBtns').hide();
  219. $('#errorAgrega').fadeIn(5);
  220. } else {
  221. $('#errorAgrega').hide();
  222. $('#secDDL').hide();
  223. $('#addMain').html(result['elegibles']);
  224. if ($('.main.active').data('tipo') == 2)
  225. $('#btnAceptarAdd').children('label.small').text('Asignar');
  226. else
  227. $('#btnAceptarAdd').children('label.small').text('Editar');
  228. $('#addMain').fadeIn(5);
  229. $('#addBtns').fadeIn(5);
  230. }
  231. $('#loaderAdd').hide();
  232. },
  233. error: function(jqXHR, textStatus, errorThrown ){
  234. $('#errorAgrega').children('div').children('div').children('div.tit').text('¡Lo sentimos!');
  235. $('#errorAgrega').children('div').children('div').children('div.msg').html('No es posible mostrar la información en éste momento');
  236. $('#errorAgrega').children('div').children('div').children('div.icon').removeClass('text-danger text-success text-azul1 ing-aceptar ing-no-cargado ing-clic').addClass('text-danger ing-no-cargado');
  237. $('#addMain').hide();
  238. $('#addBtns').hide();
  239. $('#errorAgrega').fadeIn(5);
  240. $('.pleca').hide();
  241. $('#secDDL').hide();
  242. $('#loaderAdd').hide();
  243. }
  244. });
  245. }
  246. $('#btnVerEditar').click(function(){
  247. $('#mainBtns').hide();
  248. $('#elimBtns').show();
  249. $('#elimBtns').children().children().first().hide();
  250. $('.editIcon').show();
  251. $('.main').hide();
  252. $('.main.active').show();
  253. });
  254. $('#btnAceptarAdd').click(function(){
  255. limpiaModalAviso();
  256. var elegidos = '';
  257. var concurso = $('#concurso').val();
  258. var texto = $('#princAdd').text();
  259. var subtipo = $('#princAdd').data('tipo');
  260. if ($("input[type=checkbox]:checked").length > 0){
  261. $("input[type=checkbox]:checked").each(function(index, elem){
  262. if ($(elem).data('col') !== undefined)
  263. elegidos += ',' + $(elem).val() + '-' + $(elem).data('col');
  264. else
  265. elegidos += ',' + $(elem).val();
  266. });
  267. if(elegidos.length > 0)
  268. elegidos = elegidos.substring(1);
  269. var tipo = 4;
  270. var princ = $('#princAdd').data('id');
  271. $.ajax({
  272. url: 'action/asigna_action.php',
  273. type: 'POST',
  274. dataType: 'json',
  275. data: { concurso:concurso, etapa: etapa, tipo: tipo, subtipo: subtipo, princ: princ, elegidos: elegidos, texto: texto },
  276. success: function(result) {
  277. //$('#princAdd').text($(elem).text()).show();
  278. if(result['error']!= '' && result['error'] !== undefined){
  279. $('#avisoMsg').html(result['error']);
  280. $('#avisoIcon').addClass('text-danger ing-no-cargado');
  281. } else {
  282. $('#avisoMsg').html(result['asigna']);
  283. $('#avisoIcon').addClass('text-success ing-aceptar');
  284. if ($('#btnAceptarAdd').children('label.small').text() == 'Asignar')
  285. msgGeneralAdd();
  286. else
  287. $('#btnRegresar').click();
  288. }
  289. $('#modalAviso').modal('show');
  290. },
  291. error: function(jqXHR, textStatus, errorThrown ){
  292. $('#avisoMsg').html('No es posible procesar la información');
  293. $('#avisoIcon').addClass('text-danger ing-no-cargado');
  294. $('#modalAviso').modal('show');
  295. }
  296. });
  297. } else{
  298. switch(subtipo){
  299. case 1:
  300. $('#avisoMsg').html('Es necesario que le asignes al menos un proyecto a <span class="text-azul1">' + texto + '</span>');
  301. break;
  302. case 2:
  303. if ($('h1').text().toLowerCase().includes("revisor"))
  304. $('#avisoMsg').html('Es necesario que le asignes al menos un revisor al proyecto <span class="text-azul1">' + texto + '</span>');
  305. else
  306. $('#avisoMsg').html('Es necesario que le asignes al menos un evaluador al proyecto <span class="text-azul1">' + texto + '</span>');
  307. break;
  308. }
  309. $('#avisoIcon').addClass('text-warning ing-importante');
  310. $('#modalAviso').modal('show');
  311. }
  312. });
  313. $('#btnCancelarAdd').click(function(){
  314. limpiaModalAviso();
  315. if ($('#btnAceptarAdd').children('label.small').text() == 'Asignar'){
  316. msgGeneralAdd();
  317. } else {
  318. $('#btnRegresar').click();
  319. }
  320. });
  321. /********** ELIMINAR **********/
  322. $('#btnVerEliminar').click(function(){
  323. $('#mainBtns').hide();
  324. $('#elimBtns').show();
  325. $('#elimBtns').children().children().show();
  326. $('.elimIcon').show();
  327. $('.main').hide();
  328. $('.main.active').show();
  329. });
  330. $('#btnAceptarElim').click(function(){
  331. if ($('div.elimReng').length > 0 ) {
  332. switch ($('.main.active').text().toLowerCase()){
  333. case 'revisor':
  334. case 'evaluador':
  335. if ($('div.elimReng').length == 1)
  336. $('#eliminaMsg1').text('¿Estás seguro de eliminar a ' + $('div.elimReng').children('div.dato').text() + '?');
  337. else
  338. $('#eliminaMsg1').text('¿Estás seguro de eliminar los ' + $('.elimReng').length + ' ' + $('.main.active').text().toLowerCase() + 'es?');
  339. $('#eliminaMsg2').text('Se borrarán todos los proyectos que tengan asignados');
  340. break;
  341. case 'proyecto':
  342. if ($('div.elimReng').length == 1)
  343. $('#eliminaMsg1').text('¿Estás seguro de elimiar ' + $('div.elimReng').children('div.dato').text() + '?');
  344. else
  345. $('#eliminaMsg1').text('¿Estás seguro de eliminar los ' + $('.elimReng').length + ' proyectos?');
  346. $('#eliminaMsg2').text('Se borrarán todos los '+ $('.main.active').siblings('.main').text().toLowerCase() + 'es que tengan asignados');
  347. break;
  348. }
  349. $('#eliminaMsg1').text();
  350. $('#modalElimina').modal('show');
  351. } else {
  352. limpiaModalAviso();
  353. $('#avisoMsg').text('Es necesario que elijas al menos un ' + $('.main.active').text().toLowerCase() + ' a eliminar');
  354. $('#avisoIcon').addClass('text-warning ing-importante');
  355. $('#modalAviso').modal('show');
  356. }
  357. });
  358. $('#btnCancelarElim').click(function(){
  359. $('.main').show();
  360. $('#elimBtns').hide();
  361. $('#mainBtns').show();
  362. $('.elimIcon').hide();
  363. $('.editIcon').hide();
  364. $('.elimIcon').parent().removeClass('elimReng');
  365. $('.elimIcon').removeClass('text-danger text-white').addClass('text-danger');
  366. });
  367. $('#okModal').click(function(){
  368. var concurso = $('#concurso').val();
  369. var tipo = 6;
  370. var subtipo = $('.main.active').data('id');
  371. var etapa = $('#etapa').val();
  372. $('#modalElimina').modal('hide');
  373. var elegidos = '';
  374. $("div.elimReng").each(function(index, elem){
  375. elegidos += ',' + $(elem).data('id');
  376. });
  377. if(elegidos.length > 0)
  378. elegidos = elegidos.substring(1);
  379. $.ajax({
  380. url: 'action/asigna_action.php',
  381. type: 'POST',
  382. dataType: 'json',
  383. data: { concurso: concurso, etapa: etapa, tipo: tipo, subtipo: subtipo, elegidos: elegidos },
  384. success: function(result) {
  385. if(result['error']!= '' && result['error'] !== undefined){
  386. $('#avisoMsg').html(result['error']);
  387. $('#avisoIcon').addClass('text-danger ing-no-cargado');
  388. }else{
  389. if(result['eliminados']!= '' && result['eliminados'] !== undefined){
  390. $('#avisoMsg').html(result['eliminados']);
  391. $('#avisoIcon').addClass('text-success ing-aceptar');
  392. } else {
  393. $('#avisoMsg').html(result['faltan']);
  394. $('#avisoIcon').addClass('text-warning ing-importante');
  395. }
  396. $('.main').show();
  397. $('#buscar').val('');
  398. $('#elimBtns').hide();
  399. $('#mainBtns').show();
  400. cargaMain(concurso, etapa, 1, subtipo, $('.main.active'));
  401. }
  402. $('#modalAviso').modal('show');
  403. },
  404. error: function(jqXHR, textStatus, errorThrown ){
  405. $('#avisoMsg').html('No es posible procesar la información');
  406. $('#avisoIcon').addClass('text-danger ing-no-cargado');
  407. $('#modalAviso').modal('show');
  408. }
  409. });
  410. });
  411. $('#notModal').click(function(){
  412. $('#btnCancelarElim').click();
  413. $('#modalElimina').modal('hide');
  414. });