{"id":7147,"date":"2026-04-08T17:15:48","date_gmt":"2026-04-08T20:15:48","guid":{"rendered":"https:\/\/saudecajati.com.br\/?page_id=7147"},"modified":"2026-04-08T18:47:37","modified_gmt":"2026-04-08T21:47:37","slug":"farmacia-movel","status":"publish","type":"page","link":"https:\/\/saudecajati.com.br\/index.php\/farmacia-movel\/","title":{"rendered":"Farm\u00e1cia M\u00f3vel"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7147\" class=\"elementor elementor-7147\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c5a85fc e-grid e-con-boxed e-con e-parent\" data-id=\"c5a85fc\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fe9b81a elementor-align-center elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-invisible elementor-widget elementor-widget-icon-list\" data-id=\"fe9b81a\" data-element_type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;slideInDown&quot;}\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Escala da farm\u00e1cia m\u00f3vel<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-891c772 e-flex e-con-boxed e-con e-parent\" data-id=\"891c772\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bf1f97e elementor-widget elementor-widget-html\" data-id=\"bf1f97e\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"pt-BR\">\r\n<head>\r\n  <meta charset=\"UTF-8\">\r\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;600;700;800&display=swap\" rel=\"stylesheet\">\r\n  <link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\/dist\/flatpickr.min.css\">\r\n  \r\n  <style>\r\n    #farmacia-app {\r\n      font-family: 'Inter', sans-serif !important;\r\n      background-color: #f4f6f8 !important;\r\n      padding: 10px 20px 20px 20px !important;\r\n      color: #2c3e50 !important;\r\n      max-width: 1200px !important;\r\n      margin: 0 auto !important;\r\n    }\r\n\r\n    .grid-principal {\r\n      display: grid !important;\r\n      grid-template-columns: 1fr 1.5fr !important;\r\n      gap: 25px !important;\r\n    }\r\n\r\n    @media (max-width: 1024px) { \r\n      .grid-principal { grid-template-columns: 1fr !important; } \r\n    }\r\n\r\n    .card-cajati {\r\n      background: #ffffff !important;\r\n      padding: 20px !important;\r\n      border-radius: 12px !important;\r\n      box-shadow: 0 4px 10px rgba(0,0,0,0.05) !important;\r\n      margin-bottom: 20px !important;\r\n      border: 1px solid #e2e8f0 !important;\r\n    }\r\n\r\n    .label-instrucao {\r\n      display: block !important;\r\n      font-weight: 700 !important;\r\n      margin-bottom: 8px !important;\r\n      color: #00A09A !important;\r\n      font-size: 13px !important;\r\n      text-transform: uppercase !important;\r\n    }\r\n\r\n    select, input {\r\n      width: 100% !important;\r\n      padding: 12px !important;\r\n      border: 2px solid #edf2f7 !important;\r\n      border-radius: 8px !important;\r\n      font-size: 15px !important;\r\n      box-sizing: border-box !important;\r\n    }\r\n\r\n    #dateInput { display: none !important; }\r\n    .flatpickr-months { display: none !important; }\r\n\r\n    .container-acoes {\r\n      display: flex !important;\r\n      flex-direction: row !important;\r\n      justify-content: space-between !important;\r\n      gap: 10px !important;\r\n      margin-top: 15px !important;\r\n      width: 100% !important;\r\n    }\r\n\r\n    .btn-cajati {\r\n      flex: 1 !important;\r\n      background-color: #00A09A !important;\r\n      color: #ffffff !important;\r\n      border: none !important;\r\n      padding: 12px 5px !important;\r\n      border-radius: 8px !important;\r\n      font-weight: 700 !important;\r\n      font-size: 16px !important;\r\n      cursor: pointer !important;\r\n      height: 50px !important;\r\n      display: flex !important;\r\n      align-items: center !important;\r\n      justify-content: center !important;\r\n      white-space: nowrap !important;\r\n    }\r\n\r\n    .btn-limpar { background-color: #64748b !important; }\r\n\r\n    .escala-preview-grid {\r\n      display: grid !important;\r\n      grid-template-columns: repeat(5, 1fr) !important;\r\n      gap: 10px !important;\r\n    }\r\n\r\n    .card-dia-escala {\r\n      background: #ffffff !important;\r\n      border: 1px solid #cbd5e1 !important;\r\n      border-radius: 8px !important;\r\n      display: flex !important;\r\n      flex-direction: column !important;\r\n    }\r\n\r\n    .titulo-dia {\r\n      font-weight: 700 !important;\r\n      text-align: center !important;\r\n      font-size: 12px !important;\r\n      background: #f1f5f9 !important;\r\n      padding: 10px !important;\r\n      text-transform: uppercase !important;\r\n      border-radius: 8px 8px 0 0 !important;\r\n    }\r\n\r\n    .item-bairro-escala {\r\n      text-align: center !important;\r\n      padding: 10px !important;\r\n      border-bottom: 1px dashed #e2e8f0 !important;\r\n    }\r\n\r\n    .nome-bairro { \r\n      font-weight: 800 !important; \r\n      color: #00A09A !important; \r\n      display: block !important; \r\n      text-transform: uppercase !important; \r\n    }\r\n\r\n    @media print { #farmacia-app { display: none !important; } }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div id=\"farmacia-app\">\r\n  <div class=\"grid-principal\">\r\n    <div class=\"col-config\">\r\n      <div class=\"card-cajati\">\r\n        <label class=\"label-instrucao\">M\u00eas de Refer\u00eancia<\/label>\r\n        <input type=\"month\" id=\"monthSelect\" value=\"2026-04\">\r\n      <\/div>\r\n      <div class=\"card-cajati\">\r\n        <label class=\"label-instrucao\">Local de Atendimento<\/label>\r\n        <select id=\"bairroSelect\">\r\n          <option value=\"\">-- Escolha o Bairro --<\/option>\r\n          <option value=\"INHUNGUVIRA\" data-dia=\"1\" data-h=\"8:30 - 11:00h\">Inhunguvira (Seg)<\/option>\r\n          <option value=\"VILA ANDREIA\" data-dia=\"1\" data-h=\"13:30 - 16:00h\">Vila Andreia (Seg)<\/option>\r\n          <option value=\"VILA TATU\" data-dia=\"1\" data-h=\"13:30 - 16:00h\">Vila Tatu (Seg)<\/option>\r\n          <option value=\"VILA ANTUNES\" data-dia=\"2\" data-h=\"8:30 - 11:00h\">Vila Antunes (Ter)<\/option>\r\n          <option value=\"JACUPIRANGUINHA\" data-dia=\"2\" data-h=\"13:30 - 16:00h\">Jacupiranguinha (Ter)<\/option>\r\n          <option value=\"CAPELINHA\" data-dia=\"2\" data-h=\"13:30 - 16:00h\">Capelinha (Ter)<\/option>\r\n          <option value=\"VILA MUNIZ\" data-dia=\"3\" data-h=\"8:30 - 11:00h\">Vila Muniz (Qua)<\/option>\r\n          <option value=\"BARRA DO AZEITE\" data-dia=\"3\" data-h=\"13:30 - 16:00h\">Barra do Azeite (Qua)<\/option>\r\n          <option value=\"PARAFUSO 1\" data-dia=\"4\" data-h=\"8:30 - 11:00h\">Parafuso 1 (Qui)<\/option>\r\n          <option value=\"PARAFUSO 2\" data-dia=\"4\" data-h=\"13:30 - 16:00h\">Parafuso 2 (Qui)<\/option>\r\n          <option value=\"CAPIT\u00c3O BRAZ\" data-dia=\"5\" data-h=\"8:30 - 11:00h \/ 13:30 - 16:00h\">Capit\u00e3o Braz (Sex)<\/option>\r\n        <\/select>\r\n      <\/div>\r\n      <div class=\"card-cajati\">\r\n        <label class=\"label-instrucao\">Agendamento<\/label>\r\n        <input type=\"text\" id=\"dateInput\" readonly>\r\n      <\/div>\r\n      <div class=\"container-acoes\">\r\n        <button id=\"saveBtn\" class=\"btn-cajati\">Adicionar<\/button>\r\n        <button id=\"printBtn\" class=\"btn-cajati\">Imprimir PDF<\/button>\r\n        <button id=\"clearBtn\" class=\"btn-cajati btn-limpar\">Limpar<\/button>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"card-cajati\">\r\n      <div class=\"titulo-documento\" style=\"text-align:center; font-weight:800; margin-bottom:20px;\">\r\n        ESCALA FARM\u00c1CIA M\u00d3VEL \u2013 <span id=\"printMonthDisplay\">ABRIL DE 2026<\/span>\r\n      <\/div>\r\n      <div class=\"escala-preview-grid\" id=\"escalaGrid\"><\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/flatpickr\"><\/script>\r\n<script src=\"https:\/\/npmcdn.com\/flatpickr\/dist\/l10n\/pt.js\"><\/script>\r\n<script>\r\n(() => {\r\n  const monthSelect = document.getElementById('monthSelect');\r\n  const bairroSelect = document.getElementById('bairroSelect');\r\n  const dateInput = document.getElementById('dateInput');\r\n  const escalaGrid = document.getElementById('escalaGrid');\r\n  const printMonthDisplay = document.getElementById('printMonthDisplay');\r\n  let fp = null;\r\n\r\n  const updateDisplay = () => {\r\n    const [year, month] = monthSelect.value.split('-');\r\n    printMonthDisplay.textContent = new Date(year, month - 1).toLocaleDateString('pt-BR', { month: 'long', year: 'numeric' }).toUpperCase();\r\n    renderizarEscala();\r\n  };\r\n\r\n  monthSelect.addEventListener('change', () => {\r\n    if (fp) fp.destroy();\r\n    dateInput.value = \"\";\r\n    bairroSelect.value = \"\";\r\n    updateDisplay();\r\n  });\r\n\r\n  bairroSelect.addEventListener('change', () => {\r\n    const opt = bairroSelect.options[bairroSelect.selectedIndex];\r\n    if (fp) fp.destroy();\r\n    if (!opt.value) return;\r\n    const [year, month] = monthSelect.value.split('-');\r\n    fp = flatpickr(dateInput, {\r\n      mode: \"multiple\", inline: true, locale: \"pt\", dateFormat: \"d\/m\",\r\n      defaultDate: new Date(year, month - 1, 1),\r\n      minDate: new Date(year, month - 1, 1),\r\n      maxDate: new Date(year, month, 0),\r\n      disable: [(date) => date.getDay() !== parseInt(opt.dataset.dia)]\r\n    });\r\n  });\r\n\r\n  document.getElementById('saveBtn').addEventListener('click', () => {\r\n    const opt = bairroSelect.options[bairroSelect.selectedIndex];\r\n    if (!opt.value || !fp || !fp.selectedDates.length) return;\r\n    const datasStr = fp.selectedDates.sort((a, b) => a - b).map(d => d.toLocaleDateString('pt-BR', {day:'2-digit'}));\r\n    let escala = JSON.parse(localStorage.getItem('farmacia_wp_vfinal')) || [];\r\n    escala = escala.filter(i => !(i.bairro === opt.value && i.ref === monthSelect.value));\r\n    escala.push({ bairro: opt.value, diaSemana: parseInt(opt.dataset.dia), horario: opt.dataset.h, datas: datasStr, ref: monthSelect.value });\r\n    localStorage.setItem('farmacia_wp_vfinal', JSON.stringify(escala));\r\n    renderizarEscala();\r\n    fp.clear();\r\n  });\r\n\r\n  document.getElementById('clearBtn').addEventListener('click', () => {\r\n    if(confirm(\"Limpar dados do m\u00eas?\")) {\r\n      let escala = JSON.parse(localStorage.getItem('farmacia_wp_vfinal')) || [];\r\n      localStorage.setItem('farmacia_wp_vfinal', JSON.stringify(escala.filter(i => i.ref !== monthSelect.value)));\r\n      renderizarEscala();\r\n    }\r\n  });\r\n\r\n  function renderizarEscala() {\r\n    escalaGrid.innerHTML = '';\r\n    const dados = JSON.parse(localStorage.getItem('farmacia_wp_vfinal')) || [];\r\n    const nomesDias = [\"DOM\", \"SEGUNDA-FEIRA\", \"TER\u00c7A-FEIRA\", \"QUARTA-FEIRA\", \"QUINTA-FEIRA\", \"SEXTA-FEIRA\"];\r\n    for (let i = 1; i <= 5; i++) {\r\n      const col = document.createElement('div');\r\n      col.className = 'card-dia-escala';\r\n      col.innerHTML = `<div class=\"titulo-dia\">${nomesDias[i]}<\/div><div id=\"dia-${i}\" style=\"padding:10px;\"><\/div>`;\r\n      escalaGrid.appendChild(col);\r\n      const container = col.querySelector(`#dia-${i}`);\r\n      dados.filter(d => d.diaSemana === i && d.ref === monthSelect.value).forEach(item => {\r\n        container.innerHTML += `<div class=\"item-bairro-escala\"><span class=\"nome-bairro\">${item.bairro}<\/span><span>(${item.datas.join(', ')})<\/span><br><small>${item.horario}<\/small><\/div>`;\r\n      });\r\n    }\r\n  }\r\n\r\n  document.getElementById('printBtn').addEventListener('click', () => {\r\n    const dados = JSON.parse(localStorage.getItem('farmacia_wp_vfinal')) || [];\r\n    const nomesDias = [\"DOM\", \"SEGUNDA-FEIRA\", \"TER\u00c7A-FEIRA\", \"QUARTA-FEIRA\", \"QUINTA-FEIRA\", \"SEXTA-FEIRA\"];\r\n    let gridHTML = '';\r\n    for (let i = 1; i <= 5; i++) {\r\n      let itensHTML = '';\r\n      dados.filter(d => d.diaSemana === i && d.ref === monthSelect.value).forEach(item => {\r\n        const listaDias = item.datas.map(d => `<div style=\"padding: 5px 0; border-bottom: 1px solid #e2e8f0; font-weight: 700; display: flex; align-items: center; justify-content: center; width: 100%; color: #333333;\">Dia ${d}<\/div>`).join('');\r\n        itensHTML += `<div style=\"text-align:center; padding:15px 5px; border-bottom: 1px dashed #e2e8f0;\"><span style=\"font-weight:800; color:#00A09A; display:block; text-transform:uppercase; margin-bottom:8px;\">${item.bairro}<\/span><div style=\"display:flex; flex-direction:column; align-items:center;\">${listaDias}<\/div><small style=\"font-weight:700; color:#555555; margin-top:10px; display:block;\">${item.horario}<\/small><\/div>`;\r\n      });\r\n      gridHTML += `<div style=\"border:2px solid #00A09A; border-radius:10px; min-height:460px; display:flex; flex-direction:column; background:#fff;\"><div style=\"background:#00A09A; color:white; padding:12px; text-align:center; font-weight:800; border-radius:8px 8px 0 0;\">${nomesDias[i]}<\/div><div style=\"padding:5px;\">${itensHTML}<\/div><\/div>`;\r\n    }\r\n\r\n    const iframe = document.createElement('iframe');\r\n    iframe.style.display = 'none';\r\n    document.body.appendChild(iframe);\r\n    const doc = iframe.contentWindow.document;\r\n    doc.open();\r\n    doc.write(`<html><head><style>@import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;600;700;800&display=swap'); @page { size: A4 landscape; margin: 0.8cm; } body { font-family: 'Inter', sans-serif; margin: 0; padding: 0; color: #333333; -webkit-print-color-adjust: exact; print-color-adjust: exact; } .header { display: flex; align-items: center; margin-bottom: 20px; } .title { background: #00A09A; color: white; padding: 15px; border-radius: 8px; text-align: center; font-weight: 800; font-size: 24px; text-transform: uppercase; margin-bottom: 20px; }<\/style><\/head><body><div class=\"header\"><img decoding=\"async\" src=\"https:\/\/saudecajati.com.br\/wp-content\/uploads\/2026\/04\/LOGO-SAUDE-UPSCALER-1-300x109.png\" style=\"height:75px;\"><div style=\"margin-left:20px; font-weight:600; line-height:1.4; color: #333333;\">SECRETARIA MUNICIPAL DE SA\u00daDE<br>Rua Teodoro Ferreira Machado, s\/n \u2013 Centro \u2013 CEP 11.950-000 \u2013 Cajati, SP<br>Telefone: (13) 3854-8700 | Ramal da Farm\u00e1cia Central: 2013<\/div><\/div><div class=\"title\">ESCALA FARM\u00c1CIA M\u00d3VEL \u2013 ${printMonthDisplay.textContent}<\/div><div style=\"display:grid; grid-template-columns: repeat(5, 1fr); gap:10px;\">${gridHTML}<\/div><div style=\"margin-top:20px; text-align:center; font-weight:700; color:#00A09A;\">www.saudecajati.com.br<\/div><\/body><\/html>`);\r\n    doc.close();\r\n    setTimeout(() => { iframe.contentWindow.focus(); iframe.contentWindow.print(); document.body.removeChild(iframe); }, 500);\r\n  });\r\n\r\n  window.onload = updateDisplay;\r\n})();\r\n<\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-097efed e-grid e-con-boxed e-con e-parent\" data-id=\"097efed\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Escala da farm\u00e1cia m\u00f3vel M\u00eas de Refer\u00eancia Local de Atendimento &#8212; Escolha o Bairro &#8212;Inhunguvira (Seg)Vila Andreia (Seg)Vila Tatu (Seg)Vila Antunes (Ter)Jacupiranguinha (Ter)Capelinha (Ter)Vila Muniz (Qua)Barra do Azeite (Qua)Parafuso 1 (Qui)Parafuso 2 (Qui)Capit\u00e3o Braz (Sex) Agendamento Adicionar Imprimir PDF Limpar ESCALA FARM\u00c1CIA M\u00d3VEL \u2013 ABRIL DE 2026<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-7147","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/pages\/7147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=7147"}],"version-history":[{"count":97,"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/pages\/7147\/revisions"}],"predecessor-version":[{"id":7245,"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/pages\/7147\/revisions\/7245"}],"wp:attachment":[{"href":"https:\/\/saudecajati.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=7147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}