//@ sourceURL=tabTramitacion.js
/*!
 * Copyright 2021 E.J.I.E., S.A.
 *
 * Licencia con arreglo a la EUPL, Versión 1.1 exclusivamente (la "Licencia");
 * Solo podrá usarse esta obra si se respeta la Licencia.
 * Puede obtenerse una copia de la Licencia en
 *
 *      http://ec.europa.eu/idabc/eupl.html
 *
 * Salvo cuando lo exija la legislación aplicable o se acuerde por escrito,
 * el programa distribuido con arreglo a la Licencia se distribuye "TAL CUAL",
 * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas.
 * Véase la Licencia en el idioma concreto que rige los permisos y limitaciones
 * que establece la Licencia.
 */

jQuery(function($) {
	

	initRupI18nPromise.then(function() {
		
				
		prepareData();
		
	});
		

	
	function prepareData(){
		
		$("#rup_feedback_tramitacion").rup_feedback ({
			  type: "ok",
			  delay: 3000,
			  fadeSpeed: 500,
			  block: false
			});
		
		// Borrar los hidden generados con el <form:checkbox/>
		$("input[value='on']").remove();

		$("#tecnicoExpediente").rup_combo({
			loadFromSelect:true,
			width: 'auto',
	        ordered: false,
			customClasses: ['select-material'],
			rowStriping: true
		});
		

		
		
		Ad74aUtils.hacerPlegable();
		
		let tableColModels = [			
				{ 	name: "maestroTramites.desc",
					index: "maestroTramites.desc",
					editable: true, 
					hidden: false
				},
				{ 	name: "fInicio10",
					index: "fInicio10",
					editable: true, 
					hidden: false
				},
				{ 	name: "fRealizacion10",
					index: "fRealizacion10",
					editable: true, 
					hidden: false
				},
				{ 	name: "idEstado10",
					index: "idEstado10",
					editable: true, 
					hidden: false
				},
				{ 	name: "ultimoUsu",
					index: "ultimoUsu",
					editable: true, 
					hidden: false
				}
				];
	
		let myButtons = [];
		
		const FN_cambiarTecnicoButtonDisplay = {};
		FN_cambiarTecnicoButtonDisplay.test  = function(){
			//TODO: revisar
			if(isSoloLecturaSolicitud){
				return false;
			}
			return true;					
		};

	    const cambiarTecnicoButton = {
	            text: function () {
	                return $.rup.i18n.app.botonera.cambiarTecnico;
	            },
	            custom: true,//para deshabiliatar el regex
	            id: 'cambiarTecnicoButton', // Campo obligatorio si se quiere usar desde el contextMenu
	            className: 'btn-material-primary-high-emphasis',
	            displayRegex:FN_cambiarTecnicoButtonDisplay,
	            insideContextMenu: true, // Independientemente de este valor, sera 'false' si no tiene un id definido
	            icon: "mdi-account-edit",
	            action: function () {
	              //TODO: implementar dialogo
	            	$('#dialogCambiarTecnico').rup_dialog('open'); 
	            }
	        };
		
		const FN_verEditButtonDisplay = {};
		FN_verEditButtonDisplay.test  = function(){
			if($("#tramitacion").rup_table("getSelectedRows").length != 0 && $("#tramitacion").rup_table("getSelectedRows").maestroTramites.idTramite37 == idTramiteEstudioDoc){
				return true;
			}else{
				return false
			}
		};
	    const verEditButton = {
	            text: function () {
	                return $.rup.i18n.app.botonera.verEdit;
	            },
	            custom: false,//para deshabiliatar el regex
	            id: 'verEditButton', // Campo obligatorio si se quiere usar desde el contextMenu
	            className: 'btn-material-primary-high-emphasis',
	            displayRegex: FN_verEditButtonDisplay, // Se muestra siempre que sea un numero mayor a 0
	            insideContextMenu: true, // Independientemente de este valor, sera 'false' si no tiene un id definido
	            icon: "mdi-eye",
	            action: function () {
	              	let idTramite37 = $("#tramitacion").rup_table("getSelectedRows").maestroTramites.idTramite37;
	              	
	              	if(idTramiteRecepcionSolApertura == idTramite37){
	              		alert("TODO: idTramiteRecepcionSolApertura");
	              	}else if(idtramitePlazoDesestimiento == idTramite37){
	              		alert("TODO: idtramitePlazoDesestimiento");
	              	}else if(idtramiteEstudioDocumentacion == idTramite37){
	              		openDialogTramitacion(true);
              		}
	              	
	              	
	            }
	        };
	    const FN_aportarInformeSocButtonDisplay = {};
	    FN_aportarInformeSocButtonDisplay.test  = function(){
			if(isSoloLecturaSolicitud){
				return false;
			}
		};
		
	    const aportarInformeSocButton = {
	            text: function () {
	                return $.rup.i18n.app.botonera.aportarInformeSoc;
	            },
	            custom: true,//para deshabiliatar el regex
	            id: 'aportarInformeSocButton', // Campo obligatorio si se quiere usar desde el contextMenu
	            className: 'btn-material-primary-high-emphasis',
	            displayRegex: FN_aportarInformeSocButtonDisplay,
	            insideContextMenu: true, // Independientemente de este valor, sera 'false' si no tiene un id definido
	            icon: "mdi-file-plus",
	            action: function () {
	              	
	              	const ajaxData = {
	            		url: $.rup.CTX_PATH + 'informes/informeSocialSinMatchByNIF',
	            		type:  "PUT",
	            		data: JSON.stringify( {nif: expedienteJSON.solicitantes.identificador01}),
	                    contentType: 'application/json',
	            		success: function (data) {
	            			Ad74aUtils.desBloquearInterfaz();
	            			if(data != ''){
	            				$("#divExisteInforme").show();
	            				$("#divNoExisteInforme").hide();
	            				$("#btnAdjuntar").show()
	            				let informe = JSON.parse(data);
	            				$.rup_utils.populateForm(informe, "#formularioDialogAportarInformeSoc");
	            				let text = 
            					"<tr class=\"even\">" +
	            					" <td>" + idioma == 'es'? informe.documentosInforme.maestroTiposDoc.descEs36: informe.documentosInforme.maestroTiposDoc.descEu36 + "</td>" +
        							" <td class=\"text-left\"><a href='javascript:$.downloadDocument(\"" + informe.documentosInforme.oid17+ "\", \"" + informe.documentosInforme.nombreDoc17+ "\");'>" + informe.documentosInforme.nombreDoc17+ "</a></td>" +										
        							" <td class=\"text-center\">" +informe.documentosInforme.fAlta17+ "</td>" + 										
        							" <td class=\"text-center\">" +informe.documentosInforme.usuAlta17+ "</td>" + 				
        						"</tr>";
	            				$("#divExisteInforme #documento_table tbody").html(text);
	            				
	            				$('#dialogAportarInformeSoc').rup_dialog("open");
	            			}else{

	            				$("#divExisteInforme").hide();
	            				$("#divNoExisteInforme").show();
	            				$("#btnAdjuntar").hide()
	            				$('#dialogAportarInformeSoc').rup_dialog("open");
	            			}
	            			

	            			
	            		},
	                    beforeSend: function(){
	                    	Ad74aUtils.cerrarFeedbacks();
	                        Ad74aUtils.bloquearInterfaz();
	                    	
	                    },
	            		error: function (error) {
	            			$("#tramitacion_processing").hide();
	            	    	Ad74aUtils.desBloquearInterfaz();
	            	    	
	            		}
	            	};
	            	
	            	$.rup_ajax(ajaxData);
	              	
	            }
	        };
	    	    
		var FN_estudioAportacionButtonDisplay = {};
		FN_estudioAportacionButtonDisplay.test  = function(){
			if((estadoExpPendienteSubsanacion == expedienteJSON.estados.idEstado30 || estadoExpPendienteRecurso == expedienteJSON.estados.idEstado30) && 
					existeEstudioDoc.value === 'false'){
				return true;
			}
			return false;					
		};

	    const estudioAportacionButton = {
	            text: function () {
	                return $.rup.i18n.app.botonera.estudioAportacion;
	            },
	            custom: false,//para deshabiliatar el regex
	            id: 'estudioAportacionButton', // Campo obligatorio si se quiere usar desde el contextMenu
	            className: 'btn-material-primary-high-emphasis',
	            displayRegex: FN_estudioAportacionButtonDisplay,
	            insideContextMenu: true, // Independientemente de este valor, sera 'false' si no tiene un id definido
	            icon: "mdi-book-search",
	            action: function () {
	            	Ad74aUtils.openConfirmDialog(
							'dialogConfirm', 
							$.rup.i18n.app.dialog.title.estudioAportacion, 
							$.rup.i18n.app.dialog.label.estudioAportacion,  
							[
					        	{
					                text: $.rup.i18n.app.botonera.cancelar,
					                click: function () { 
					                    $('#dialogConfirm').rup_dialog('close'); 
					                },
					                btnType: $.rup.dialog.LINK
					            },
						        {
						            text: $.rup.i18n.app.botonera.aceptar,
						            id: "btnResolucionSinAlegaciones",
						            class: 'btn-material btn-material-primary-high-emphasis',
						            click: function () { 
						            	$.rup_ajax({
						            		url: $.rup.CTX_PATH + 'expedientes/nuevoEstudiDoc',
						            		type:  "POST",
						            		data: JSON.stringify( {idExpediente00: idExpediente00 }),
						                    contentType: 'application/json',
						            		success: function (data) {
						            			Ad74aUtils.desBloquearInterfaz();
						            			
						            			$("#rup_feedback_tramitacion").rup_feedback('set', $.rup.i18n.app.feedback.nuevoEstudiDocOK, "ok");				            			

						            			
						            		},
						                    beforeSend: function(){
						                    	Ad74aUtils.cerrarFeedbacks();
						                        Ad74aUtils.bloquearInterfaz();
						                    	
						                    },
						            		error: function (error) {
						            			$("#rup_feedback_tramitacion").rup_feedback('set', $.rup.i18n.app.feedback.nuevoEstudiDocKO, "error");		
						            	    	
						            		},
											complete: function(){
												$('#dialogConfirm').rup_dialog("close");
												Ad74aUtils.desBloquearInterfaz();
											}
						            	});
						            	
						            }
						        }
					        ]
						);
	              	
	            }
	        };
	    
		var FN_resolucionSinAlegaciones = {};
		FN_resolucionSinAlegaciones.test  = function(){
			if(isSoloLecturaSolicitud){
				return false;
			}
			if((estadoExpPendAlegaciones == expedienteJSON.estados.idEstado30) && 
					existeEstudioDoc.value === 'false'){
				return true;
			}
			return false;					
		};

	    const resolucionSinAlegaciones = {
	            text: function () {
	                return $.rup.i18n.app.botonera.resolucionSinAlegaciones;
	            },
	            custom: false,//para deshabiliatar el regex
	            id: 'resolucionSinAlegacionesButton', // Campo obligatorio si se quiere usar desde el contextMenu
	            className: 'btn-material-primary-high-emphasis',
	            displayRegex: FN_resolucionSinAlegaciones,
	            insideContextMenu: true, // Independientemente de este valor, sera 'false' si no tiene un id definido
	            icon: "mdi-book-minus",
	            action: function () {
	            	Ad74aUtils.openConfirmDialog(
							'dialogConfirm', 
							$.rup.i18n.app.dialog.title.resolucionSinAlegaciones, 
							$.rup.i18n.app.dialog.label.resolucionSinAlegaciones,  
							[
					        	{
					                text: $.rup.i18n.app.botonera.cancelar,
					                click: function () { 
					                    $('#dialogConfirm').rup_dialog('close'); 
					                },
					                btnType: $.rup.dialog.LINK
					            },
						        {
						            text: $.rup.i18n.app.botonera.aceptar,
						            id: "btnResolucionSinAlegaciones",
						            class: 'btn-material btn-material-primary-high-emphasis',
						            click: function () { 
						            	$.rup_ajax({
						            		url: $.rup.CTX_PATH + 'expedientes/resolucionSinAlegaciones',
						            		type:  "POST",
						            		data: JSON.stringify( {idExpediente00: idExpediente00 }),
						                    contentType: 'application/json',
						            		success: function (data) {
						            			Ad74aUtils.desBloquearInterfaz();
						            			
						            			$("#rup_feedback_tramitacion").rup_feedback('set', $.rup.i18n.app.feedback.resolucionSinAlegacionesOK, "ok");				            			

						            			
						            		},
						                    beforeSend: function(){
						                    	Ad74aUtils.cerrarFeedbacks();
						                        Ad74aUtils.bloquearInterfaz();
						                    	
						                    },
						            		error: function (error) {
						            			$("#rup_feedback_tramitacion").rup_feedback('set', $.rup.i18n.app.feedback.resolucionSinAlegacionesKO, "error");		
						            	    	
						            		},
											complete: function(){
												$('#dialogConfirm').rup_dialog("close");
												Ad74aUtils.desBloquearInterfaz();
											}
						            	});
						            	
						            }
						        }
					        ]
						);
	              	
	            }
	        };
	    
		var FN_desistirButtonDisplay = {};
		FN_desistirButtonDisplay.test  = function(){
			if(isSoloLecturaSolicitud){
				return false;
			}
			if(estadoExpPendienteSubsanacion == expedienteJSON.estados.idEstado30 && $("#pendienteEjecutadoPasoDesis").val() === "true" ){
				return true;
			}
			return false;					
		};

	    const desistirButton = {
	            text: function () {
	                return $.rup.i18n.app.botonera.desistir;
	            },
	            custom: false,//para deshabiliatar el regex
	            id: 'desistirButton', // Campo obligatorio si se quiere usar desde el contextMenu
	            className: 'btn-material-primary-high-emphasis',
	            displayRegex:FN_desistirButtonDisplay,
	            insideContextMenu: true, // Independientemente de este valor, sera 'false' si no tiene un id definido
	            icon: "mdi-stop-circle-outline",
	            action: function () {
	            	Ad74aUtils.openConfirmDialog(
							'dialogConfirm', 
							$.rup.i18n.app.dialog.title.pasoDesistimiento, 
							$.rup.i18n.app.dialog.label.pasoDesistimiento,  
							[
					        	{
					                text: $.rup.i18n.app.botonera.cancelar,
					                click: function () { 
					                    $('#dialogConfirm').rup_dialog('close'); 
					                },
					                btnType: $.rup.dialog.LINK
					            },
						        {
						            text: $.rup.i18n.app.botonera.aceptar,
						            id: "btnResolucionDesistimiento",
						            class: 'btn-material btn-material-primary-high-emphasis',
						            click: function () { 
						            	$.rup_ajax({
						            		url: $.rup.CTX_PATH + 'expedientes/pasarDesistimiento',
						            		type:  "POST",
						            		data: JSON.stringify( {idExpediente00: idExpediente00 }),
						                    contentType: 'application/json',
						            		success: function (data) {
						            			Ad74aUtils.desBloquearInterfaz();
						            			
						            			$("#rup_feedback_tramitacion").rup_feedback('set', $.rup.i18n.app.feedback.pasarDesistimientoOK, "ok");				            			

						            			
						            		},
						                    beforeSend: function(){
						                    	Ad74aUtils.cerrarFeedbacks();
						                        Ad74aUtils.bloquearInterfaz();
						                    	
						                    },
						            		error: function (error) {
						            			$("#rup_feedback_tramitacion").rup_feedback('set', $.rup.i18n.app.feedback.pasarDesistimientoKO, "error");		
						            	    	
						            		},
											complete: function(){
												$('#dialogConfirm').rup_dialog("close");
												Ad74aUtils.desBloquearInterfaz();
											}
						            	});
						            	
						            }
						        }
					        ]
						);
	              	
	            }
	        };
	    var FN_resolucionDesistimientoButtonDisplay = {};
	    FN_resolucionDesistimientoButtonDisplay.test  = function(){
			
			return false;					
		};
	    const resolucionDesistimientoButton = {
	            text: function () {
	                return $.rup.i18n.app.botonera.resolucionDesistimiento;
	            },
	            custom: false,//para deshabiliatar el regex
	            id: 'resolDesisButton', // Campo obligatorio si se quiere usar desde el contextMenu
	            className: 'btn-material-primary-high-emphasis',
	            displayRegex: FN_resolucionDesistimientoButtonDisplay,
	            insideContextMenu: true, // Independientemente de este valor, sera 'false' si no tiene un id definido
	            icon: "mdi-gavel",
	            action: function () {
	            		
	              	
	            }
	        };
	    var FN_recursoDesistimientoButtonDisplay = {};
	    FN_recursoDesistimientoButtonDisplay.test  = function(){
			//TODO: revisar
	    	if(isSoloLecturaSolicitud){
				return false;
			}
			return false;					
		};
	    const recursoDesistimientoButton = {
	            text: function () {
	                return $.rup.i18n.app.botonera.recursoDesistimiento;
	            },
	            custom: false,//para deshabiliatar el regex
	            id: 'recursoDesistimientoButton', // Campo obligatorio si se quiere usar desde el contextMenu
	            className: 'btn-material-primary-high-emphasis',
	            displayRegex: FN_recursoDesistimientoButtonDisplay,
	            insideContextMenu: true, // Independientemente de este valor, sera 'false' si no tiene un id definido
	            icon: "mdi-backup-restore",
	            action: function () {
	              //TODO: implementar dialogo
	              	
	            }
	        };
	    
	    const actualizarButton = {
	            text: function () {
	                return $.rup.i18n.app.botonera.actualizar;
	            },
	            custom: false,//para deshabiliatar el regex
	            id: 'actualizarButton', // Campo obligatorio si se quiere usar desde el contextMenu
	            className: 'btn-material-primary-high-emphasis',
	            displayRegex: /^\d+$/, // Se muestra siempre,
	            icon: "mdi-refresh",
	            enabled: false,
	            action: function () {
	              //TODO: implementar dialogo
	            	$("#tramitacion").rup_table("reload");
	            	actualizarCabecera();
	            }
	        };
	    
	    var FN_aportarDocButtonDisplay = {};
	    FN_aportarDocButtonDisplay.test  = function(){
	    	if(isSoloLecturaSolicitud){
				return false;
			}
			return true;					
		};
		const aportarDocButton = {
				text : function(dt) {
					return $.rup.i18n.app.botonera.aportarDoc;
				},
				id : 'aportarDocButton',
				// Campo obligatorio si se quiere usar desde el contextMenu
				className : 'btn-material btn-material-primary-high-emphasis',
				// Se muestra siempre que sea un numero mayor a 0
				displayRegex: FN_aportarDocButtonDisplay,
				// Independientemente de este valor, sera 'false' si no tiene un id definido
				insideContextMenu : true,
				icon: "mdi-file",
				type : 'init',
				action: function () {
	            	$('#dialogAportacion').rup_dialog('open');
	            }
		};
		
	    
		//CARGAMOS LOS BOTONES EN FUNCION DEL PROCEDIMIENTO ADMINISTRATIVO
	    if(isSoloLecturaSolicitud){
	    	 myButtons.push(verEditButton);
	    }else if(idProcedimientoALTA == expedienteJSON.idProcedimiento00 ){		   
		    myButtons.push(verEditButton);
		    myButtons.push(aportarDocButton);
		    myButtons.push(estudioAportacionButton);
		    myButtons.push(desistirButton);
		    myButtons.push(resolucionDesistimientoButton);
		    myButtons.push(recursoDesistimientoButton);
			myButtons.push(cambiarTecnicoButton);
			myButtons.push(aportarInformeSocButton);
		}else if(idProcedimientoBAJA == expedienteJSON.idProcedimiento00 ){
		    myButtons.push(verEditButton);
		    myButtons.push(aportarDocButton);
			myButtons.push(cambiarTecnicoButton);		
		    myButtons.push(resolucionSinAlegaciones);    
		    myButtons.push(estudioAportacionButton);
		}else if(idProcedimientoINFORME == expedienteJSON.idProcedimiento00 ){
		    myButtons.push(verEditButton);
		    myButtons.push(aportarDocButton);
			myButtons.push(cambiarTecnicoButton);		    
		}else if(idProcedimientoMODIFICACION == expedienteJSON.idProcedimiento00 ){
		    myButtons.push(verEditButton);	
		    myButtons.push(aportarDocButton);
		    myButtons.push(estudioAportacionButton);
			myButtons.push(cambiarTecnicoButton);
			myButtons.push(aportarInformeSocButton);
		}else if(idProcedimientoREVISION == expedienteJSON.idProcedimiento00 ){
		    myButtons.push(verEditButton);
		    myButtons.push(aportarDocButton);
			myButtons.push(cambiarTecnicoButton);		    
		}
	    myButtons.push(actualizarButton);
		
	    

	    let columnDefs = [ 
	    	{
				"targets": 0,
				"render": function ( data, type, row, meta ) {
					if( row.maestroTramites.idTramite37 == idtramiteEstudioDocumentacion && row.tipoEstudioDoc10 == tipoEstudioDoc10EstudioDocumentacionAportacionSubsanacion){
						return $.rup.i18n.app.tramites.estudioDocAportacionSubsanacion;						
					}else if( row.maestroTramites.idTramite37 == idtramiteEstudioDocumentacion && row.tipoEstudioDoc10 == tipoEstudioDoc10EstudioDocumentacionDesistimiento){
						return $.rup.i18n.app.tramites.estudioDocDesistimiento;
					}else if( row.maestroTramites.idTramite37 == idtramiteEstudioDocumentacion && row.tipoEstudioDoc10 == tipoEstudioDoc10EstudioDocumentacionAudiencia){
						return $.rup.i18n.app.tramites.estudioDocAudiencia;
					}else { 						
						return data;
					}
				}
			},
			{
				"targets": 3,
				"render": function ( data, type, row, meta ) {

					if(data == EstadoTramiteINICIADOVAL){
						return EstadoTramiteINICIADODESC;
						
					}else if(data == EstadoTramiteFINALIZADOVAL){
						return EstadoTramiteFINALIZADODESC;
						
					}else if(data == EstadoTramiteCANCELADOVAL){
						return EstadoTramiteCANCELADODESC;
						
					}else if(data == EstadoTramiteANULADOVAL){
						return EstadoTramiteANULADODESC;
						
					}else {
						return "";						
					}
				}
			},
			{
				"targets": 4,
				"render": function ( data, type, row, meta ) {
					if(data == codApp){
						return $.rup.i18n.app.tramitacion.automatico;
					}else{
						return row.tramitadorNombre;	
					}
					
					
				},
			},
		];
	    
	    let configTablaTramitacion = {
	    			colReorder: {
	    			 fixedColumnsLeft: 1
	    			}
	    			,colModel: tableColModels
	    			,columnDefs : columnDefs
	    			,primaryKey: "idTramiteExp10"
	    			,filter:{
	    	  	  		id:"tramitacion_filter_form",
	    	  	  		filterToolbar:"tramitacion_filter_toolbar",
	    	  	  		collapsableLayerId:"tramitacion_filter_fieldset"
	    	     	}
	    			,noEdit : true
	    			,select: {
	    		   		activate: true
	    			}
	    			,seeker: {
	    				activate: true
	    			},
	    			createTooltipBody: false
	    			,
	    			columnOrderArrows: {
	    			    showOnlyActive: false,
	    			    display: 'inline'
	    			}
	    			,order: [[2, "asc"], [1, "asc"]]
	    		}
	    
	    //if(!isSoloLecturaSolicitud){
	    	configTablaTramitacion.buttons =  {
				activate: true,
				blackListButtons: ['reportsButton', 'addButton', 'editButton', 'cloneButton', 'deleteButton'],
				myButtons: myButtons
			};
		//}
		$("#tramitacion").rup_table(configTablaTramitacion);
		
		
		
		if (esProcedimientoAlta || isProcedimientoModificacion){
	
			$('#dialogAportarInformeSoc').rup_dialog({
		        type: $.rup.dialog.DIV,
		        autoOpen: false,
		        modal: true,
		        resizable: false,  
		        width:600,
		        height: 250,
		        specificLocation:'tramitacion', /// !! IMPORTANTE !! Si se trata de un dialogo en una pestaña es necesario ponerlo para que no se queden elementos fuera de la pestaña que den problemas al volver a cargar la misma.
		        title: '<i>'+ $.rup.i18n.app.dialogAportarInformeSoc.titulo +'</i>',
		        open: function(){
		        	Ad74aUtils.desBloquearInterfaz();
		        	// Añadir iconos a los botones del popup
		        	$("#btnAdjuntar").html(`<i class="mdi mdi-floppy"></i> ${$.rup.i18n.app.botonera.adjuntar}`);
				},
		        buttons: [
		        	
		        	{
						text: $.rup.i18n.app.botonera.cancelar,
						click: function () { 
							$('#dialogAportarInformeSoc').rup_dialog('close'); 
						},
						btnType: $.rup.dialog.LINK,
						
					},
			        {
			            text: $.rup.i18n.app.botonera.adjuntar,
			            id: "btnAdjuntar",
			            icon: "mdi mdi-content-save",
			            click: function () { 
			            	let informe = $("#formularioDialogAportarInformeSoc").rup_form("formToJson");
			            	const ajaxData = {
				            		url: $.rup.CTX_PATH + 'expedientes/adjuntarInformeSocial',
				            		type:  "PUT",
				            		data: JSON.stringify( {idInforme16: informe.idInforme16 , idExpediente16: idExpediente00 }),
				                    contentType: 'application/json',
				            		success: function (data) {
				            			Ad74aUtils.desBloquearInterfaz();
				            			$('#dialogAportarInformeSoc').rup_dialog("close");
				            			$("#rup_feedback_tramitacion").rup_feedback('set', $.rup.i18n.app.feedback.informeAdjuntado, "ok");				            			

				            			
				            		},
				                    beforeSend: function(){
				                    	Ad74aUtils.cerrarFeedbacks();
				                        Ad74aUtils.bloquearInterfaz();
				                    	
				                    },
				            		error: function (error) {
				            	    	Ad74aUtils.desBloquearInterfaz();
				            			$('#dialogAportarInformeSoc').rup_dialog("close");
				            			$("#rup_feedback_tramitacion").rup_feedback('set', $.rup.i18n.app.feedback.informeAdjuntadoKO, "error");		
				            	    	
				            		}
				            	};
				            	
				            	$.rup_ajax(ajaxData);
			            },
			            class: 'btn-material btn-material-primary-high-emphasis'
			            
			        }
		        ] 
		    });
		}
	
//		//Al volver a la misma pestaña, el dialog se queda inconsitente (Esta en memoria JS pero no en el HTML) Se comprueba y borra para que funcione correctamente el rup_dialog
//		if($('div[aria-describedby=dialogTramitacion]').length == 1){
//			$('div[aria-describedby=dialogTramitacion]').remove();
//		}
//		
		$('#dialogTramitacion').rup_dialog({
	        type: $.rup.dialog.DIV,
	        autoOpen: false,
	        modal: true,
	        resizable: true,
	        specificLocation:'tramitacion', /// !! IMPORTANTE !! Si se trata de un dialogo en una pestaña es necesario ponerlo para que no se queden elementos fuera de la pestaña que den problemas al volver a cargar la misma.
	        dialogClass: 'custom_full_dialog',
	        title: '<i>'+'Tramitar'+'</i>',
	        open: function(){
	        	Ad74aUtils.desBloquearInterfaz();
	        	// Añadir iconos a los botones del popup
	        	$("#btnTramitar").html(`<i class="mdi mdi-settings"></i> ${$.rup.i18n.app.botonera.tramitar}`);
				$("#btnGuardar").html(`<i class="mdi mdi-floppy"></i> ${$.rup.i18n.app.botonera.guardar}`);
			},
	        buttons: [
	        	
	        	{
					text: $.rup.i18n.app.botonera.cancelar,
					click: function () { 
						$('#dialogTramitacion').rup_dialog('close'); 
					},
					btnType: $.rup.dialog.LINK,
					
				},
		        {
		            text: $.rup.i18n.app.botonera.guardar,
		            id: "btnGuardar",
		            icon: "mdi mdi-content-save",
		            click: function () { 
		            	guardarTarea('guardar');
		            },
		            class: 'btn-material btn-material-primary-high-emphasis'
		            
		        },
		        {
		            text: $.rup.i18n.app.botonera.tramitar,
		            id: "btnTramitar",
		            icon: "mdi mdi-cogs",
		            click: function () { 
		            	guardarTarea('tramitar');
		            },
		            class: 'btn-material btn-material-sm btn-material-secondary-high-emphasis'
		        }

	        ] 
	    });
		

		$('#dialogCambiarTecnico').rup_dialog({
	        type: $.rup.dialog.DIV,
	        autoOpen: false,
	        modal: true,
	        resizable: true,
	        specificLocation:'tramitacion', /// !! IMPORTANTE !! Si se trata de un dialogo en una pestaña es necesario ponerlo para que no se queden elementos fuera de la pestaña que den problemas al volver a cargar la misma.
	        dialogClass: 'custom_small_dialog',
	        title: `<i>${$.rup.i18n.app.dialog.title.asignarTecnico}</i>`,
	        open: function(){
	        	Ad74aUtils.desBloquearInterfaz();
				$("#btnAsignarTecnico").html(`<i class="mdi mdi-floppy"></i> ${$.rup.i18n.app.botonera.guardar}`);
			},
	        buttons: [
	        	
	        	{
					text: $.rup.i18n.app.botonera.cancelar,
					click: function () { 
						$('#dialogCambiarTecnico').rup_dialog('close'); 
					},
					btnType: $.rup.dialog.LINK,
					
				},
		        {
		            text: $.rup.i18n.app.botonera.guardar,
		            id: "btnAsignarTecnico",
		            icon: "mdi mdi-content-save",
		            click: function () { 
		            	guardarCambioTecnico('guardar');
		            },
		            class: 'btn-material btn-material-primary-high-emphasis'
		            
		        }
		    
			] 
	    });	
		
		$('#dialogAportacion').rup_dialog({
	        type: $.rup.dialog.DIV,
	        autoOpen: false,
	        modal: true,
	        resizable: false,
	        minWidth: 600,
	        minHeight: 500,
	        specificLocation:'tramitacion', /// !! IMPORTANTE !! Si se trata de un dialogo en una pestaña es necesario ponerlo para que no se queden elementos fuera de la pestaña que den problemas al volver a cargar la misma.
			position: {my: "center center", at: "center center", of: window},
			classes: {"ui-dialog":"fixed-dialog"},
			dialogClass:"col-xs-12 mt-1",
	        title: $.rup.i18n.app.botonera.aportarDoc,
	        buttons: [
	            {
	            	text : $.rup.i18n.app.botonera.cancelar,
	                click: function () { 
	                    $('#dialogAportacion').rup_dialog('close'); 
	                },
	                btnType: $.rup.dialog.LINK
	                
	            },
		        {
	            	text : $.rup.i18n.app.botonera.aceptar,
	            	icon: "mdi mdi-check-bold",
		            class: 'btn-material btn-material-primary-high-emphasis',
		            id: 'btn-aportar',
		            click: () => {
		            	const file = document.querySelector("#dialogAportacion #documento").files[0];
		            	if(file  === undefined){
		            		$("#dialogAportacion_feedback").rup_feedback('set',$.rup.i18n.app.feedback.documentoAportarNOK,"alert");
		            	}else{		            		
		            		let data = new FormData();
		            		data.append("documento", file);
		            		data.append("idExpediente00", idExpediente00);
		            		data.append("tipoDocumento", $("#dialogAportacion #tipo_documento").val());
		            		$.rup_ajax({
		            			url:  $.rup.CTX_PATH+"expedientes/aportarDocumento",
		            			type: "POST",
		            			enctype: 'multipart/form-data',
		            			processData: false,
		            			contentType: false,
		            			cache: false,
		            			timeout: 600000,
		            			data: data,
		            			success: function (data){
		            				Ad74aUtils.desBloquearInterfaz();
		            				$("#dialogAportacion").rup_dialog("close");
		            				$("#rup_feedback_tramitacion").rup_feedback('set',$.rup.i18n.app.feedback.operacionOK,'ok');
		            			},
		            			beforeSend: function(){
		            				Ad74aUtils.cerrarFeedbacks();
		            				Ad74aUtils.bloquearInterfaz();
		            			},
		            			error:function(data){
		            				$("#dialogAportacion").rup_dialog("close");
		            				Ad74aUtils.desBloquearInterfaz();
		            				$("#rup_feedback_tramitacion").rup_feedback('set',data.responseJSON,"error");
		            			}
		            		});
		            	}
					},
		            
		        }
	        ],
	        open: function() {
	        	$("#dialogAportacion #tipo_documento").rup_combo({
	        		loadFromSelect:false, 
	        		source: $.rup.CTX_PATH + 'combo/getRolDocuments?procedureID='+expedienteJSON.idProcedimiento00+'&idTipoProceso='+expedienteJSON.idProcedimiento00,
					sourceParam: {value: "value", label:idioma == 'es' ? "descripcionEs" : "descripcionEu"},
	        		width: 'auto',
	                ordered: false,
	        		customClasses: ['select-material'],
	        		rowStriping: true
	        	});
	        	
	        	try {
	    			$("#dialogAportacion_feedback").rup_feedback("destroy");
	    		} catch (error) {}

	    		$("#dialogAportacion_feedback").rup_feedback(
	    			{
	    				type: "ok",
	    				block: false,
	    				delay: 3000,
	    				fadeSpeed: 600,
	    			}
	    		);


	    		let urlAportar= $.rup.CTX_PATH+"expedientes/aportarDocumento";

	    	UploadFile.init("documento", {
	            selectButton: {
	                "text": $.rup.i18n.app.botonera.seleccionar,
	                "icon": "mdi mdi-plus",
	                "class": "btn-material-primary-high-emphasis",
	            },
	            "extensions": ['.pdf'],
	            "submitInForm": true,
	            "url": urlAportar,
	            data: () => {
	            	return { 
	            		"tipificar": $("#dialogAportacion #tipo_documento").val(),
	            	}
	            },
	            start : function (data) {
	    			Ad74aUtils.bloquearInterfaz();
	    		},
	    		done: function (data) {
	    			UploadFile.reset("documento");
	    			Ad74aUtils.desBloquearInterfaz();
	            	$('#rup_feedback_tramitacion').rup_feedback("set", $.rup.i18n.app.beneficiarios.documentoAdjuntado, "ok");

	    		},
	    		fail: function (data) {
	    			console.log(data);
	    			UploadFile.reset("documento_cuenta");
	    			Ad74aUtils.desBloquearInterfaz();
	    			$('#rup_feedback_tramitacion').rup_feedback("option", "delay", null);
	            	$('#rup_feedback_tramitacion').rup_feedback("set", $.rup.i18n.app.beneficiarios.errorDocumentoAdjuntado, "error");
	    		},
	        });
	    	

	        },
	        close: function(){
	        	$("#dialogAportacion #tipo_documento").rup_combo("destroy");
			}
	    });	
		
		
		
	}
	
	

	
	
	
const guardarCambioTecnico = () => {
	
	// TODO: implementar el control de cambios de las pestañas
	
	Ad74aUtils.openConfirmDialog(
			'dialogConfirm', 
			$.rup.i18n.app.dialog.title.confirmarAsignarTecnico, 
			$.rup.i18n.app.dialog.label.confirmarAsignarTecnico,  
			[
	        	{
	                text: $.rup.i18n.app.botonera.cancelar,
	                click: function () { 
	                    $('#dialogConfirm').rup_dialog('close'); 
	                },
	                btnType: $.rup.dialog.LINK
	            },
		        {
		            text: $.rup.i18n.app.botonera.aceptar,
		            id: "btnAceptarAsignar",
		            class: 'btn-material btn-material-primary-high-emphasis',
		            click: function () { 
		            	
		            	$('#dialogConfirm').rup_dialog('close');
		            	
		            	let data = {};
		            	data.expediente={};
		            	data.expediente.idExpediente00 = idExpediente00;
		            	data.expediente.tecnicoExpediente00 = $('#tecnicoExpediente').rup_combo('getRupValue');
		            	console.log(data);
		            	
		            	//const idExpediente = data.bandejaTelematica.expediente.idExpediente00;
		            	//console.log(idExpediente);
		            	data = JSON.stringify(data);
		            	
		            	const url = $.rup.CTX_PATH+"tramitesexpediente/cambiarTecnico";
		            	const ajaxData = {
		            		'url': url,
		            		'type': 'POST',
		            			'data': data,
		            			'contentType': 'application/json',
		            			'dataType': 'json',
		            		success: function (data) {
		            			Ad74aUtils.desBloquearInterfaz();
		            			$("#rup_feedback_tramitacion").rup_feedback('set', $.rup.i18n.app.feedback.cambiarTecnicoOK, "ok");
		            			actualizarCabecera();
		            		},
		                    beforeSend: function(){
		                    	Ad74aUtils.cerrarFeedbacks();
		                        Ad74aUtils.bloquearInterfaz();
		                    	$('#dialogCambiarTecnico').rup_dialog('close');
		                    },
		            		error: function (error) {
		            			$("#tramitacion_processing").hide();
		            	    	$('#dialogCambiarTecnico').rup_dialog('close');
		            	    	Ad74aUtils.desBloquearInterfaz();
		            	    	$("#rup_feedback_tramitacion").rup_feedback('set', $.rup.i18n.app.feedback.cambiarTecnicoOK, "error");
		            		}
		            	};
		            	
		            	$.rup_ajax(ajaxData);
		            }
		        }
	        ],
	        "custom_small_dialog rup-message rup-message-confirm"
		);		
}	
$.downloadDocument = function(oid, nombreDoc){		
	if (oid != null
			&& oid != ''){
		var url = $.rup.CTX_PATH+"informes/downloadInforme/"+oid+"?nombreDoc="+nombreDoc;
		window.open($.rup_utils.setNoPortalParam(encodeURI(url)));	
	}
}
});