{"id":2352,"date":"2020-06-30T07:01:05","date_gmt":"2020-06-30T10:01:05","guid":{"rendered":"https:\/\/clientes.visana.com.br\/sbdrj2\/busca-de-associados\/"},"modified":"2025-12-10T11:35:39","modified_gmt":"2025-12-10T14:35:39","slug":"busca-de-associados","status":"publish","type":"page","link":"https:\/\/clientes.visana.com.br\/sbdrj2\/busca-de-associados\/","title":{"rendered":"Busca de Associados"},"content":{"rendered":"\n<div class=\"sbd-localizador-wrap\">\n\n    <form class=\"sbd-form\" id=\"sbd-busca-form\">\n        <div class=\"sbd-grid\">\n\n            <div class=\"sbd-field\">\n                <label for=\"sbd_nome\">Nome do associado<\/label>\n                <input type=\"text\" id=\"sbd_nome\" name=\"sbd_nome\" placeholder=\"Ex.: Maria Silva\" \/>\n            <\/div>\n\n            <!-- UF fixa -->\n            <input type=\"hidden\" id=\"sbd_uf_id\" name=\"sbd_uf_id\" value=\"19\">\n            <input type=\"hidden\" id=\"sbd_uf_desc\" name=\"sbd_uf_desc\" value=\"RJ\">\n\n\t\t\t <div class=\"sbd-field\">\n                <label for=\"sbd_categoria\">Categoria<\/label>\n                <select id=\"sbd_categoria\" name=\"sbd_categoria\" disabled>\n                    <option value=\"0\">Todos<\/option>\n                <\/select>\n            <\/div>\n\n            <div class=\"sbd-field\">\n                <label for=\"sbd_municipio_id\">Munic\u00edpio<\/label>\n                <select id=\"sbd_municipio_id\" name=\"sbd_municipio_id\" disabled>\n                    <option value=\"0\">Todos<\/option>\n                <\/select>\n            <\/div>\n\n            <div class=\"sbd-actions\">\n                <button type=\"submit\">Buscar<\/button>\n                <button type=\"button\" id=\"sbd-clear-btn\">Limpar<\/button>\n            <\/div>\n\n        <\/div>\n    <\/form>\n\n    <div id=\"sbd-loading\" style=\"display:none; text-align:center; margin-top:12px;\">\n        <img decoding=\"async\" src=\"https:\/\/i.imgur.com\/llF5iyg.gif\" alt=\"Carregando...\" width=\"32\" height=\"32\" \/>\n    <\/div>\n    \n    <div id=\"sbd-resultados\" class=\"sbd-resultados\"><\/div>\n<\/div>\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;600;700&display=swap');\n\n.busca-associado-titulo {\n    color: #203B54;\n    font-size: 40px;\n    font-weight: 600;\n    font-family: \"Inter\", Sans-serif;\n    text-align: center;\n}\n.sbd-localizador-wrap { \n    background: #fff; \n    font-family: \"Inter\", Sans-serif;\n}\n.sbd-grid { \n    display: grid; \n    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); \n    gap: 12px; \n}\n.sbd-field label { \n    display: block; \n    font-weight: 600; \n    margin-bottom: 6px; \n}\n.sbd-field input, .sbd-field select { \n    width: 100%; \n    padding: 8px; \n    border: 1px solid #ccc; \n    border-radius: 8px; \n    font-size: 14px; \n    text-transform: capitalize;\n}\n.sbd-field option {\n    text-transform: capitalize;\n}\n.sbd-actions { \n    display: flex; \n    height: 60px; \n    justify-content: space-evenly; \n    gap: 10px; \n    align-items: flex-end;\n}\n.sbd-actions button { \n    background: #06579F; \n    color: #fff; \n    border: none; \n    padding: 10px 14px; \n    border-radius: 8px; \n    cursor: pointer; \n    font-size: 14px; \n}\n.sbd-actions #sbd-clear-btn { \n    background: #e0e0e0; \n    color: #333; \n}\n.sbd-resultados { \n    display: grid; \n    gap: 16px; \n    margin-top: 24px; \n}\n.sbd-resultado { \n\tmin-height: 250px;\n\theight: auto;\n    border: 1px solid #ddd; \n    border-radius: 8px; \n    background: #f9f9f9; \n\tgap: 10px;\n    display: flex; \n    flex-direction: row; \n    align-items: center; \n\toverflow: hidden;\n}\n.sbd-foto {\n\theight: 100% !important;\n\twidth: 250px;\n\taspect-ratio: 1;\n\tobject-fit: cover;\n}\n.sbd-resultado-textos { \n    display: flex; \n    flex-direction: column; \n\tpadding: 10px;\n}\n.sbd-resultado-nome { \n    font-weight: bold; \n    font-size: 18px; \n    color: #000; \n}\n.sbd-resultado p, li { \n    margin: 4px 0; \n    text-transform: capitalize; \n    font-size: 15px; \n    color: #000; \n}\n.sbd-paginacao { \n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    margin-top: 16px;\n}\n.sbd-paginacao button { \n    background: #1e73be; \n    color: #fff; \n    border: none; \n    padding: 10px 14px;\n    border-radius: 8px; \n    cursor: pointer; \n    font-size: 14px; \n}\n.label-span {\n\tfont-weight: 600;\n    color: #000; \n}\n\n@media (max-width: 600px) {\n\t.sbd-foto { \n\t\twidth: 100%;\n\t}\n\t.sbd-resultado { \n    \tflex-direction: column;\n\t\twidth: 80dvw;\n\t\theight: auto;\n\t\talign-self: center;\n\t}\n\t.sbd-resultado p, li { \n\t\tfont-size: 14px;\n\t}\n\t.sbd-resultado-nome {\n\t\ttext-align: center;\n\t}\n\t.sbd-paginacao {\n\t\tflex-wrap: wrap;\n\t}\n}\n\n<\/style>\n\n<script>\n(async function () {\n\n    const UF_ID = 19;\n    const UF_DESC = \"RJ\";\n\n    const categoriaSelect = document.getElementById('sbd_categoria');\n    const munSelect = document.getElementById('sbd_municipio_id');\n    const form = document.getElementById('sbd-busca-form');\n    const loading = document.getElementById('sbd-loading');\n    const resultados = document.getElementById('sbd-resultados');\n    const clearBtn = document.getElementById('sbd-clear-btn');\n\n    let municipiosFull = [];\n\n    async function buscaMunicipios() {\n        const url = \"https:\/\/clientes.visana.com.br\/sbdrj2\/wp-json\/sbd\/v1\/municipio?token=&uf=RJ\";\n\n        try {\n            const res = await fetch(url);\n            const json = await res.json();\n            municipiosFull = Array.isArray(json) ? json : (json.data || []);\n        } catch (err) {\n            console.error(\"Erro ao buscar munic\u00edpios:\", err);\n        }\n    }\n\n\tfunction populaCategorias(){\n\t\tconst categorias = [\n\t\t  { id: 1, categoria: \"Titular\" },\n\t\t  { id: 2, categoria: \"Aspirante\" },\n\t\t  { id: 3, categoria: \"Afiliado\" },\n\t\t  { id: 4, categoria: \"Correspondente\" },\n\t\t  { id: 5, categoria: \"Colaborador\" },\n\t\t  { id: 8, categoria: \"Contribuinte\" },\n\t\t  { id: 6, categoria: \"Honor\u00e1rio\" }\n\t\t];\n\t\t\n\t\tcategoriaSelect.innerHTML = '<option value=\"\">Todas<\/option>';\n\t\tcategorias.forEach(item => {\n                const opt = document.createElement('option');\n                opt.value = item.id;\n                opt.textContent = item.categoria;\n                categoriaSelect.appendChild(opt);\n            });\n\t\tcategoriaSelect.disabled = false;\n\t}\n\n    function populaMunicipios() {\n        munSelect.innerHTML = '<option value=\"0\">Todos<\/option>';\n\n        const filtrados = municipiosFull.filter(m => String(m.uf_id) === String(UF_ID));\n\n        filtrados\n            .sort((a, b) => a.descricao.localeCompare(b.descricao))\n            .forEach(m => {\n                const opt = document.createElement('option');\n                opt.value = m.id;\n                opt.textContent = m.descricao.toLowerCase();\n                munSelect.appendChild(opt);\n            });\n\n        munSelect.disabled = false;\n    }\n\n\t\/\/ Inicializa\u00e7\u00e3o\n\tpopulaCategorias();\n    await buscaMunicipios();\n    populaMunicipios();\n\n    let todosResultados = [], paginaAtual = 1, itensPorPagina = 10;\n\n    function renderLista() {\n        resultados.innerHTML = \"\";\n\n        const inicio = (paginaAtual - 1) * itensPorPagina;\n        const fim = inicio + itensPorPagina;\n\n        todosResultados.slice(inicio, fim).forEach(item => {\n\n            const div = document.createElement(\"div\");\n            div.className = \"sbd-resultado\";\n\n            div.innerHTML = `\n                <img class=\"sbd-foto\" src=${item.foto || \"https:\/\/clientes.visana.com.br\/sbdrj2\/wp-content\/uploads\/2025\/10\/logo_SBDRJ.jpg\"}>\n\t\t\t\t<\/div>\n                <div class=\"sbd-resultado-textos\">\n\t\t\t\t<p class=\"sbd-resultado-nome\">${item.nome || \"\"}${ \" (\" + item.categoria + \")\" || \"\"}<\/p>\n\t\t\t\t<ul> \n\t\t\t\t\t<li><span class=\"label-span\">CRM: <\/span>${item.crm || \"N\u00e3o informado\"}<\/li>\n\t\t\t\t\t<li><span class=\"label-span\">RQE: <\/span>${item.rqe || \"N\u00e3o informado\"}<\/li>\n\t\t\t\t\t<li>\n\t\t\t\t\t<p><span class=\"label-span\">Endere\u00e7o Comercial: <\/span>${item.endereco.length === 0 ? 'N\u00e3o informado' : ''}<\/p>\n        \t\t\t${(item.endereco || [])\n\t\t\t\t\t\t.map(e => `<p>${e.toLowerCase()}<\/p>`)\n\t\t\t\t\t\t.join(\"\")}\n\t\t\t\t\t<\/li>\n\t\t\t\t\t<li><span class=\"label-span\">Contato: <\/span>${item.telefone || \"N\u00e3o informado\"}<\/li>\n\t\t\t\t<\/ul>\n                <\/div>\n            `;\n\n            resultados.appendChild(div);\n        });\n\n        renderPaginacao();\n    }\n\n    function renderPaginacao() {\n    const pagDiv = document.createElement(\"div\");\n    pagDiv.className = \"sbd-paginacao\";\n\n    const totalPaginas = Math.ceil(todosResultados.length \/ itensPorPagina);\n    const blocoTamanho = 10;\n    const blocoAtual = Math.ceil(paginaAtual \/ blocoTamanho);\n\n    const inicioBloco = (blocoAtual - 1) * blocoTamanho + 1;\n    const fimBloco = Math.min(blocoAtual * blocoTamanho, totalPaginas);\n    if (blocoAtual > 1) {\n        const prevBtn = document.createElement(\"button\");\n        prevBtn.textContent = \"<<\";\n        prevBtn.addEventListener(\"click\", () => {\n            paginaAtual = (blocoAtual - 1) * blocoTamanho;\n            renderLista();\n        });\n        pagDiv.appendChild(prevBtn);\n    }\n\n    for (let i = inicioBloco; i <= fimBloco; i++) {\n        const btn = document.createElement(\"button\");\n        btn.textContent = i;\n\n        if (i === paginaAtual) btn.style.opacity = 0.6;\n\n        btn.addEventListener(\"click\", () => {\n            paginaAtual = i;\n            renderLista();\n        });\n\n        pagDiv.appendChild(btn);\n    }\n\n    if (fimBloco < totalPaginas) {\n        const nextBtn = document.createElement(\"button\");\n        nextBtn.textContent = \">>\";\n        nextBtn.addEventListener(\"click\", () => {\n            paginaAtual = fimBloco + 1;\n            renderLista();\n        });\n        pagDiv.appendChild(nextBtn);\n    }\n\n    resultados.appendChild(pagDiv);\n}\n\n\n    form.addEventListener(\"submit\", async e => {\n        e.preventDefault();\n\n        const formData = new FormData(form);\n\n        \/\/ UF fixa\n        formData.set(\"sbd_uf_id\", UF_ID);\n        formData.set(\"sbd_uf_desc\", UF_DESC);\n\t\tconst cepValue = formData.get(\"sbd_cep\");\n\t\tif (cepValue) {\n\t\t\tconst cepLimpo = cepValue.replace(\/\\D\/g, \"\");\n\t\t\tformData.set(\"sbd_cep\", cepLimpo);\n\t\t}\n\n\t\t\n        if (!formData.get(\"sbd_cep\")) formData.delete(\"sbd_cep\");\n        if (!formData.get(\"sbd_nome\")) formData.delete(\"sbd_nome\");\n        if (munSelect.value === \"0\") formData.delete(\"sbd_municipio_id\");\n\t\tif (categoriaSelect.value === \"\") formData.delete(\"sbd_categoria\");\n\n        const query = new URLSearchParams(formData);\n\n        loading.style.display = \"block\";\n        resultados.innerHTML = \"\";\n\n        try {\n            const res = await fetch(\"https:\/\/clientes.visana.com.br\/sbdrj2\/wp-json\/sbd\/v1\/busca-associados?\" + query.toString());\n            const data = await res.json();\n\n            loading.style.display = \"none\";\n\n            todosResultados = Array.isArray(data.resultados) ? data.resultados : [];\n\n            if (!todosResultados.length) {\n                resultados.innerHTML = '<p class=\"sbd-vazio\">Nenhum associado encontrado.<\/p>';\n                return;\n            }\n\n            paginaAtual = 1;\n            renderLista();\n\n        } catch (err) {\n            loading.style.display = \"none\";\n            resultados.innerHTML = '<p class=\"sbd-erro\">Erro na busca. Tente novamente.<\/p>';\n        }\n    });\n\n    clearBtn.addEventListener(\"click\", () => {\n        form.reset();\n        munSelect.innerHTML = '<option value=\"0\">Todos<\/option>';\n        resultados.innerHTML = \"\";\n        paginaAtual = 1;\n        populaMunicipios();\n    });\n\n})();\n<\/script>\n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"_acf_changed":false,"ngg_post_thumbnail":0,"footnotes":""},"class_list":["post-2352","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Busca de Associados - SBDRJ<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Busca de Associados - SBDRJ\" \/>\n<meta property=\"og:url\" content=\"https:\/\/clientes.visana.com.br\/sbdrj2\/busca-de-associados\/\" \/>\n<meta property=\"og:site_name\" content=\"SBDRJ\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-10T14:35:39+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/busca-de-associados\/\",\"url\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/busca-de-associados\/\",\"name\":\"Busca de Associados - SBDRJ\",\"isPartOf\":{\"@id\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/#website\"},\"datePublished\":\"2020-06-30T10:01:05+00:00\",\"dateModified\":\"2025-12-10T14:35:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/busca-de-associados\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/clientes.visana.com.br\/sbdrj2\/busca-de-associados\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/busca-de-associados\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Busca de Associados\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/#website\",\"url\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/\",\"name\":\"SBDRJ\",\"description\":\"Sociedade Brasileira de Dermatologia Regional Rio de Janeiro\",\"publisher\":{\"@id\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/#organization\",\"name\":\"SBDRJ\",\"url\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/wp-content\/uploads\/2025\/10\/logo_SBDRJ.jpg\",\"contentUrl\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/wp-content\/uploads\/2025\/10\/logo_SBDRJ.jpg\",\"width\":1920,\"height\":769,\"caption\":\"SBDRJ\"},\"image\":{\"@id\":\"https:\/\/clientes.visana.com.br\/sbdrj2\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Busca de Associados - SBDRJ","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"pt_BR","og_type":"article","og_title":"Busca de Associados - SBDRJ","og_url":"https:\/\/clientes.visana.com.br\/sbdrj2\/busca-de-associados\/","og_site_name":"SBDRJ","article_modified_time":"2025-12-10T14:35:39+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. tempo de leitura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/clientes.visana.com.br\/sbdrj2\/busca-de-associados\/","url":"https:\/\/clientes.visana.com.br\/sbdrj2\/busca-de-associados\/","name":"Busca de Associados - SBDRJ","isPartOf":{"@id":"https:\/\/clientes.visana.com.br\/sbdrj2\/#website"},"datePublished":"2020-06-30T10:01:05+00:00","dateModified":"2025-12-10T14:35:39+00:00","breadcrumb":{"@id":"https:\/\/clientes.visana.com.br\/sbdrj2\/busca-de-associados\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/clientes.visana.com.br\/sbdrj2\/busca-de-associados\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/clientes.visana.com.br\/sbdrj2\/busca-de-associados\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/clientes.visana.com.br\/sbdrj2\/"},{"@type":"ListItem","position":2,"name":"Busca de Associados"}]},{"@type":"WebSite","@id":"https:\/\/clientes.visana.com.br\/sbdrj2\/#website","url":"https:\/\/clientes.visana.com.br\/sbdrj2\/","name":"SBDRJ","description":"Sociedade Brasileira de Dermatologia Regional Rio de Janeiro","publisher":{"@id":"https:\/\/clientes.visana.com.br\/sbdrj2\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/clientes.visana.com.br\/sbdrj2\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/clientes.visana.com.br\/sbdrj2\/#organization","name":"SBDRJ","url":"https:\/\/clientes.visana.com.br\/sbdrj2\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/clientes.visana.com.br\/sbdrj2\/#\/schema\/logo\/image\/","url":"https:\/\/clientes.visana.com.br\/sbdrj2\/wp-content\/uploads\/2025\/10\/logo_SBDRJ.jpg","contentUrl":"https:\/\/clientes.visana.com.br\/sbdrj2\/wp-content\/uploads\/2025\/10\/logo_SBDRJ.jpg","width":1920,"height":769,"caption":"SBDRJ"},"image":{"@id":"https:\/\/clientes.visana.com.br\/sbdrj2\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/clientes.visana.com.br\/sbdrj2\/wp-json\/wp\/v2\/pages\/2352","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clientes.visana.com.br\/sbdrj2\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/clientes.visana.com.br\/sbdrj2\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/clientes.visana.com.br\/sbdrj2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/clientes.visana.com.br\/sbdrj2\/wp-json\/wp\/v2\/comments?post=2352"}],"version-history":[{"count":1,"href":"https:\/\/clientes.visana.com.br\/sbdrj2\/wp-json\/wp\/v2\/pages\/2352\/revisions"}],"predecessor-version":[{"id":29350,"href":"https:\/\/clientes.visana.com.br\/sbdrj2\/wp-json\/wp\/v2\/pages\/2352\/revisions\/29350"}],"wp:attachment":[{"href":"https:\/\/clientes.visana.com.br\/sbdrj2\/wp-json\/wp\/v2\/media?parent=2352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}