feat: add approval/rejection information and change history display in AprovarAusencias and AprovarFerias components for enhanced user feedback

This commit is contained in:
2025-12-05 12:57:35 -03:00
parent 66f995cb08
commit 1000b5a030
9 changed files with 389 additions and 27 deletions

View File

@@ -254,6 +254,80 @@
</div>
</div>
<!-- Informações de Aprovação/Reprovação -->
{#if solicitacao.status === 'aprovado'}
<div class="alert alert-success mb-6 shadow-lg">
<Check class="h-6 w-6 shrink-0 stroke-current" strokeWidth={2} />
<div class="flex-1">
<div class="font-bold">Aprovado</div>
{#if solicitacao.gestor}
<div class="text-sm mt-1">
Por: <strong>{solicitacao.gestor.nome}</strong>
</div>
{/if}
{#if solicitacao.dataAprovacao}
<div class="text-xs mt-1 opacity-80">
Em: {new Date(solicitacao.dataAprovacao).toLocaleString('pt-BR')}
</div>
{/if}
</div>
</div>
{/if}
{#if solicitacao.status === 'reprovado'}
<div class="alert alert-error mb-6 shadow-lg">
<XCircle class="h-6 w-6 shrink-0 stroke-current" strokeWidth={2} />
<div class="flex-1">
<div class="font-bold">Reprovado</div>
{#if solicitacao.gestor}
<div class="text-sm mt-1">
Por: <strong>{solicitacao.gestor.nome}</strong>
</div>
{/if}
{#if solicitacao.dataReprovacao}
<div class="text-xs mt-1 opacity-80">
Em: {new Date(solicitacao.dataReprovacao).toLocaleString('pt-BR')}
</div>
{/if}
{#if solicitacao.motivoReprovacao}
<div class="mt-2">
<div class="text-sm font-semibold">Motivo:</div>
<div class="text-sm">{solicitacao.motivoReprovacao}</div>
</div>
{/if}
</div>
</div>
{/if}
<!-- Histórico de Alterações -->
{#if solicitacao.historicoAlteracoes && solicitacao.historicoAlteracoes.length > 0}
<div class="mb-8">
<h3 class="text-primary mb-4 flex items-center gap-3 text-xl font-bold">
<div class="bg-primary/10 rounded-lg p-2">
<Clock class="text-primary h-6 w-6" strokeWidth={2} />
</div>
Histórico de Alterações
</h3>
<div class="card border-primary/10 bg-base-200/50 rounded-xl border-2 shadow-sm">
<div class="card-body p-5">
<div class="space-y-3">
{#each solicitacao.historicoAlteracoes as hist}
<div class="border-base-300 flex items-start gap-3 border-b pb-3 last:border-0 last:pb-0">
<Clock class="text-primary mt-0.5 h-4 w-4 shrink-0" strokeWidth={2} />
<div class="flex-1">
<div class="text-base-content text-sm font-semibold">{hist.acao}</div>
<div class="text-base-content/60 text-xs">
{new Date(hist.data).toLocaleString('pt-BR')}
</div>
</div>
</div>
{/each}
</div>
</div>
</div>
</div>
{/if}
<!-- Erro -->
{#if erro}
<div class="alert alert-error mb-6 shadow-lg">

View File

@@ -410,13 +410,48 @@
{/if}
{/if}
<!-- Informações de Aprovação/Reprovação -->
{#if periodo.status === 'aprovado' || periodo.status === 'data_ajustada_aprovada' || periodo.status === 'EmFérias'}
<div class="alert alert-success mt-4">
<Check class="h-6 w-6 shrink-0 stroke-current" strokeWidth={2} />
<div class="flex-1">
<div class="font-bold">Aprovado</div>
{#if periodo.gestor}
<div class="text-sm mt-1">
Por: <strong>{periodo.gestor.nome}</strong>
</div>
{/if}
{#if periodo.dataAprovacao}
<div class="text-xs mt-1 opacity-80">
Em: {formatarData(periodo.dataAprovacao)}
</div>
{/if}
</div>
</div>
{/if}
<!-- Motivo Reprovação (se reprovado) -->
{#if periodo.status === 'reprovado' && periodo.motivoReprovacao}
{#if periodo.status === 'reprovado'}
<div class="alert alert-error mt-4">
<XCircle class="h-6 w-6 shrink-0 stroke-current" strokeWidth={2} />
<div>
<div class="font-bold">Motivo da Reprovação:</div>
<div class="text-sm">{periodo.motivoReprovacao}</div>
<div class="flex-1">
<div class="font-bold">Reprovado</div>
{#if periodo.gestor}
<div class="text-sm mt-1">
Por: <strong>{periodo.gestor.nome}</strong>
</div>
{/if}
{#if periodo.dataReprovacao}
<div class="text-xs mt-1 opacity-80">
Em: {formatarData(periodo.dataReprovacao)}
</div>
{/if}
{#if periodo.motivoReprovacao}
<div class="mt-2">
<div class="text-sm font-semibold">Motivo:</div>
<div class="text-sm">{periodo.motivoReprovacao}</div>
</div>
{/if}
</div>
</div>
{/if}