Ouvidoria
A Ouvidoria é um canal de atendimento de 2ª instância que recebe as solicitações de beneficiários que já entraram em contato com o Serviço de Atendimento ao Cliente (SAC). Se você considera que o atendimento pelo SAC não foi satisfatório ou sua solicitação não foi resolvida, entre em contato conosco por meio do formulário disponível no final da página. Fale ConoscoThe following has evaluated to null or missing:
==> imgUrl [in template "20097#20123#6145814" at line 41, column 81]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: ${imgUrl} [in template "20097#20123#6145814" at line 41, column 79]
----
1<#if entries?has_content>
2 <div class="container">
3 <div class="classepaia">
4 <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
5 <div id="carrosselField" class="carousel-inner">
6 <#list entries as curEntry>
7 <#assign
8 assetRenderer = curEntry.getAssetRenderer()
9 serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()
10 dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
11 dlUtil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
12 link = assetRenderer.getURLViewInContext(renderRequest, renderResponse, '')
13 />
14
15 <#assign docXml = saxReaderUtil.read(assetRenderer.getArticle().getContent()) />
16
17 <#assign
18 titulo = docXml.valueOf("//dynamic-element[@name='titulo']/dynamic-content[@language-id='"+themeDisplay.getLocale()+"']/text()")
19 descricao = docXml.valueOf("//dynamic-element[@name='descricao']/dynamic-content[@language-id='"+themeDisplay.getLocale()+"']/text()")
20 cta = docXml.valueOf("//dynamic-element[@name='cta']/dynamic-content[@language-id='"+themeDisplay.getLocale()+"']/text()")
21 url = docXml.valueOf("//dynamic-element[@name='url']/dynamic-content[@language-id='"+themeDisplay.getLocale()+"']/text()")
22 imagemCard = docXml.valueOf("//dynamic-element[@name='imagem']/dynamic-content[@language-id='"+themeDisplay.getLocale()+"']/text()")
23 />
24 <#assign description="" />
25 <#if imagemCard?has_content>
26 <#assign
27 imagem = imagemCard?eval
28 imagemUuid = imagem.uuid
29 groupId = imagem.groupId
30 dlFile = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(imagemUuid,groupId?number)
31 imgUrl = dlUtil.getPreviewURL(dlFile, dlFile.getFileVersion(),themeDisplay,'')
32 />
33 <#assign description = imagem.alt?string!"">
34 </#if>
35 <#if description=="">
36 <#assign description = "sem descrição textual">
37 </#if>
38 <div class="carousel-item bg-gray" tabindex="0">
39 <div class="row">
40 <div class="col-12 col-lg-6 cmpimg">
41 <img loading="lazy" alt="${description}" class="w-100" src="${imgUrl}">
42 </div>
43 <div class="col-12 col-lg-6 camptxt">
44 <h2 tabindex="0">${titulo}</h2>
45 <div tabindex="0">${descricao}</div>
46 <#if cta?has_content>
47 <span tabindex="0">
48 <svg id="direita" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
49 <g id="Grupo_1585" data-name="Grupo 1585" transform="translate(-412 281) rotate(-90)">
50 <rect id="Retângulo_356" data-name="Retângulo 356" width="20" height="20" transform="translate(261 412)" fill="none"/>
51 <path id="Caminho_382" data-name="Caminho 382" d="M171.476,425.028a.748.748,0,0,1-.559-.25l-5.724-6.4-6.177,6.418a.75.75,0,1,1-1.081-1.04l6.737-7a.75.75,0,0,1,1.1.02l6.263,7a.75.75,0,0,1-.559,1.25Z" transform="translate(435.976 843.778) rotate(180)" fill="#ec6e0c"/>
52 </g>
53 </svg>
54 </span>
55 <a href="${url}">${cta}</a>
56 </#if>
57 </div>
58 </div>
59 </div>
60 </#list>
61 <a class="carousel-control-prev" aria-label="prev slide" href="#carouselExampleIndicators" role="button" data-slide="prev">
62 <span class="carousel-control-prev-icon" aria-hidden="true"></span>
63 <span class="sr-only">Previous</span>
64 </a>
65 <a class="carousel-control-next" aria-label="next slide" href="#carouselExampleIndicators" role="button" data-slide="next">
66 <span class="carousel-control-next-icon" aria-hidden="true"></span>
67 <span class="sr-only">Next</span>
68 </a>
69 </div>
70 <ol class="carousel-indicators carousel_principal_indicators">
71 <#list entries as curEntry>
72 <#if curEntry?index == 0 >
73 <!-- <li tabindex="0" data-target="#carouselExampleIndicators" data-slide-to="${curEntry?index}" class="active" ></li>-->
74 <li class="active">
75 <button
76 type="button"
77 tabindex="0"
78 data-target="#carouselExampleIndicators"
79 data-slide-to="${curEntry?index}"
80 aria-label="dots Ir para o slide ${curEntry?index + 1}"
81 ></button>
82 </li>
83 <#else>
84 <!--<li tabindex="0" data-target="#carouselExampleIndicators" data-slide-to="${curEntry?index}"></li>-->
85 <li>
86 <button
87 type="button"
88 tabindex="0"
89 data-target="#carouselExampleIndicators"
90 data-slide-to="${curEntry?index}"
91 aria-label="dots Ir para o slide ${curEntry?index + 1}"
92 ></button>
93 </li>
94 </#if>
95 </#list>
96 </ol>
97 </div>
98 </div>
99 </div>
100</#if>
101
102
103<style>
104.carousel-control-prev-icon, .carousel-control-next-icon {
105 margin-top: 40px;
106 display: none;
107}
108.bg-gray{
109 background: #FFFFFF 0% 0% no-repeat padding-box;
110 box-shadow: 4px 4px 16px #00000029;
111 border-radius: 8px;
112 margin-top: 60px;
113 margin-bottom: 80px;
114 }
115
116 .classepaia .carousel-item{
117 width: 98%;
118 }
119
120 .classepaia .carousel-control-prev, .classepai .carousel-control-next{
121 display: none;
122 }
123.carousel_principal_indicators{
124 align-items:center;
125}
126 .carousel_principal_indicators li{
127 font-size: 0;
128 width: 7px !important;
129 height: 7px !important;
130 border: 2px solid var(--primary);
131 background: transparent;
132 border-radius: 50%;
133 margin-bottom: 6px !important;
134 outline: none!important;
135 }
136
137.carousel_principal_indicators li button {
138 width: 100%;
139 height: 100%;
140 display: block;
141 border-radius: inherit;
142 background: transparent;
143 border: none;
144 padding: 0;
145 cursor: pointer;
146}
147
148.carousel_principal_indicators li button {
149 outline: none !important;
150}
151
152.carousel_principal_indicators li:has(button:focus-visible) {
153 outline: 2px solid #000 !important;
154 outline-offset: 0px;
155}
156
157.carousel_principal_indicators li:has(button:focus) {
158 outline: none;
159}
160
161 .carousel_principal_indicators .active{
162 border: 1px solid var(--primary);
163 border-radius: 17px;
164 width: 20px !important;
165 height: 0px;
166 background: var(--primary) !important;
167 }
168
169 .camptxt{
170 padding: 30px 50px 25px 25px;
171 }
172
173 .camptxt h2{
174 font-family:"oxygen-bold";
175 font-size: 24px;
176}
177
178.camptxt p{
179 font-family:"oxygen-regular";
180 font-size: 16px;
181}
182
183.camptxt a{
184 font-family:"oxygen-bold";
185 font-size: 16px;
186 color: var(--primary);
187}
188
189.camptxt span{
190 font-size: 20px;
191 display: inline-block;
192 margin-right: 10px;
193 color: var(--primary);
194}
195
196
197 .cmpimg img{
198 border-radius: 8px;
199 max-height:300px;
200 }
201.carousel-item.active, .nav-underline .tab.active a.carousel-item, .carousel-item-next, .carousel-item-prev {
202 display: flex;
203}
204 @media (min-width: 991px) and (max-width: 1200px){
205 .cmpimg img{
206 min-height: 310px;
207 }
208 }
209
210 @media (max-width: 991px){
211 .cmpimg img{
212 border-radius: 10px;
213 }
214 .camptxt{
215 padding: 20px 40px;
216 }
217 .carousel-inner {
218 display: flex;
219 align-items: stretch;
220 }
221 }
222 @media (max-width: 400px){
223 .cmpimg img {
224 border-radius: 10px;
225 max-height: 400px;
226 min-height: 234px;
227 object-fit: cover;
228 }
229 }
230</style>
231<script>
232$('#carrosselField div:first').addClass('active');
233</script>
Precisa de mais ajuda?
Leia as instruções abaixo e saiba como preencher o formulário ao lado:
Preencha suas informações pessoais, como nome, e-mail, número de telefone, número da carteirinha, cidade e estado.
Informe o número de protocolo referente ao primeiro atendimento no SAC.
Escolha o tipo de manifestação e descreva detalhadamente sua solicitação.
Caso tenha documentos referentes à sua manifestação, anexe-os no formulário.
Após preencher o formulário, clique em Registrar e aguarde o nosso retorno em até 7 dias úteis. Estamos comprometidos em analisar sua solicitação e encontrar a melhor solução para você.
Ops! Estes dados não foram encontrados.
Os dados inseridos no formulário não foram encontrados. corrija as informações e tente novamente.
O arquivo fornecido é inválido!
É necessário informar pelo menos 1 arquivo. Os arquivo devem no maximo 1MB
Deseja mesmo remover este arquivo?
Você pode subi-lo novamente, caso precise.