diff --git a/apps/web/src/lib/components/chat/NotificationBell.svelte b/apps/web/src/lib/components/chat/NotificationBell.svelte index ec3a437..047f7da 100644 --- a/apps/web/src/lib/components/chat/NotificationBell.svelte +++ b/apps/web/src/lib/components/chat/NotificationBell.svelte @@ -1,501 +1,501 @@ - - - - - + + + + + diff --git a/apps/web/src/routes/(dashboard)/gestao-pessoas/+page.svelte b/apps/web/src/routes/(dashboard)/gestao-pessoas/+page.svelte index 1325a4e..b2e8149 100644 --- a/apps/web/src/routes/(dashboard)/gestao-pessoas/+page.svelte +++ b/apps/web/src/routes/(dashboard)/gestao-pessoas/+page.svelte @@ -1,218 +1,141 @@ - - -
- - -
-
-
- - - -
-
-

- Secretaria de Gestão de Pessoas -

-

Gestão estratégica de pessoas

-
-
-
- - -
-
-
-

- - - - Gestão de Ausências -

- -
- - -
-
-
Total
-
{stats.total}
-
Solicitações
-
-
-
Pendentes
-
{stats.pendentes}
-
Aguardando
-
-
-
Aprovadas
-
{stats.aprovadas}
-
Deferidas
-
-
-
Reprovadas
-
{stats.reprovadas}
-
Indeferidas
-
-
- - -
-

- Solicitações Pendentes de Aprovação -

- {#if pendentes.length === 0} -
- - - - Nenhuma solicitação pendente no momento. -
- {:else} -
- - - - - - - - - - - - {#each pendentes as ausencia} - - - - - - - - {/each} - -
FuncionárioPeríodoDiasStatusSolicitado em
- {ausencia.funcionario?.nome || "N/A"} - - {new Date(ausencia.dataInicio).toLocaleDateString("pt-BR")} até{" "} - {new Date(ausencia.dataFim).toLocaleDateString("pt-BR")} - - {calcularDias(ausencia.dataInicio, ausencia.dataFim)} dias - -
- {getStatusTexto(ausencia.status)} -
-
- {new Date(ausencia.criadoEm).toLocaleDateString("pt-BR")} -
-
- {#if stats.pendentes > 5} -
- -
- {/if} - {/if} -
-
-
-
+ + +
+ + + + +
+

Secretaria de Gestão de Pessoas

+

+ Gerencie processos estratégicos de gestão de pessoas +

+
+ + +
+ {#each menuItems as categoria} +
+
+ +
+
+
+ {@html categoria.icon} +
+
+
+

+ {categoria.categoria} +

+

{categoria.descricao}

+
+
+ + + +
+
+ {/each} +
+ + +
+ + + +
+

Precisa de ajuda?

+
+ Entre em contato com o suporte técnico ou consulte a documentação do sistema para mais informações sobre as funcionalidades da Secretaria de Gestão de Pessoas. +
+
+
+
+ + diff --git a/apps/web/src/routes/(dashboard)/gestao-pessoas/gestao-ausencias/+page.svelte b/apps/web/src/routes/(dashboard)/gestao-pessoas/gestao-ausencias/+page.svelte new file mode 100644 index 0000000..fdef14e --- /dev/null +++ b/apps/web/src/routes/(dashboard)/gestao-pessoas/gestao-ausencias/+page.svelte @@ -0,0 +1,419 @@ + + +
+ + + + +
+
+
+
+ + + +
+
+

Gestão de Ausências

+

+ Visão geral de todas as solicitações de ausências +

+
+
+ +
+
+ + +
+
+
+ + + +
+
Total
+
{stats.total}
+
Solicitações
+
+ +
+
+ + + +
+
Pendentes
+
{stats.aguardando}
+
Aguardando
+
+ +
+
+ + + +
+
Aprovadas
+
{stats.aprovadas}
+
Deferidas
+
+ +
+
+ + + +
+
Reprovadas
+
{stats.reprovadas}
+
Indeferidas
+
+
+ + +
+
+

Filtros

+
+
+ + +
+
+
+
+ + +
+
+

+ Todas as Solicitações ({ausenciasFiltradas.length}) +

+ + {#if ausenciasFiltradas.length === 0} +
+ + + + Nenhuma solicitação encontrada com os filtros aplicados. +
+ {:else} +
+ + + + + + + + + + + + + + + {#each ausenciasFiltradas as ausencia} + + + + + + + + + + + {/each} + +
FuncionárioTimePeríodoDiasMotivoStatusSolicitado emAções
+ {ausencia.funcionario?.nome || "N/A"} + + {#if ausencia.time} +
+ {ausencia.time.nome} +
+ {:else} + Sem time + {/if} +
+ {new Date(ausencia.dataInicio).toLocaleDateString("pt-BR")} até{" "} + {new Date(ausencia.dataFim).toLocaleDateString("pt-BR")} + + {calcularDias(ausencia.dataInicio, ausencia.dataFim)} dias + + {ausencia.motivo} + +
+ {getStatusTexto(ausencia.status)} +
+
+ {new Date(ausencia.criadoEm).toLocaleDateString("pt-BR")} + + {#if ausencia.status === "aguardando_aprovacao"} + + {:else} + + {/if} +
+
+ {/if} +
+
+
+ + +{#if solicitacaoSelecionada && authStore.usuario} + {#await client.query(api.ausencias.obterDetalhes, { + solicitacaoId: solicitacaoSelecionada, + }) then detalhes} + {#if detalhes} + + + + + {/if} + {/await} +{/if} + diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/ausencias/+page.svelte b/apps/web/src/routes/(dashboard)/recursos-humanos/ausencias/+page.svelte index 8341aae..109148d 100644 --- a/apps/web/src/routes/(dashboard)/recursos-humanos/ausencias/+page.svelte +++ b/apps/web/src/routes/(dashboard)/recursos-humanos/ausencias/+page.svelte @@ -417,3 +417,4 @@ {/await} {/if} + diff --git a/apps/web/src/routes/(dashboard)/secretaria-executiva/+page.svelte b/apps/web/src/routes/(dashboard)/secretaria-executiva/+page.svelte index e92c758..d079d7d 100644 --- a/apps/web/src/routes/(dashboard)/secretaria-executiva/+page.svelte +++ b/apps/web/src/routes/(dashboard)/secretaria-executiva/+page.svelte @@ -1,214 +1,141 @@ - - -
- - -
-
-
- - - -
-
-

Secretaria Executiva

-

Gestão executiva e administrativa

-
-
-
- - -
-
-
-

- - - - Gestão de Ausências -

- -
- - -
-
-
Total
-
{stats.total}
-
Solicitações
-
-
-
Pendentes
-
{stats.pendentes}
-
Aguardando
-
-
-
Aprovadas
-
{stats.aprovadas}
-
Deferidas
-
-
-
Reprovadas
-
{stats.reprovadas}
-
Indeferidas
-
-
- - -
-

Solicitações Pendentes de Aprovação

- {#if pendentes.length === 0} -
- - - - Nenhuma solicitação pendente no momento. -
- {:else} -
- - - - - - - - - - - - {#each pendentes as ausencia} - - - - - - - - {/each} - -
FuncionárioPeríodoDiasStatusSolicitado em
- {ausencia.funcionario?.nome || "N/A"} - - {new Date(ausencia.dataInicio).toLocaleDateString("pt-BR")} até{" "} - {new Date(ausencia.dataFim).toLocaleDateString("pt-BR")} - - {calcularDias(ausencia.dataInicio, ausencia.dataFim)} dias - -
- {getStatusTexto(ausencia.status)} -
-
- {new Date(ausencia.criadoEm).toLocaleDateString("pt-BR")} -
-
- {#if stats.pendentes > 5} -
- -
- {/if} - {/if} -
-
-
-
+ + +
+ + + + +
+

Secretaria Executiva

+

+ Gerencie processos executivos e administrativos +

+
+ + +
+ {#each menuItems as categoria} +
+
+ +
+
+
+ {@html categoria.icon} +
+
+
+

+ {categoria.categoria} +

+

{categoria.descricao}

+
+
+ + + +
+
+ {/each} +
+ + +
+ + + +
+

Precisa de ajuda?

+
+ Entre em contato com o suporte técnico ou consulte a documentação do sistema para mais informações sobre as funcionalidades da Secretaria Executiva. +
+
+
+
+ + diff --git a/apps/web/src/routes/(dashboard)/secretaria-executiva/gestao-ausencias/+page.svelte b/apps/web/src/routes/(dashboard)/secretaria-executiva/gestao-ausencias/+page.svelte new file mode 100644 index 0000000..c259570 --- /dev/null +++ b/apps/web/src/routes/(dashboard)/secretaria-executiva/gestao-ausencias/+page.svelte @@ -0,0 +1,419 @@ + + +
+ + + + +
+
+
+
+ + + +
+
+

Gestão de Ausências

+

+ Visão geral de todas as solicitações de ausências +

+
+
+ +
+
+ + +
+
+
+ + + +
+
Total
+
{stats.total}
+
Solicitações
+
+ +
+
+ + + +
+
Pendentes
+
{stats.aguardando}
+
Aguardando
+
+ +
+
+ + + +
+
Aprovadas
+
{stats.aprovadas}
+
Deferidas
+
+ +
+
+ + + +
+
Reprovadas
+
{stats.reprovadas}
+
Indeferidas
+
+
+ + +
+
+

Filtros

+
+
+ + +
+
+
+
+ + +
+
+

+ Todas as Solicitações ({ausenciasFiltradas.length}) +

+ + {#if ausenciasFiltradas.length === 0} +
+ + + + Nenhuma solicitação encontrada com os filtros aplicados. +
+ {:else} +
+ + + + + + + + + + + + + + + {#each ausenciasFiltradas as ausencia} + + + + + + + + + + + {/each} + +
FuncionárioTimePeríodoDiasMotivoStatusSolicitado emAções
+ {ausencia.funcionario?.nome || "N/A"} + + {#if ausencia.time} +
+ {ausencia.time.nome} +
+ {:else} + Sem time + {/if} +
+ {new Date(ausencia.dataInicio).toLocaleDateString("pt-BR")} até{" "} + {new Date(ausencia.dataFim).toLocaleDateString("pt-BR")} + + {calcularDias(ausencia.dataInicio, ausencia.dataFim)} dias + + {ausencia.motivo} + +
+ {getStatusTexto(ausencia.status)} +
+
+ {new Date(ausencia.criadoEm).toLocaleDateString("pt-BR")} + + {#if ausencia.status === "aguardando_aprovacao"} + + {:else} + + {/if} +
+
+ {/if} +
+
+
+ + +{#if solicitacaoSelecionada && authStore.usuario} + {#await client.query(api.ausencias.obterDetalhes, { + solicitacaoId: solicitacaoSelecionada, + }) then detalhes} + {#if detalhes} + + + + + {/if} + {/await} +{/if} +