/* * Denuncia - Búsqueda de Pólizas * Autor: Nicolás Fracchia * Modificado: Rodrigo Sobrero */ /*jslint browser: true*/ /*global $, jQuery, alert, console, MessageAlert, oGen, oGlobal, oConsulta, denunciaSiniestro, oPolizaDenuncia, oPolizaDatosGral*/ // Objeto oPolizaBusq var oPolizaBusq = oPolizaBusq || {}, oPoliSearch = oPoliSearch || { varPolizaSeleccionada: "", TIPOSINIESTRO: "", // autos (AU) - riesgos varios (RV) - bolso protegido (BP) varOpcion1Seleccionada: "", varOpt_SINIECOD: "", varOpt_SINIECAU: "", varOpt_SINIECAU_DES: "", varOpt_SINIETPO: "", varOpt_SINIETPO_DES: "", varOpt_RAMOPCOD: "", varOpt_POLIZANN: "", varOpt_POLIZSEC: "", varOpt_CERTIPOL: "", varOpt_CERTIANN: "", varOpt_SUPLENUM: "", varOpt_SITUCPOL: "", // variables de formulario inicial CLIENSEC: "", inicial_dSiniestro: "", inicial_txHoraSin: "", inicial_paisCOD: "", inicial_provinciaCOD: "", inicial_paisDES: "", inicial_provinciaDES: "", inicial_localidad: "", inicial_cbTpBusqueda: "", inicial_cbProducto: "", inicial_txPoliza: "", inicial_txCertificado: "", inicial_txPatente: "", inicial_cbTpDocumento: "", inicial_txDocumento: "", inicial_txApellido: "", inicial_cbTpSiniestro: "", inicial_b64CROQUIS: "", inicial_b64BOLLOS: "", poliza_seleccionada_completo: "", formatearFechaSiniestro: function () { return this.inicial_dSiniestro.split('/').reverse().join("") } }; // Array para talleres oPoliSearch.taller = []; oPoliSearch.taller["001"] = []; oPoliSearch.taller["002"] = []; oPoliSearch.taller["003"] = []; // Oculta y muestra campos según tipo de búsqueda oPolizaBusq.fnTipoBusqueda = function () { "use strict"; // Variables de inicialización var sTipoBusqueda = $("#cbTpBusqueda").val(); // Oculta campos del formulario oGen.fnHideParent("cbProducto"); oGen.fnHideParent("cbTpDocumento"); oGen.fnHideParent("txApellido"); oGen.fnHideParent("txCertificado"); oGen.fnHideParent("txDocumento"); oGen.fnHideParent("txPatente"); oGen.fnHideParent("txPoliza"); // Vacia campos del formulario oGen.fnLimpiaCampos("formBusqueda"); // switch (sTipoBusqueda) { case "cliente": oGen.fnShowParent("cbTpDocumento"); oGen.fnShowParent("txApellido"); oGen.fnShowParent("txDocumento"); break; case "patente": oGen.fnShowParent("txPatente"); break; case "poliza": oGen.fnShowParent("cbProducto"); oGen.fnShowParent("txPoliza"); $("#cbProducto").change(function () { oPolizaBusq.fnTipoProducto(); }); break; } }; // Carga combo "Tipo de Documento" oPolizaBusq.fnCargaComboDocumento = function () { "use strict"; oGen.fnComboCarga({ titulo: "Tipo de Documento", idComponente: "cbTpDocumento", params: { prm_dataSource: "ovQbe", prm_funcion: "ov.paDenunciaSiniestro.tipoDoc" }, valorSeleccionado: 1, valor: "DOCUMTIP", descripcion: function (reg) { if (reg.DOCUMTIP <= 5) { return reg.DOCUMDAB; } else { return reg.DOCUMDES; } } }); }; // Carga combo "Producto" oPolizaBusq.fnCargaComboProducto = function () { "use strict"; oGen.fnComboCarga({ titulo: "Producto", idComponente: "cbProducto", params: { prm_dataSource: "ovQbe", prm_funcion: "ov.SINIMQGEN.getComboRamo", prm_ciaascod: 1, prm_usuarcod: oGlobal.cUsuario, prm_canalHsbc: oGlobal.ais.BANCOCOD }, descripcion: function (row) { return row.RAMOPCOD + " - " + row.RAMOPDAB; }, valor: "RAMOPCOD" }); }; // Inicia campo "Fecha de Siniestro" oPolizaBusq.fnIniciaDatePicker = function () { "use strict"; oGen.fnNewDatePicker("dSiniestro", { dateFormat: "dd/mm/yy", changeMonth: true, changeYear: true, yearRange: "-26:+150", maxDate: "+0m +0w", muestraError: false }); }; // Muestra campo "Certificado" según campo "Producto" oPolizaBusq.fnTipoProducto = function () { "use strict"; var sProducto = $("#cbProducto").val(), sProductoArr = ["APR1", "AUD1", "AUI1", "AUP1", "AUS1", "ALA1", "ALM1", "ALP1", "ALT1", "APL1", "APB1", "API1", "APM1", "APT1", "INH1", "IHT1", "ICI1", "AMM1", "PRI1", "HOM1"], sProductoRes = $.inArray(sProducto, sProductoArr); if (sProductoRes === -1) { oGen.fnHideParent("txCertificado"); } else { oGen.fnShowParent("txCertificado"); } }; // Valida y realiza consulta oPolizaBusq.fnListadoPolizas = function () { "use strict"; oGen.fnPanelErrorRemove(); var siniestroTipo = $("#cbTpSiniestro").val(); var cbTpBusqueda = $("#cbTpBusqueda").val(), cbTpSiniestro = $("#cbTpSiniestro").val(), cbTpDocumento = $("#cbTpDocumento").val(), cbProducto = $("#cbProducto").val(), txApellido = $("#txApellido").val(), txCertificado = $("#txCertificado").val(), txDocumento = $("#txDocumento").val(), txPatente = $("#txPatente").val(), txPoliza = $("#txPoliza").val(), dSiniestro = $("#dSiniestro").val(), sFecha = dSiniestro.split("/"), sFechaInie = sFecha[2] + sFecha[1] + sFecha[0]; var fechaHoy = new Date(oGlobal.sys_date).setHours(0, 0, 0, 0); var fechaSiniestro = new Date(sFecha[2], sFecha[1] - 1, sFecha[0]).getTime() switch (cbTpBusqueda) { case "": oGen.fnShowError({ idComponente: "cbTpBusqueda", mensaje: oGen.fnPanelErrorAdd("Seleccione un parámetro de búsqueda", 'cbTpBusqueda') }); break; case "cliente": if (cbTpDocumento !== "") { if (txDocumento.length < 1) { oGen.fnShowError({ idComponente: "txDocumento", mensaje: oGen.fnPanelErrorAdd("Ingrese un número de documento válido", 'txDocumento') }); } else { oGen.fnHideError("txDocumento"); } } if (cbTpDocumento === "" && txDocumento === "" && txApellido === "") { oGen.fnPanelErrorAdd("Ingrese número de documento o apellido / razón social", 'cbTpDocumento'); } else { oGen.fnHideError("txDocumento"); } break; case "patente": if (siniestroTipo !== "AU") { oGen.fnShowError({ idComponente: "cbTpSiniestro", mensaje: oGen.fnPanelErrorAdd("El parámetro ingresado no es válido para el tipo de siniestro.", 'cbTpSiniestro') }); oGen.fnPanelErrorShow(); return false; } else { if (txPatente !== "") { { if (!oGen.fnValidarFormatoPatente("txPatente")) { oGen.fnShowError({ idComponente: "txPatente", mensaje: oGen.fnPanelErrorAdd("Ingrese una patente válida", 'txPatente') }); } else { oGen.fnHideError("txPatente"); } } } else if (txPatente === "") { oGen.fnShowError({ idComponente: "txPatente", mensaje: oGen.fnPanelErrorAdd("Ingrese un número de patente", 'txPatente') }); } } break; case "poliza": if (cbProducto === "") { oGen.fnShowError({ idComponente: "cbProducto", mensaje: oGen.fnPanelErrorAdd("Seleccione un producto", 'cbProducto') }); } else { oGen.fnHideError("cbProducto"); } if (txPoliza.length < 8) { oGen.fnShowError({ idComponente: "txPoliza", mensaje: oGen.fnPanelErrorAdd("Ingrese número de Póliza sin guiones (8 dígitos)", 'txPoliza') }); } else { oGen.fnHideError("txPoliza"); } if (oGen.fnIsVisibleParent("#txCertificado")) { if (txCertificado.length > 0 && txCertificado.length < 14) { oGen.fnShowError({ idComponente: "txCertificado", mensaje: oGen.fnPanelErrorAdd("Ingrese número de Certificado sin guiones (14 dígitos)", 'txCertificado') }); } else { oGen.fnHideError("txCertificado"); } } break; } if (oGen.fnIsVisibleParent("dSiniestro")) { if (!oGen.fnValidaFecha(dSiniestro)) { oGen.fnShowError({ idComponente: "dSiniestro", mensaje: oGen.fnPanelErrorAdd("Ingrese una fecha válida", 'dSiniestro') }); } else if (fechaSiniestro > fechaHoy) { oGen.fnShowError({ idComponente: "dSiniestro", mensaje: oGen.fnPanelErrorAdd("'Fecha del siniestro' no puede ser posterior al día de hoy.", 'dSiniestro') }); } else oGen.fnHideError("dSiniestro"); } if (oGen.fnIsVisibleParent("cbTpSiniestro")) { if (cbTpSiniestro === "") { oGen.fnShowError({ idComponente: "cbTpSiniestro", mensaje: oGen.fnPanelErrorAdd("Seleccione un tipo de siniestro", 'cbTpSiniestro') }); } else { oGen.fnHideError("cbTpSiniestro"); } } if (oGen.fnPanelErrorCount() > 0) { oGen.fnPanelErrorShow(); return false; } $("#SectionResultado").fadeIn(1000); //Asigna el estilo del hover en la grilla. Si es INTRANET no le asigna el estilo. oConsulta.fnCursorPointer = function () { if (oGlobal.aplicacion !== 'INTRANET') { return { classes: 'consultaCursorPointer' }; } else { return { classes: '' }; } }; oGen.fnBloqueaShow(); // Realiza la búsqueda oConsulta.show({ consulta: "OV_CONSULTA_SINIBUSCACLIENTE", dataSource: "ovQbe", idComponente: "divDatosConsulta", titulo: "Consulta Denuncia de Siniestro", estilo: "grillaSmall", exportar: true, busqueda: true, paramsDefault: { prm_usuarcod: oGlobal.cUsuario, prm_nivelclas: oGlobal.productor.NIVEL, prm_cliensecas: oGlobal.productor.CLIENSEC, prm_nivelcla1: "", prm_cliensec1: "", prm_nivelcla2: "", prm_cliensec2: "", prm_nivelcla3: "", prm_cliensec3: "", prm_ramo: cbProducto, prm_poliza: txPoliza, prm_certif: txCertificado, prm_patente: txPatente, prm_apellido: txApellido, prm_documtip: cbTpDocumento, prm_documdat: txDocumento, prm_fechasinie: sFechaInie, prm_tiposinie: cbTpSiniestro, prm_swbusca: oGlobal.ais.SWBUSCA, prm_orden: "A", prm_columna: "1", prm_nroqry: "0", prm_retoma: "" }, columnStyle: [{ CNOMBRECAMPO: "NPOLIZA", style: "oConsulta.fnCursorPointer" }, { CNOMBRECAMPO: "CLIENDES", style: "oConsulta.fnCursorPointer" }], fnCallbackBeforeLoad: function () { //pone en funcionamiento el tooltip bootstrap en la columna 8. setTimeout(function () { $('[data-toggle="tooltip"]').tooltip(); }, 50); }, fnCallback: function (row, nCol) { oPolizaBusq.sCliDes = row.CLIENDES; oPolizaBusq.sRamopCod = row.RAMOPCOD; oPolizaBusq.sPol = row.POLIZANN + row.POLIZSEC; oPolizaBusq.sPolizAnn = row.POLIZANN; oPolizaBusq.sPolizSec = row.POLIZSEC; oPolizaBusq.sCertiPol = row.CERTIPOL; oPolizaBusq.sCertiAnn = row.CERTIANN; oPolizaBusq.sCertiSec = row.CERTISEC; oPolizaBusq.sSupleNums = row.SUPLENUM; oPolizaBusq.sRamo = row.RAMO; oPolizaBusq.sEstado = row.SITUCPOL; switch (nCol) { case 0: case 1: if (oGlobal.aplicacion !== "INTRANET") { oGen.fnCargaFormulario({ formulario: "ovQbe_polizaDatosGral", idComponente: "detailContainer", fnCallback: function () { oPolizaDatosGral.initialize(); } }, "quoteContainer"); } break; case 7: oPoliSearch.TIPOSINIESTRO = $("#cbTpSiniestro").val(); oPoliSearch.varOpt_RAMOPCOD = row.RAMOPCOD; oPoliSearch.varOpt_POLIZANN = row.POLIZANN; oPoliSearch.varOpt_POLIZSEC = row.POLIZSEC; oPoliSearch.varOpt_CERTIPOL = row.CERTIPOL; oPoliSearch.varOpt_CERTIANN = row.CERTIANN; oPoliSearch.varOpt_SUPLENUM = row.SUPLENUM; oPoliSearch.varOpt_SITUCPOL = row.SITUCPOL; oPoliSearch.varPolizaSeleccionada = row.CERTISEC; if (oPoliSearch.TIPOSINIESTRO === "AU") { oGen.fnBloqueaShow(); oGen.fnCargaFormulario({ formulario: "ovQbe_denunciaCargaPoliza", idComponente: "denunciaContainer", fnCallback: function () { $("#fechaSinVista").val($("#dSiniestro").val()); oGen.fnBloqueaHide(true); } }, "quoteContainer"); } else { oPoliSearch.varOpcion1Seleccionada = oPoliSearch.TIPOSINIESTRO; oPoliSearch.inicial_dSiniestro = $("#dSiniestro").val(); oGen.fnBloqueaShow(); oGen.fnCargaFormulario({ formulario: "ovQbe_denunciaSiniestro", idComponente: "denunciaContainer", fnCallback: function () { oGen.fnScrollTo(); oPoliSearch.muestraAcordeones(); denunciaSiniestro.funcionesReady(); oGen.fnBloqueaHide(); } }, "quoteContainer"); } break; case 8: if (row.SWSINIES === "S") { if (oGlobal.aplicacion !== "INTRANET") { oGen.fnBloqueaShow(); oGen.fnCargaFormulario({ formulario: "ovQbe_polizaDatosGral", idComponente: "detailContainer", fnCallback: function () { oPolizaDatosGral.initialize("siniestros"); oGen.fnBloqueaHide(); } }, "quoteContainer"); } else { } } break; case 9: if (String(row.SWEXIGIB) === "1") { if (oGlobal.aplicacion !== "INTRANET") { oPolizaBusq.fnDetalleExigible(row); } } break; } } }); }; // Botón exigible oPoliSearch.cargaExigibleListado = function (val, reg) { "use strict"; var sBoton = "", sSwexiGeb = String(reg.SWEXIGIB); if (sSwexiGeb !== "0") { sBoton = "" + "" + ""; } return sBoton; }; // Botón carga denuncia oPoliSearch.cargaPolizaSeleccionada = function () { "use strict"; var sBoton = "" + "" + ""; return sBoton; }; // Botón siniestro oPoliSearch.cargaSiniestrosListado = function (val, reg) { "use strict"; var sBoton = "", tooltip = "", title = "Siniestro", sSwsiNies = reg.SWSINIES; if (sSwsiNies === "S") { if (oGlobal.aplicacion === 'INTRANET') { tooltip = 'data-toggle="tooltip" data-placement="right" data-html="true"'; title = 'Ultimo Siniestro Abierto: ' + reg.FULTSTRO; } sBoton = ""; } return sBoton; }; // Modal consulta exigible oPolizaBusq.fnDetalleExigible = function (row) { "use strict"; oConsulta.show({ consulta: "OV_CONSULTA_EXIGIBLEDETPOLIZA", dataSource: "ovQbe", idComponente: "", titulo: "Consulta de Exigibles", estilo: "grillaSmall", exportar: true, busqueda: true, paramsDefault: { prm_usuario: oGlobal.cUsuario, prm_producto: row.RAMOPCOD, prm_poliza: row.POLIZANN + row.POLIZSEC, prm_certi: row.CERTIPOL + row.CERTIANN + row.CERTISEC } }); }; // Ejecuta al inicio $(document).ready(function () { "use strict"; // Title document.title = "Denuncia de Siniestro | Zurich Argentina eBusiness"; // Breadcrumb oGen.fnBreadCrumb(['Home', 'Siniestros', 'Denuncia']); // Oculta div con resultados de búsqueda $("#SectionResultado").hide(); oPolizaBusq.fnTipoBusqueda(); oPolizaBusq.fnCargaComboDocumento(); oPolizaBusq.fnCargaComboProducto(); oPolizaBusq.fnIniciaDatePicker(); oGen.fnInicioForms(false); $("#cbTpBusqueda").change(function () { oPolizaBusq.fnTipoBusqueda(); oGen.fnHideError("cbTpBusqueda"); oGen.fnPanelErrorRemove(); }); $("#SectionBusqueda a").click(oPolizaBusq.fnListadoPolizas); $("#SectionBusqueda").keypress(function (e) { if (e.which === 13) { $("#btnPolizaBusq").trigger("click"); } }); // Si el ambiente es INTRANET agrega bolso protegido, hogar y riesgos varios en las opciones de "Tipo de Siniestros" if (oGlobal.aplicacion === "INTRANET") { $("#cbTpSiniestro option:nth-child(3)").after(""); $("#cbTpSiniestro option:nth-child(4)").after(""); $("#cbTpSiniestro option:nth-child(5)").after(""); } });