function forma_comprobacion() { ?> <!-- Inicia forma para comprobación --> <script language="JavaScript" src="../../lib/js/jquery/jquery-1.3.2.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery.date_input.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery.autocomplete.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery.bgiframe.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery.blockUI.js" type="text/javascript"></script> <script language="JavaScript" type ="text/javascript" src="../../lib/js/jquery/jquery.jdpicker.js"></script> <script language="JavaScript" src="../../lib/js/formatNumber.js" type="text/javascript"></script> <script language="JavaScript" src="../comprobaciones/js/backspaceGeneral.js" type="text/javascript"></script> <link rel="stylesheet" href="../../css/jdpicker.css" type="text/css" media="screen" /> <script language="JavaScript" type="text/javascript"> //variables var doc; doc = $(document); doc.ready(inicializarEventos);//cuando el documento esté listo function inicializarEventos(){ $.blockUI({ message: '<h1>Espere un momento...</h1>', css:{ border: 'none', padding: '15px', backgroundColor: '#000', '-webkit-border-radius': '10px', '-moz-border-radius': '10px', opacity: .5, color: '#fff' } }); $(document).bind("contextmenu", function(e){ e.preventDefault(); }); var tramite_id=gup("edit2"); montoMaximoComidas(); activa_envio(); //alert(tramite_id); fillform(tramite_id); //ajusta tabla //$("#solicitud_table").tablesorter({ //cabeceras deshabilitadas del ordenamiento // headers: { // 4: {sorter: false }, // 7: {sorter: false }, // 9: {sorter: false }, // 11:{sorter: false } // } //headers //}); //tabla //borrarPartida(); //guardaComprobacion(); $("#fecha_inv").jdPicker({ date_format:"dd/mm/YYYY", date_min:"<?php echo date("d/m/Y"); ?> ", month_names: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], short_month_names: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], short_day_names: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sab"] }); //Seleccionar el centro de costos del usuario actual //select idcentrocosto from empleado where idempleado = "110" var id_centro_de_costos = "<?php $varDelegado = 0; if (isset($_SESSION['iddelegado'])) { $varDelegado = $_SESSION['iddelegado']; } $iduser = verificaSesion($_SESSION["idusuario"], $varDelegado); $query = sprintf("SELECT cc_centrocostos FROM cat_cecos WHERE cc_id = (SELECT idcentrocosto FROM empleado WHERE idfwk_usuario = '%s')", $iduser); $var = mysql_query($query); $aux = ""; while ($arr = mysql_fetch_assoc($var)) { $aux .= $arr['cc_centrocostos']; } echo $aux; ?> "; seleccionar(id_centro_de_costos); $('#fecha_inv').keydown(function(e){ ignoraEventKey(e); }); $("input").bind("keydown", function(e){ if(!isAlphaNumeric(e)) return false; }); }//fin ready ó inicializarEventos ////IVA function gup(name){ var regexS = "[\\?&]"+name+"=([^&#]*)"; var regex = new RegExp ( regexS ); var tmpURL = window.location.href; var results = regex.exec( tmpURL ); if( results == null ) return""; else return results[1]; } function montoMaximoComidas(){ // Monto máximo de Comidas de Invitación $.ajax({ type: "POST", url: "services/ajax_solicitudes.php", data: "montoMaximo=ok", dataType: "json", timeout: 10000, success: function(json){ $("#montoMaximo").val(parseFloat(json[0].montoCantidad)); $("#montoMaximoDivisa").val(json[0].divisaMonto); $("#montoPolitica").html("<span class='style1'>* Monto máximo por persona: " + parseFloat(json[0].montoCantidad) + " " + json[0].divisaMonto + ".</span>"); } }); } function fillform(id_solicitud){ var frm=document.detallesItinerarios; var etapa = 0; var historial_autorizaciones = ""; if(id_solicitud != ""){ $.ajax({ type: "POST", url: "services/ajax_solicitudes.php", data: "mntsolicinv="+id_solicitud, dataType: "json", timeout: 10000, success: function(json){ etapa = json[0].t_etapa; historial_autorizaciones = json[0].si_autorizaciones; $("#motive").val(json[0].si_motivo); $("#tramite_sol").val(parseInt(id_solicitud)); $("#fecha_inv").val(json[0].si_fecha_invitacion); $("#lugar_inv").val(json[0].si_lugar); $("#tpesosdisabled").val(json[0].montoPesos); $("#tpesos").val(json[0].si_monto_pesos); $("#ciudad_invitacion").val(json[0].si_ciudad); $("#monto_solicitado_invitacion").val(json[0].si_monto); $("#divisa_solicitud_invitacion").val(parseInt(json[0].si_divisa)); if(etapa == 4 || etapa == 6 || historial_autorizaciones != ""){ $("#historial_observaciones").val(json[0].si_observaciones); } $("#observ").val(json[0].si_observaciones_edicion); }, // Fin de carga de info de Solicitudes de Invitación complete: function (json){ //alert("Completado 001"); $.ajax({ type: "POST", url: "../comprobaciones/services/Ajax_comprobacion.php", data: "t_id="+id_solicitud, dataType: "json", timeout: 10000, success: function(jsonC){ if(jsonC==null){ }else{ seleccionar(jsonC[0]); } }, // Fin de Seleccione CECOs complete: function (jsonC){ //alert("Completado 002"); $.ajax({ type: "POST", url: "../comprobaciones/services/Ajax_comprobacion.php", data: "t_id2="+id_solicitud, dataType: "json", timeout: 10000, success: function(jsonINV){ if(jsonINV==null){ VaciarTabla(); document.getElementById("numInvitadosDisabled").value = 0; document.getElementById("numInvitados").value = 0; }else{ VaciarTabla(); LlenarTabla(jsonINV,document.getElementById("invitado_table")); } }, complete: function(jsonINV){ //alert("Completado 003"); guardaprevioComprobacion1(); recalculaMontos(); $.unblockUI(); guardaComprobacion11(); }, // Complete 3er AJAX error: function(x, t, m) { if(t==="timeout") { //alert("tiempo de espera agotado 3"); location.reload(); abort(); } } }); // Tercer AJAX - Carga de Invitados }, // Complete 2do AJAX error: function(x, t, m) { if(t==="timeout") { //alert("tiempo de espera agotado 2"); location.reload(); abort(); } } }); // Segundo AJAX - Carga de CECO }, // Complete 1er AJAX error: function(x, t, m) { if(t==="timeout") { //alert("tiempo de espera agotado 1"); location.reload(); abort(); } } }); // Primer AJAX - INFO SI } } function activa_envio(){ var delegado = <?php if (isset($_SESSION['iddelegado'])) { echo $_SESSION['iddelegado']; } else { echo 0; } ?> ; if(delegado != 0){ $("#enviaDirector").removeAttr("disabled"); }else{ $("#guardarCompedit").removeAttr("disabled"); } } function VaciarTabla() { var TABLE = document.getElementById("invitado_table"); for(var i=TABLE.rows.length-1;i>=1;i--){ TABLE.deleteRow(i); } } function LlenarTabla(json, tabla){ var frm=document.detallesItinerarios; frm.rowCount.value=parseInt(0); for(var i=0;i<json.length;i++){ var toks=json[i].split(":"); //Creamos la nueva fila y sus respectivas columnas var nuevaFila='<tr>'; nuevaFila+="<td>"+"<div id='renglon"+(i+1)+"' name='renglon"+(i+1)+"'>"+(i+1)+"</div>"+"<input type='hidden' name='row"+(i+1)+"' id='row"+(i+1)+"' value='"+(i+1)+"' readonly='readonly' /></td>"; nuevaFila+="<td><input type='hidden' name='nombre"+(i+1)+"' id='nombre"+(i+1)+"' value='"+toks[0]+"' readonly='readonly' />"+toks[0]+"</td>"; nuevaFila+="<td><input type='hidden' name='puesto"+(i+1)+"' id='puesto"+(i+1)+"' value='"+toks[1]+"' readonly='readonly' />"+toks[1]+"</td>"; nuevaFila+="<td><input type='hidden' name='empresa"+(i+1)+"' id='empresa"+(i+1)+"' value='"+toks[2]+"' readonly='readonly' />"+toks[2]+"</td>"; nuevaFila+="<td ><input type='hidden' name='tipo"+(i+1)+"' id='tipo"+(i+1)+"' value='"+toks[3]+"' readonly='readonly' />"+toks[3]+"</td>"; nuevaFila+="<td><div align='center'><img class='elimina' src='../../images/delete.gif' alt='Click aquí para Eliminar' name='"+(i+1)+"del' id='"+(i+1)+"del' onmousedown='borrarPartida(this.id);' style='cursor:pointer;' /></div><div align='center'>Eliminar Partida</div></td>"; nuevaFila+= '</tr>'; frm.rowCount.value=parseInt(frm.rowCount.value)+parseInt(1); $("#invitado_table").append(nuevaFila); } document.getElementById("numInvitados").value = parseInt(frm.rowCount.value); document.getElementById("numInvitadosDisabled").value = parseInt(frm.rowCount.value); } function fecha_to_mysql_normal(strFecha){ var toks1=strFecha.split(" "); var toks=toks1[0].split("-"); strFechaN = toks[0]+"/"+toks[1]+"/"+toks[2]; return strFechaN; } function fecha_to_mysql(strFecha){ var toks1=strFecha.split(" "); var toks=toks1[0].split("-"); strFechaN = toks[2]+"/"+toks[1]+"/"+toks[0]; return strFechaN; } //Seleccionar elemento de un combo function seleccionar(elemento) { var combo = document.invitacion_comp.centro_de_costos; var cantidad = combo.length; for (var i = 1; i < cantidad; i++) { var toks=combo[i].text.split("-"); if (toks[0] == elemento) { combo[i].selected = true; break; } } } //Seleccionar elemento del combo de ccentro_costos function seleccionar(elemento) { var combo = document.detallesItinerarios.ccentro_costos; var cantidad = combo.length; for (var i = 0; i < cantidad; i++) { var toks=combo[i].text.split(" "); if (toks[0] == elemento) { combo[i].selected = true; break; } } } function verificar_tipo_invitado(){ var esDirector = <?php $idusuario = $_SESSION["idusuario"]; $esDirector = 0; $rutaAutorizacion = new RutaAutorizacion(); $esDirector = $rutaAutorizacion->nivelEmpleado($idusuario); echo $esDirector; ?> ; var directorGeneral = <?php echo DIRECTOR_GENERAL; ?> ; if($("#tipo_invitado").val()=="-1"){ $("#empresa_invitado").val(""); $("#capaDirector").html(""); $("#empresa_invitado").attr("disabled", "disable"); } else{ if($("#tipo_invitado").val()=="BMW"){ $("#empresa_invitado").val("BMW DE MEXICO SA DE CV."); $("#capaDirector").html(""); $("#empresa_invitado").attr("disabled", "disable"); } else if ($("#tipo_invitado").val() == "Gobierno" && esDirector != directorGeneral){ $("#empresa_invitado").val(""); $("#empresa_invitado").removeAttr("disabled"); $("#capaDirector").html("<strong>La solicitud requerirá ser validada por el Dir. General</strong>"); }else{ $("#empresa_invitado").val(""); $("#capaDirector").html(""); $("#empresa_invitado").removeAttr("disabled"); } } } function verificar(){ if($("#motive").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#motive").focus(); return false; } else if($("#lugar_inv").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#lugar_inv").focus(); return false; } else if($("#nombre_invitado").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#nombre_invitado").focus(); return false; }else if($("#puesto_invitado").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#puesto_invitado").focus(); return false; }else if($("#empresa_invitado").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#empresa_invitado").focus(); return false; }else if($("#tipo_invitado").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#tipo_invitado").focus(); return false; }else{ return true; } } function agregarPartida(){ var frm=document.detallesItinerarios; id=parseInt($("#invitado_table").find("tr:last").find("div").eq(0).html()); if(verificar()){ if(isNaN(id)){ id=1; }else{ id+=parseInt(1); } frm.rowCount.value=parseInt(frm.rowCount.value)+parseInt(1); var nuevaFila='<tr>'; nuevaFila+="<td>"+"<div id='renglon"+id+"' name='renglon"+id+"'>"+id+"</div>"+"<input type='hidden' name='row"+id+"' id='row"+id+"' value='"+id+"' readonly='readonly' /></td>"; nuevaFila+="<td><input type='hidden' name='nombre"+id+"' id='nombre"+id+"' value='"+frm.nombre_invitado.value+"' readonly='readonly' />"+frm.nombre_invitado.value+"</td>"; nuevaFila+="<td><input type='hidden' name='puesto"+id+"' id='puesto"+id+"' value='"+frm.puesto_invitado.value+"' readonly='readonly' />"+frm.puesto_invitado.value+"</td>"; nuevaFila+="<td><input type='hidden' name='empresa"+id+"' id='empresa"+id+"' value='"+frm.empresa_invitado.value+"' readonly='readonly' />"+frm.empresa_invitado.value+"</td>"; nuevaFila+="<td><input type='hidden' name='tipo"+id+"' id='tipo"+id+"' value='"+frm.tipo_invitado.value+"' readonly='readonly' />"+frm.tipo_invitado.value+"</td>"; nuevaFila+="<td><div align='center'><img class='elimina' src='../../images/delete.gif' alt='Click aquí para Eliminar' name='"+id+"del' id='"+id+"del' onmousedown='borrarPartida(this.id);' style='cursor:pointer;' /></div><div align='center'>Eliminar Partida</div></td>"; nuevaFila+= '</tr>'; $("#invitado_table").append(nuevaFila); $("#numInvitados").val(parseInt(frm.rowCount.value)); $("#numInvitadosDisabled").val(parseInt(frm.rowCount.value)); $("#nombre_invitado").val(""); $("#puesto_invitado").val(""); $("#empresa_invitado").val(""); //$("#capaDirector").html(""); $("#tipo_invitado").val("-1"); //guardaComprobacion(); $("#guardarComp").removeAttr("disabled"); $("#guardarCompprev").removeAttr("disabled"); $("#capaDirector").html(""); document.getElementById("empresa_invitado").disabled="disable"; recalculaMontos(); } } function borrarPartida(id){ var frm=document.detallesItinerarios; $("#rowCount").bind("restar",function(e,data,data1){ e.stopImmediatePropagation(); $("#rowCount").val(parseInt($("#invitado_table>tbody>tr").length)); $("#numInvitados").val($("#rowCount").val()); $("#numInvitadosDisabled").val($("#rowCount").val()); }); $("#rowDel").bind("cambiar",function(e,inicio,tope){ e.stopImmediatePropagation(); var renglon=""; var jqueryrenglon=""; var nextrenglon=""; var nextrow=""; var row=""; var jqueryrow=""; var nextnombre=""; var nombre=""; var jquerynombre=""; var nextpuesto=""; var puesto=""; var jquerypuesto=""; var nexttipo=""; var tipo=""; var jquerytipo=""; var nextempresa=""; var empresa=""; var jqueryempresa=""; var nextdel=""; var del=""; var jquerydel=""; for (var i=parseFloat(inicio);i<=parseFloat(tope);i++){ renglon="renglon"+parseInt(i); jqueryrenglon="#renglon"+parseInt(i); nextrenglon="#renglon"+((parseInt(i)+(1))); nextrow="#row"+((parseInt(i)+(1))); row="row"+parseInt(i); jqueryrow="#row"+parseInt(i); nextnombre="#nombre"+((parseInt(i)+(1))); nombre="nombre"+parseInt(i); jquerynombre="#nombre"+parseInt(i); nextpuesto="#puesto"+((parseInt(i)+(1))); puesto="puesto"+parseInt(i); jquerypuesto="#puesto"+parseInt(i); nexttipo="#tipo"+((parseInt(i)+(1))); tipo="tipo"+parseInt(i); jquerytipo="#tipo"+parseInt(i); nextempresa="#empresa"+((parseInt(i)+(1))); empresa="empresa"+parseInt(i); jqueryempresa="#empresa"+parseInt(i); nextdel="#"+((parseInt(i)+(1)))+"del"; del=parseInt(i)+"del"; jquerydel="#"+parseInt(i)+"del"; $(nextrenglon).attr("id",renglon); $(jqueryrenglon).attr("name",renglon); $(jqueryrenglon).html(parseInt(i)); $(nextrow).attr("id",row); $(jqueryrow).attr("name",row); $(jqueryrow).val(parseInt(i)); $(nextnombre).attr("id",nombre); $(jquerynombre).attr("name",nombre); $(nextpuesto).attr("id",puesto); $(jquerypuesto).attr("name",puesto); $(nexttipo).attr("id",tipo); $(jquerytipo).attr("name",tipo); $(nextempresa).attr("id",empresa); $(jqueryempresa).attr("name",empresa); $(nextdel).attr("id",del); $(jquerydel).attr("name",del); //next(); } }); $("img.elimina").click(function(){ $(this).parent().parent().parent().fadeOut("normal", function () { var i=0; $(this).remove(); $("#rowCount").trigger("restar"); $("#rowCount").unbind("restar"); var tope=$("#rowCount").val(); recalculaMontos(); i=parseFloat(id); $("#rowDel").trigger("cambiar",[i,tope]); $("#rowDel").unbind("cambiar"); }); return false; }); } function getCentroCostos(){ var frm=document.detallesItinerarios; $("#Cecos").val(frm.ccentro_costos.value); } /***************************************************************************/ //VARIABLE GLOBAL var textoAnterior = ''; //ESTA FUNCIÓN DEFINE LAS REGLAS DEL JUEGO function cumpleReglas(simpleTexto){ //la pasamos por una poderosa expresión regular //var expresion = new RegExp("^(|([0-9]{1,2}(\\.([0-9]{1,2})?)?))$"); var expresion = new RegExp("^(|([0-9]{1,30}(\\.([0-9]{1,2})?)?))$"); //si pasa la prueba, es válida if(expresion.test(simpleTexto)) return true; return false; }//end function checaReglas //ESTA FUNCIÓN REVISA QUE TODO LO QUE SE ESCRIBA ESTÉ EN ORDEN function revisaCadena(textItem){ //si comienza con un punto, le agregamos un cero if(textItem.value.substring(0,1) == '.') textItem.value = '0' + textItem.value; //si no cumples las reglas, no te dejo escribir if(!cumpleReglas(textItem.value)) textItem.value = textoAnterior; else //todo en orden textoAnterior = textItem.value; }//end function revisaCadena /***************************************************************************/ function NumCheck(e, field) { key = e.keyCode ? e.keyCode : e.which ; valor = field.value+String.fromCharCode(key); // backspace if (key == 8) return true ; // 0-9 if ((key > 47 && key < 58)) { if (valor == "") return true ; //regexp = /.[0-9]{2}$/ regexp = /^[0-9]*(\.[0-9]{0,2})?$/ ; return (regexp.test(valor)) ; } // . if (key == 46) { if (valor == "") return false ; //regexp = /^[0-9]+$/ ; regexp = /^[0-9]*(\.[0-9]{0,2})?$/ ; return regexp.test(valor) ; } // other key return false ; } function validaNum(valor){ cTecla=(document.all)?valor.keyCode:valor.which; if(cTecla==8) return true; if(cTecla==37) return true; if(cTecla==39) return true; patron=/^([0-9.]{1,2})?$/; cTecla= String.fromCharCode(cTecla); return patron.test(cTecla); } function validaNum2(valor){ cTecla=(document.all)?valor.keyCode:valor.which; if(cTecla==8) return true; if(cTecla==37) return "ok"; if(cTecla==39) return "ok"; return true; } function format_input(valor){ valor = valor.replace(/,/g,""); //valor = number_format(valor,2,".",","); valor = number_format_sin_redondeo(valor); return valor; } function guardaComprobacion11(){ var etapaTramite = parseInt($("#etapa").val()); var frm=document.detallesItinerarios; id= parseInt($("#solicitud_table").find("tr:last").find("td").eq(0).html()); if(($("#numInvitados").val() >= 1)){ if($("#divisa_solicitud_invitacion").val()=="" ||$("#divisa_solicitud_invitacion").val()==-1 ){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#divisa_solicitud_invitacion").focus(); return false; }else if($("#ccentro_costos").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#ccentro_costos").focus(); return false; }else if($("#ciudad_invitacion").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#ciudad_invitacion").focus(); return false; }else if(etapaTramite == 1 && $("#banderavalida").val() == 1 && $("#observ").val().length == 0){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#observ").focus(); return false; }else if($("#monto_solicitado_invitacion").val()==0){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes. Monto"); $("#monto_solicitado_invitacion").focus(); return false; }else{ document.getElementById("motive").setAttribute("readonly","readonly"); $("#guardarCompprev").removeAttr("disabled"); if($("#delegado").val() != 0){ $("#enviaDirector").removeAttr("disabled"); }else{ $("#guardarCompedit").removeAttr("disabled"); } } } } function validaInvitados(){ var numInv = parseInt($("#numInvitados").val()); if(numInv < 2){ alert("Favor de ingresar por lo menos dos invitados."); return false; }else{ return true; } } function guardaComprobacion(){ var frm=document.detallesItinerarios; if(validaInvitados()){ id= parseInt($("#solicitud_table").find("tr:last").find("td").eq(0).html()); if(($("#numInvitados").val() >= 1)){ if($("#motive").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#motive").focus(); return false; }else if($("#lugar_inv").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#lugar_inv").focus(); return false; }else if($("#monto_solicitado_invitacion").val()==0){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes. Monto"); $("#monto_solicitado_invitacion").focus(); return false; }else if($("#divisa_solicitud_invitacion").val()=="" ||$("#divisa_solicitud_invitacion").val()==-1 ){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#divisa_solicitud_invitacion").focus(); return false; }else if($("#ccentro_costos").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#ccentro_costos").focus(); return false; }else if($("#ciudad_invitacion").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#ciudad_invitacion").focus(); return false; } else if ($("#banderavalida").val() == 1){ if($("#observ").val().length == 0 ){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#observ").focus(); return false; } } else { document.getElementById("motive").setAttribute("readonly","readonly"); document.getElementById("nombre_invitado").setAttribute("disabled","disabled"); document.getElementById("puesto_invitado").setAttribute("disabled","disabled"); document.getElementById("empresa_invitado").setAttribute("disabled","disabled"); document.getElementById("tipo_invitado").setAttribute("disabled","disabled"); document.getElementById("agregar_invitado").setAttribute("disabled","disabled"); $("#guardarCompprev").removeAttr("disabled"); if($("#delegado").val() != 0){ $("#enviaDirector").removeAttr("disabled"); }else{ $("#guardarCompedit").removeAttr("disabled"); } } } }else{ return false; } } function guardaprevioComprobacion(){ var frm=document.detallesItinerarios; document.getElementById("motive").setAttribute("readonly","readonly"); if(document.getElementById("motive").value != "") $("#guardarprevCompedit").removeAttr("disabled"); else if(document.getElementById("motive").value == "") frm.guardarprevCompedit.disabled = true; } function guardaprevioComprobacion1(){ var frm=document.detallesItinerarios; $("#guardarprevCompedit").removeAttr("disabled"); } function solicitarConfirmPrevio(){ var frm=document.detallesItinerarios; if(confirm("¿Desea guardar esta Solicitud como previo?")){ //frm.submit(); }else{ return false; } } function enviarSub(){ var frm=document.detallesItinerarios; document.getElementById("motive").setAttribute("readonly","readonly"); } function evaluaMonto(monto){ var montoMaximo = 0; var montoMaximoDiv = 0; var esDirector = <?php $idusuario = $_SESSION["idusuario"]; $esDirector = 0; $rutaAutorizacion = new RutaAutorizacion(); $esDirector = $rutaAutorizacion->nivelEmpleado($idusuario); echo $esDirector; ?> ; var directorGeneral = <?php echo DIRECTOR_GENERAL; ?> ; $("#capaWarning").html(""); var mensajeExcedePoliticas = undefined; //Variables de las cajas de Texto var divEuro = parseFloat($("#valorDivisaEUR").val()); //var monto = parseFloat($("#tpesos").val()); var num_invitados = parseFloat($("#numInvitados").val()); //Variable para guardar var monto2 = 0; monto2 = ((monto / divEuro) / num_invitados ); // Monto máximo de Comidas de Invitación $.ajax({ type: "POST", url: "services/ajax_solicitudes.php", data: "montoMaximo=ok", dataType: "json", async: false, timeout: 10000, success: function(json){ montoMaximo = parseFloat(json[0].montoCantidad); montoMaximoDiv = json[0].divisaMonto; }, complete: function (json){ //alert("Completo: carga de politicas de comida Invitacion:"+montoMaximo+" "+montoMaximoDiv); if(monto2 > montoMaximo && mensajeExcedePoliticas == undefined){ if(esDirector != directorGeneral){ mensajeExcedePoliticas = "<strong>Esta rebasando la política del concepto. <br>El monto máximo es de " + montoMaximo + " " + montoMaximoDiv + ".<br /> La solicitud requerirá ser validada por el Dir. General.</strong>"; }else{ mensajeExcedePoliticas = "<strong>Esta rebasando la política del concepto. <br>El monto máximo es de " + montoMaximo + " " + montoMaximoDiv + ".<br /></strong>"; } conceptoExcedePoliticas = true; } else { conceptoExcedePoliticas = false; } if(conceptoExcedePoliticas){ $("#capaWarning").html(mensajeExcedePoliticas); $("#obsjus").html("Agregar justificación detallada del motivo del excedente<span class='style1'>*</span>:"); document.getElementById("banderavalida").value = 1; } else { $("#obsjus").html("Observaciones:"); document.getElementById("banderavalida").value = 0; } }, error: function(x, t, m) { if(t==="timeout") { location.reload(); abort(); }else if(montoMaximo == 0 || montoMaximo == ""){ location.reload(); abort(); } } }); } function recalculaMontos(){ var anticipo = parseFloat(($("#monto_solicitado_invitacion").val()).replace(/,/g,"")); var totalAnticipo = 0; var divisas = $("#divisa_solicitud_invitacion").val(); var tasaNueva = 1; if(divisas != 1){ //Si la divisa es diferente a MXN //Se obtiene las tasas de las divisas var tasa = "<?php $query = sprintf('SELECT DIV_ID,DIV_TASA FROM divisa'); $var = mysql_query($query); $aux = ""; while ($arr = mysql_fetch_assoc($var)) { $aux .= $arr['DIV_ID'] . ":" . $arr['DIV_TASA'] . ":"; } echo $aux; ?> "; var tasa2 = tasa.split(":"); //Se obtiene la tasa de la divisa seleccionada for(i=0;i<=tasa2.length;i=i+2){ if(tasa2[i] == divisas){ tasaNueva = tasa2[i+1]; } } } totalAnticipo = anticipo * parseFloat(tasaNueva); document.getElementById("tpesosdisabled").value = number_format(redondea(totalAnticipo),2,".",",");//redondea a 2 decimales document.getElementById("tpesos").value = number_format(redondea(totalAnticipo),2,".",",");//redondea a 2 decimales evaluaMonto(totalAnticipo); } function redondea(valor){ return (Math.round(valor * Math.pow(10, 2)) / Math.pow(10, 2)); } </script> <link rel="stylesheet" type="text/css" href="../../css/jquery.autocomplete.css"/> <link rel="stylesheet" type="text/css" href="../../css/date_input.css"/> <link rel="stylesheet" type="text/css" href="../../css/table_style.css"/> <link rel="stylesheet" type="text/css" href="../../css/style_Table_Edit.css"/> <style type="text/css"> .style1 {color: #FF0000} </style> <div id="Layer1" > <form action="solicitud_invitacion_new.php?save" method="post" name="detallesItinerarios" id="detallesItinerarios" > <center><h3>Solicitud de Invitación</h3></center> <table width="785" border="0" align="center" cellspacing="1" style="border:1px #CCCCCC solid;margin:auto;margin-top:5px;text-align:left;"> <tr> <td colspan="9"> </td> </tr> <tr style="text-align:center;"> <td colspan="9">Motivo<span class="style1">*</span>: <input name="motive" type="text" id="motive" size=50 maxlength="100" onchange="return guardaprevioComprobacion();" onclick="return guardaprevioComprobacion(); " onkeyup="return guardaprevioComprobacion();" /> </td> </tr> <tr> <td> </td> <td colspan="2" align="right">Fecha de Invitación<span class="style1">*</span>:</td> <td align="left"><input name="fecha_inv" id="fecha_inv" value="<?php echo date('d/m/Y'); ?> " size="12" readonly="readonly"></td> <td> </td> <td colspan="2" align="right">Lugar de invitación/Restaurante<span class="style1">*</span>:</td> <td align="left"><input type="text" name="lugar_inv" id="lugar_inv" maxlength="100"/></td> <td> </td> </tr> <tr> <td colspan="9"><div> </div></td> </tr> </table> <br/> <center><div id="montoPolitica"></div></center> <center><div style="display: none"><span class="style1">* Monto máximo por persona Funcionarios Gubernamentales: 30.00 EUR</span></div></center> <br/> <center> <table width="785" border="0" cellspacing="1" style="border:1px #CCCCCC solid;margin:auto;margin-top:5px;text-align:left; background-color:#F8F8F8" > <tr style="text-align:center;" > <td colspan="4"><h3>Invitados</h3></td> </tr> <tr> <td> </td> <td width="50%">Nombre<span class="style1">*</span>: <input name="nombre_invitado" type="text" id="nombre_invitado" size=50 maxlength="100" /> </td> <td width="50%">Tipo de Invitado<span class="style1">*</span>: <select name="tipo_invitado" id="tipo_invitado" onchange="verificar_tipo_invitado();"> <option value="-1">Seleccione...</option> <option value="BMW">Empleado BMW de México</option> <option value="Externo">Externo</option> <option value="Gobierno">Gobierno</option> </select> </td> <td> </td> </tr> <tr> <td> </td> <td width="50%">Puesto<span class="style1">*</span>: <input name="puesto_invitado" type="text" id="puesto_invitado" size=50 maxlength="100" /> </td> <td width="50%">Empresa<span class="style1">*</span>: <input name="empresa_invitado" type="text" id="empresa_invitado" size=50 maxlength="100" disabled="disable" /> </td> <td> </td> </tr> <tr> <td> </td> <td><div id="capaDirector"></div></td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td colspan="2"> <div align="center"> <input name="agregar_invitado" type="button" id="agregar_invitado" value=" Agregar Invitado" onclick="agregarPartida();" style="background:url(../../images/ok.png); background-position:left; background-repeat:no-repeat; background-color:#E1E4EC;"/> </div> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr><td> </td><td colspan="2" style="text-align:center"> <table id="invitado_table" class="tablesorter" cellspacing="1"> <thead> <tr> <th width="5%" align="center" valign="middle">No.</th> <th width="30%" align="center" valign="middle">Nombre</th> <th width="30%" align="center" valign="middle">Puesto</th> <th width="30%" align="center" valign="middle">Empresa</th> <th width="30%" align="center" valign="middle">Tipo</th> <th width="5%" align="center" valign="middle">Eliminar</th> </tr> </thead> <tbody> <tr> <?php // Obtener el puesto del empleado //$idempleado = $_SESSION["idusuario"]; $varDelegado = 0; if (isset($_SESSION['iddelegado'])) { $varDelegado = $_SESSION['iddelegado']; } $idempleado = verificaSesion($_SESSION["idusuario"], $varDelegado); //$idempleado = verificaSesion($_SESSION["idusuario"], $_SESSION["iddelegado"]); error_log("Empleado retornado: " . $idempleado); $usuarioActivo = new Usuario(); $usuarioActivo->Load_Usuario_By_ID($idempleado); $nombreUsuario = $usuarioActivo->Get_dato("u_paterno") . " " . $usuarioActivo->Get_dato("u_materno") . " " . $usuarioActivo->Get_dato("u_nombre"); $id_empresa = $usuarioActivo->Get_dato("u_empresa"); ?> <td><div id='renglon1' name='renglon1'>1</div><input type="hidden" name="row1" id="row1" value="1" readonly='readonly'/></td> <td><input type="hidden" name="nombre1" id="nombre1" value="<?php echo $nombreUsuario; ?> " /><?php echo $nombreUsuario; ?> </td> <td><?php $cnn = new conexion(); $query = sprintf("SELECT npuesto FROM empleado WHERE idfwk_usuario='%s'", $idempleado); $rst = $cnn->consultar($query); $fila = mysql_fetch_assoc($rst); echo $fila['npuesto']; ?> <input type="hidden" name="puesto1" id="puesto1" value="<?php echo $fila['npuesto']; ?> " /></td> <td aling="center"><?php // Obtener el nombre de la empresa $cnn = new conexion(); $query2 = sprintf("SELECT e_nombre FROM empresas WHERE e_id='%s'", $id_empresa); $rst2 = $cnn->consultar($query2); $filab = mysql_fetch_assoc($rst2); echo $filab['e_nombre']; ?> <input type="hidden" name="empresa1" id="empresa1" value="<?php echo $filab['e_nombre']; ?> " /></td> <td aling="center">BMW<input type="hidden" name="tipo1" id="tipo1" value="BMW" /></td> <td><div align='center'><img id="1del" class="elimina" style="cursor:pointer;" onmousedown="borrarPartida(this.id);" name="1del" alt="Click aquí para Eliminar" src="../../images/delete.gif"></div><div align="center">Eliminar Partida</div></td> </tr> <!-- cuerpo tabla--> </tbody> </table> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td colspan="2">Número de invitados<span class="style1">*</span>: <input type="text" name="numInvitadosDisabled" id="numInvitadosDisabled" value="1" size="15" disabled="disabled" /> <input type="hidden" name="numInvitados" id="numInvitados" value="1" size="15" readonly="readonly" /></td> <td> </td> <td> </td> </tr> </table> <br/> <br/> <table width="785" border="0" align="center" cellspacing="1"> <tr> <td width="3%"> </td> <td width="15%"> </td> <td width="24%"> </td> <td width="23%"> </td> <td width="34%"> </td> <td width="1%"> </td> </tr> <tr> <td> </td> <td colspan="3">Total Monto solicitado<span class="style1">*</span>: <!--<input name="monto_solicitado_invitacion" type="text" id="monto_solicitado_invitacion" maxlength="100" value="0.00" onkeydown="aux2 = validaNum2(event); return validaNum(event);" onkeypress="" onkeyup="recalculaMontos(); if(aux2 != 'ok'){this.value = format_input(this.value);}" onchange="recalculaMontos();"/>--> <!--<input name="monto_solicitado_invitacion" type="text" id="monto_solicitado_invitacion" maxlength="100" value="0" onkeydown="/*aux2 = validaNum2(event); return validaNum(event);*/" onkeypress="return NumCheck(event, this);" onkeyup="recalculaMontos(); /*if(aux2 != 'ok'){this.value = format_input(this.value);}*/" onchange="recalculaMontos();"/>--> <input name="monto_solicitado_invitacion" type="text" id="monto_solicitado_invitacion" maxlength="100" value="0" onkeydown="" onkeypress="" onkeyup="revisaCadena(this); recalculaMontos();" onchange="recalculaMontos();"/> </td> <td>Divisa<span class="style1">*</span>: <select name="divisa_solicitud_invitacion" id="divisa_solicitud_invitacion" onchange="recalculaMontos();"> <option value="-1">Seleccione...</option> <option value="1">MXN</option> <option value="2">USD</option> <option value="3">EUR</option> </select></td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td colspan="3">Total en Pesos: <input type="text" name="tpesosdisabled" id="tpesosdisabled" value="0.00" size="15" disabled="disabled" /> <input type="hidden" name="tpesos" id="tpesos" value="0.00" size="15" readonly="readonly" /> MXN<div id="capaWarning"></div></td> <td>Ciudad<span class="style1">*</span>: <input name="ciudad_invitacion" type="text" id="ciudad_invitacion" maxlength="100" /></td> <td><input type="hidden" name="banderavalida" id="banderavalida" readonly="readonly" /></td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td colspan="3">Centro de Costos<span class="style1">*</span>: <select name="ccentro_costos" id="ccentro_costos" onchange="getCentroCostos();"> <option id="-1" value="-1">Seleccione...</option> <?php $query = sprintf("SELECT cc_id,cc_centrocostos,cc_nombre FROM cat_cecos WHERE cc_estatus = '1' AND cc_empresa_id = '" . $_SESSION["empresa"] . "' order by cc_centrocostos"); $var = mysql_query($query); while ($arr = mysql_fetch_assoc($var)) { echo sprintf("<option value='%s'>%s - %s</option>", $arr['cc_id'], $arr['cc_centrocostos'], $arr['cc_nombre']); } ?> <td> </td> <td> </td> </tr> <?php $tramite = $_GET['edit2']; $FTramite = new Tramite(); $FTramite->Load_Tramite($tramite); $tEtapa = $FTramite->Get_dato("t_etapa_actual"); $tAutorizacionesHistorial = $FTramite->Get_dato("t_autorizaciones_historial"); // error_log("Tramite: ".$tramite); // error_log("Etapa del tramite: ".$tEtapa); if ($tEtapa == SOLICITUD_INVITACION_ETAPA_RECHAZADA || $tEtapa == SOLICITUD_INVITACION_ETAPA_RECHAZADA_POR_DIRECTOR || $tAutorizacionesHistorial != "") { ?> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td align="right" valign="top">Historial de Observaciones:</td> <td colspan="3" rowspan="1" class="alignLeft" > <textarea name="historial_observaciones" id="historial_observaciones" cols="80" rows="5" readonly="readonly" onkeypress="confirmaRegreso('historial_observaciones');" onkeydown="confirmaRegreso('historial_observaciones');"></textarea> </td> </tr> <?php } ?> <tr> <td><input type="hidden" name="etapa" id="etapa" value="<?php echo $tEtapa; ?> " /></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td align="right" valign="top"><div id="obsjus">Observaciones:</div></td> <td colspan="3" ><div id="areatext"><textarea name="observ" cols="80" rows="5" id="observ"></textarea></div></td> <td> </td> </tr> </table> </center> <br /> <div align="center"></div> <?php }
$tramite = $_POST['noSolicitud']; $query = sprintf("SELECT sg_motivo, sg_monto, sg_divisa, sg_ceco, sg_ciudad, sg_monto_pesos, \r\n\t\t\t\t\t%s AS sg_fecha_gasto, sg_lugar, cc_centrocostos, FORMAT(sg_monto_pesos, 2) AS montoPesos, \r\n\t\t\t\t\tIF(t_etapa_actual = %s, sg_observaciones_edicion, sg_observaciones) AS observaciones, \r\n\t\t\t\t\tsg_observaciones, sg_observaciones_edicion, sg_requiere_anticipo, sg_concepto, t_etapa_actual \r\n\t\t\t\t\tFROM solicitud_gastos \r\n\t\t\t\t\tJOIN tramites ON sg_tramite = t_id \r\n\t\t\t\t\tJOIN cat_cecos ON sg_ceco = cc_id \r\n\t\t\t\t\tWHERE sg_tramite = '%s'", "DATE_FORMAT(sg_fecha_gasto,'%d/%m/%Y')", SOLICITUD_GASTOS_ETAPA_SIN_ENVIAR, $tramite); //error_log("--->> Carga del gasto: ".$query); $rst = $cnn->consultar($query); while ($fila = mysql_fetch_assoc($rst)) { $_arreglo[] = array('motivo' => utf8_encode($fila['sg_motivo']), 'monto' => $fila['sg_monto'], 'divisa' => $fila['sg_divisa'], 'ceco' => $fila['cc_centrocostos'], 'ciudad' => utf8_encode($fila['sg_ciudad']), 'observaciones' => utf8_encode($fila['sg_observaciones']), 'observaciones_edicion' => utf8_encode($fila['sg_observaciones_edicion']), 'fecha_gasto' => $fila['sg_fecha_gasto'], 'lugar' => utf8_encode($fila['sg_lugar']), 'etapaActual' => $fila['t_etapa_actual'], 'requiere_anticipo' => $fila['sg_requiere_anticipo'], 'concepto' => $fila['sg_concepto'], 'montoPesos' => $fila['montoPesos']); } echo json_encode($_arreglo); } // Verificar si el usuario es un director if (isset($_POST['idUsuario'])) { $cnn = new conexion(); $idUsuario = $_POST['idUsuario']; $esDirector = 0; $rutaAutorizacion = new RutaAutorizacion(); $nivel = $rutaAutorizacion->nivelEmpleado($idUsuario); if ($nivel == DIRECTOR_GENERAL) { $esDirector = 1; } //error_log("--->>Es director: ".$esDirector." nivel del usuario: ".$nivel); echo $esDirector; } // Carga de datos del Usuario if (isset($_POST['idusuario'])) { $cnn = new conexion(); $idUsuario = $_POST['idusuario']; $_arreglo = array(); $i = 0; $query = sprintf("SELECT DISTINCT nombre, npuesto, e_nombre, IF(u_interno = 1, 'Interno', 'Externo') as tipo\r\n\t\t\tFROM empleado\r\n\t\t\tINNER JOIN usuario ON (u_id = idfwk_usuario)\r\n\t\t\tINNER JOIN empresas ON (u_empresa = e_id)\r\n\t\t\tWHERE u_id = '%s'", $idUsuario); //error_log("--->>Consulta Usario: ".$query); $rst2 = $cnn->consultar($query);