Dashboard de Férias

Visão geral de todas as solicitações e funcionários

{#if hasError}

Erro ao carregar dados

{errorMessage}
{/if}
{#if isLoading && !hasError} {#each Array.from({ length: 4 }, (_, i) => i) as index (index)}
{/each} {:else}
Total
{stats.total}
Solicitações
Aguardando
{stats.aguardando}
Pendentes
Aprovadas
{stats.aprovadas}
Deferidas
Reprovadas
{stats.reprovadas}
Indeferidas
{/if}
{#if isLoading && !hasError}
{#each Array.from({ length: 6 }, (_, i) => i) as index (index)}
{/each}
{:else}

Filtros

Status {#if filtroStatus !== 'todos'} {/if}

Defina o status das solicitações que deseja visualizar.

Nome do funcionário

Pesquise por nome completo ou parcial para localizar rapidamente um colaborador.

Matrícula

Utilize a matrícula funcional para filtrar solicitações específicas.

E-mail institucional

Busque usando o correio institucional cadastrado na ficha do colaborador.

Mês de referência

Filtra as solicitações que possuem períodos ativos dentro do mês informado.

Período personalizado
Data inicial
Data final

Combine as datas para localizar períodos específicos de férias aprovadas ou em andamento.

{/if} {#if isLoading && !hasError}
{:else if !hasError}

Calendário Geral de Férias

Visualize os períodos aprovados diretamente no calendário interativo

{/if} {#if !isLoading || !hasError}

Impressão da Programação de Férias

Escolha o período desejado e gere um relatório pronto para impressão com todos os colaboradores em férias, incluindo detalhes completos de cada período.

O relatório será aberto em uma nova aba com formatação própria para impressão. Verifique se o bloqueador de pop-ups está desabilitado para o domínio.

{/if} {#if isLoading && !hasError}
{#each Array.from({ length: 5 }, (_, i) => i) as index (index)}
{/each}
{:else}

Solicitações ({solicitacoesFiltradas.length})

{#if solicitacoesFiltradas.length === 0}
Nenhuma solicitação encontrada com os filtros aplicados.
{:else}
{#each solicitacoesFiltradas as periodo (periodo._id)} {/each}
Funcionário Time Ano Período Dias Status Solicitado em Ações
{periodo.funcionario?.nome.substring(0, 2).toUpperCase()}
{periodo.funcionario?.nome}
{periodo.funcionario?.matricula || 'S/N'}
{#if periodo.time}
{periodo.time.nome}
{:else} Sem time {/if}
{periodo.anoReferencia} {formatarDataString(periodo.dataInicio)} - {formatarDataString(periodo.dataFim)} {periodo.diasFerias} dia(s)
{getStatusTexto(periodo.status)}
{formatarData(periodo._creationTime)}
{/if}
{/if} {#if isLoading && !hasError}
{#each Array.from({ length: 3 }, (_, i) => i) as index (index)}
{/each}
{:else}

Dias de Férias Programados por Mês

Somatório de dias planejados considerando a data de início de cada período

{#if periodosPorMesAtivos.length === 0}

Sem dados registrados até o momento.

{:else} {#if periodosPorMes.length > 1}
Janela exibida {periodosPorMes[rangeInicioIndice]?.label ?? '-'} → {periodosPorMes[rangeFimIndice]?.label ?? '-'}

Ajuste com o mouse os intervalos exibidos no gráfico.

{/if} {/if}

Dias Totais Aprovados por Ano de Referência

Volume agregado de dias e número de solicitações por ano

{#if solicitacoesPorAno.length === 0}

Ainda não há solicitações registradas para exibição.

{:else} {/if}
{/if}
{#if periodoSelecionado && currentUser.data} {#await client.query( api.ferias.obterDetalhes, { feriasId: periodoSelecionado } ) then detalhes} {#if detalhes} {/if} {/await} {/if}