var oHomeMenu = oHomeMenu || {}; /** * @param prm * Object que puede ser una función callback o prm.fnCallback, se * acepta cualquiera de las dos */ oHomeMenu.fnSelProductor = function (prm) { if (oGlobal.menuQNect) { MessageAlert.messagePopupFunctionCall('Menú QNect', 'No se ha seleccionado Productor.' + ' Se enviará a la página principal.', function () { // Limpia el productor en la sesión oGen.fnAbandonaTransaccion({ toUrl : 'ovError', confirmacion: false }); }, 100, 20); return; } // No es la pagina del HOME if (window.location.pathname.lastIndexOf('do/vm/ovQbe_home') < 0) { if (!oGlobal.productor.NOMBRE != "") { // Se enviár al HOME oGen.fnBloqueoUnicoHide(); MessageAlert.messagePopupFunctionCall('Trabajar   Como', 'No se ha seleccionado Productor.
\n' + 'Se enviará a la página principal.', function () { // Limpia el productor en la sesión oGen.fnAbandonaTransaccion({ toUrl : 'ovError', confirmacion: false }); }); return; } // NO está en el menú, una vez que cambie de Productor se debe enviar al // home MessageAlert.confirmation('Trabajar   Como', // 'Si cambia de Productor regresará a la Página Inicial de la Oficina Virtual Individuos.
\n' + '¿Desea cambiar el Productor?', function () { // Limpia el productor en la sesión oGen.fnSetSession({ key: 'productor', value: 'null', fnCallback: function () { // Enviá al home oGen.fnAbandonaTransaccion({ toUrl : 'ovError', confirmacion: false }); } }, null, null, null, 0, 30); }); return; } // estamos en el HOME oGen.fnGetStore({ titulo: ' ', params: { prm_dataSource: 'ovQbe', prm_funcion: 'ovMqUsuario.getRolesAdministrativos', prm_usuario: oGlobal.QNect.aisUserCode || oGlobal.cUsuario }, fnCallback: function (oResp) { if (!oResp.success || !oResp.records || oResp.records.length == 0) { MessageAlert.confirmation('Sistema de Seguridad', 'No ha sido posible obtener '// + 'su perfil de usuario y roles.
\n' // + '¿Desea insistir?', function () { // Hace lo mismo que F5 location.reload(); }, null, 'Salir', function () { oGen.fnLogout(); }, null, null, null, 0, 30); return; } // Con los datos obtenidos del servicio se carga la siguiente // consulta var bCancelable = (oGlobal.productor.NOMBRE != ""); oConsulta.show({ titulo: 'Trabajar   Como', consulta: 'OV_ROLES_ADMIN', cancelable: bCancelable, data: oResp.records, fnCallback: function (row) { oGlobal.productor = row; oGen.fnSetProductor(); // Set productor en las variables de sesión oGen.fnSetSession({ values: [{ key: 'productor', value: JSON.stringify(row) }, { key: 'clientSec', value: row.CLIENSEC }, { key: 'clientLevel', value: row.NIVEL }] }); if (prm) { if (typeof prm == 'function') prm(); else if (typeof prm.fnCallback == 'function') prm.fnCallback(); } } }); } }); }; /** *

* Si existe la componente con el id DIALOG-POPUP, se muestra después de * verificar todo lo demás, solo si está en la opción de MENU *

*/ oHomeMenu.fnShowPopupInicio = function () { // Sale si no es la opción de menú if ((window.location.pathname.lastIndexOf('do/vm/ovQbe_home') < 0) && (window.location.pathname.lastIndexOf('do/vm/andresHome') < 0)) { // console.log('No está ovQbe_home'); return true; } var div = $('#DIALOG-POPUP-MENU'); // No hay menú if (div.length == 0) { // console.log('No está el dialogo DIALOG-POPUP'); return true; } div.modal('show'); }; oHomeMenu.fnLeeCanal = function () { console.log(' ov.paOVSqlGenAPI.p_parov_canales->prm_instacod :', oGlobal.ais.BANCOCOD); // Carga canales en la oGlobal oGen.fnGetStore({ titulo: 'Lee Canales de Venta', params: { prm_dataSource: 'ovQbe', prm_funcion: 'ov.paOVSqlGenAPI.p_parov_canales', prm_instacod: oGlobal.ais.BANCOCOD }, fnCallback: function (data) { // Carga los productos una vez que tiene los canales definidos if (data.records.length == 0) { // oGlobal.ais.GRUPOHSBC = "N"; oGlobal.canales = { CANALHSBC: "N" }; } else { oGlobal.canales = data.records[0]; console.log(' ov.paOVSqlGenAPI.p_parov_canales->oGlobal.canales :', oGlobal.canales); } } }); }; oHomeMenu.setUserProfile = function () { /* * Consulta el perfil de usuario para establecer los permisos al menú. * Además trae el tipo de usuario o NIVEL. */ // Si no es producción y href es void(0), poner el click también if (oGlobal.ambiente == 'PROD') { // Deshabilita las opciones de menú en Producción $('.enConstruccion').on('click', function (e) { var hRef = $(e.target); MessageAlert.messagePopup('Oficina Virtual   Individuos', 'La opción:

' // + '' + hRef.html() + '

' + 'aún no está disponible.'); }); $('.enConstruccion').attr('href', '#'); } // Si no estamos en el menú de QNECT se muestran todos los div o secciones // que tengan la clase qbeNoQNect if (!oGlobal.menuQNect) $('.qbeNoQNect').attr('style', 'display:inherit;'); /* * Denuncia Hogar no se usa desde OV, y no debe llamar a * paConsultaMqGestion.perfilUsuario */ if (window.location.pathname.lastIndexOf('do/vm/ovQbe_denunciaHogar') >= 0) return; oGen.fnGetStore({ titulo: ' ', params: { prm_dataSource: 'ovQbe', prm_funcion: 'paConsultaMqGestion.perfilUsuario', prm_usuario: oGlobal.QNect.aisUserCode || oGlobal.cUsuario }, fnCallback: function (oResp) { if (!oResp.success) { //oGen.fnBloqueaHide(); if (oGlobal.menuQNect) { if(oGlobal.isOneEnv()){ oGen.fnAbandonaTransaccion({ confirmation: false, toUrl: 'ovError' }); } else { MessageAlert.messagePopupFunctionCall('Perfil de Usuario', 'No se pudo cargar su Perfil de Usuario.
\n' // + 'Se redireccionará a la página de Conexión.'); } } else { // Se envia al HOME oGen.fnSalir({ titulo: 'Perfil de Usuario', mensaje: 'No se pudo cargar su Perfil de Usuario.
\n' // + 'Se redireccionará a la página de Conexión.' }); } return; } $.each(oResp.ACCESO, function (idx, value) { $('#ovMenu_' + value.MMENU).show(); }); console.log(" ovQbe_homeMenuJS.js -> oGlobal.ais", oGlobal.ais.BANCONOM); oGlobal.ais = oGlobal.ais || {}; var data = oResp.records[0]; oGlobal.ais.USER_NIVEL = data.USER_NIVEL; oGlobal.ais.BANCOCOD = data.BANCOCOD; oGlobal.ais.BANCONOM = data.BANCONOM; oGlobal.ais.CLIENTIP = data.CLIENTIP; oGlobal.ais.GRUPOHSBC = data.GRUPOHSBC; oGlobal.ais.EXTERNALUSERFLAG = (data.CLIENTIP === "I" ? "false" : "true"); oGlobal.ais.TIPOUSUARIO = (data.CLIENTIP == "I" ? "I" : "E"); console.log('CANAL LOGIN', oGlobal.ais, oGlobal.ais.GRUPOHSBC); oHomeMenu.fnLeeCanal(); oGen.fnSetSession({ values: [{ key: 'USER_NIVEL', value: data.USER_NIVEL }, { key: 'BANCOCOD', value: data.BANCOCOD }, { key: 'BANCONOM', value: data.BANCONOM }, { key: 'CLIENTIP', value: data.CLIENTIP }, { key: 'GRUPOHSBC', value: data.GRUPOHSBC }, { key : 'EXTERNALUSERFLAG', value : oGlobal.ais.EXTERNALUSERFLAG }, { key : 'TIPOUSUARIO', value : oGlobal.ais.TIPOUSUARIO }], fnCallback: function (oResp) { // Una vez que estas variables están en la sesión oGlobal.cNombre = data.USUARNOM; $('#homeMenu_cNombreID').html(data.USUARNOM); // Consulta los roles permitidos del usuario Administrativo if (oGlobal.ais.USER_NIVEL == 'A') { // Menu superior, activa Productor $.each($('.qbeHeaderSection').find('.ovMenu_productor'), function (idx, item) { $(item).show(); }); // Inicializa el CLICK del menú $('a[class=ovMenu_productor]').on('click', function (event) { oHomeMenu.fnSelProductor(); }); } /* * Verifica si es ROL ADMINISTRATIVO. Esto podría haber sido * definido ya en QNECT. */ if (oGlobal.QNect.aisUserCode && oGlobal.QNect.clientLevel && oGlobal.QNect.clientSec) { // Si está correctamente conectado desde QNECT y además // viene el productor seleccionado oGen.fnGetStore({ titulo: 'Rol Administrativo QNect', params: { prm_dataSource: 'ovQbe', prm_funcion: 'ovMqUsuario.getRolesAdministrativos', prm_USUARIO: oGlobal.QNect.aisUserCode, prm_NIVEL: oGlobal.QNect.clientLevel, prm_CLIENTSEC: oGlobal.QNect.clientSec }, fnCallback: function (oResp) { // Se espara que traiga UN SOLO PRODUCTOR if (!oResp.success || oResp.records.length != 1) { MessageAlert.messagePopup('Rol Administrativo', // 'No se pudo verificar productor seleccionado'); oHomeMenu.fnSelProductor(function () { oHomeMenu.fnShowPopupInicio(); }); return; } oGlobal.productor = oResp.records[0]; oGen.fnSetProductor(); // Set productor en las variables de sesión oGen.fnSetSession({ key: 'productor', value: JSON.stringify(oGlobal.productor) }); // Muestra el POPUP inicial en el menú oHomeMenu.fnShowPopupInicio(); oGlobal.initialize(); } }); } else { if (oGlobal.ais.USER_NIVEL == 'A') { // Cargar un productor si no está definido en la // sesión if (oGlobal.productor.NOMBRE != "") oHomeMenu.fnShowPopupInicio(); else { oHomeMenu.fnSelProductor(function () { oHomeMenu.fnShowPopupInicio(); }); } } else { if (!oGlobal.productor.NOMBRE != "") { oGlobal.productor = { NOMBRE: oGlobal.cNombre, NIVEL: '', CLIENSEC: '' }; } } oGlobal.initialize(); } } }); } }); }; oHomeMenu.doubleClick_timeOut = null; oHomeMenu.fnDoubleClick = function () { var $div = $('
'); $div.attr('id', 'stopClick'); $div.css({ 'position': 'fixed', 'top': '-1px', 'right': '-1px', 'bottom': '-1px', 'left': '-1px', 'display': 'none', 'cursor': 'wait', // Otra opcion -> not-allowed 'background-color': 'rgba(0 ,0 , 0, 0)', 'z-index': '99999' }); $div.click(function (e) { // console.log("ignorando click."); }); $('body').append($div); $('body').click(function (e) { if (e.target !== undefined) { var $target = $(e.target); if ($target.attr('id') !== undefined || $target.attr('id') != 'stopClick') { if ($target.data('dbclick') === undefined || !$target.data('dbclick')) { var diferencia = e.timeStamp - $("#stopClick").data('lastClick'); $("#stopClick").data('lastClick', e.timeStamp); if (!(diferencia <= 400)) { // console.log("single click detected"); $("#stopClick").show(); oHomeMenu.doubleClick_timeOut = setTimeout(function () { $("#stopClick").hide(); }, 400); } else { // console.log("double click detected"); clearTimeout(oHomeMenu.doubleClick_timeOut); oHomeMenu.doubleClick_timeOut = setTimeout(function () { $("#stopClick").hide(); }, 400); } } } } }); // Fix para los checkbox de bootstrap $('body').on('switchChange.bootstrapSwitch', '.bootstrap-switch', function () { $('body').trigger('click'); }); }; $(document).ready(function () { oGen.fnBloqueoUnico(); oHomeMenu.setUserProfile(); oHomeMenu.fnDoubleClick(); oGen.fnBloqueoUnicoHide(); });