feat: enhance employee leave report generation by adding gestor information retrieval and improving filtering capabilities across components

This commit is contained in:
2025-11-29 20:21:40 -03:00
parent e9e7c654ee
commit f059a0c688
4 changed files with 1495 additions and 332 deletions

View File

@@ -52,37 +52,37 @@
// Atualizar posição quando o modal for aberto (quando registroQuery tiver dados)
$effect(() => {
if (registroQuery?.data) {
// Usar requestAnimationFrame para garantir que o DOM está completamente renderizado
const updatePosition = () => {
requestAnimationFrame(() => {
const pos = calcularPosicaoModal();
if (pos) {
modalPosition = pos;
// Usar requestAnimationFrame para garantir que o DOM está completamente renderizado
const updatePosition = () => {
requestAnimationFrame(() => {
const pos = calcularPosicaoModal();
if (pos) {
modalPosition = pos;
} else {
// Fallback para centralização
modalPosition = {
top: window.innerHeight / 2,
left: window.innerWidth / 2
};
}
});
};
}
});
};
// Aguardar um pouco para garantir que o DOM está atualizado
setTimeout(updatePosition, 50);
// Adicionar listener de scroll para atualizar posição
const handleScroll = () => {
updatePosition();
};
window.addEventListener('scroll', handleScroll, true);
window.addEventListener('resize', handleScroll);
return () => {
window.removeEventListener('scroll', handleScroll, true);
window.removeEventListener('resize', handleScroll);
};
setTimeout(updatePosition, 50);
// Adicionar listener de scroll para atualizar posição
const handleScroll = () => {
updatePosition();
};
window.addEventListener('scroll', handleScroll, true);
window.addEventListener('resize', handleScroll);
return () => {
window.removeEventListener('scroll', handleScroll, true);
window.removeEventListener('resize', handleScroll);
};
} else {
// Limpar posição quando o modal for fechado
modalPosition = null;

View File

@@ -1952,7 +1952,7 @@
<div class="grid grid-cols-1 gap-6 md:grid-cols-2">
<div class="form-control md:col-span-2">
<FuncionarioSelect bind:value={atestadoMedico.funcionarioId} required={true} />
<FuncionarioSelect bind:value={atestadoMedico.funcionarioId} required={true} />
</div>
<div class="form-control">
@@ -2098,7 +2098,7 @@
<div class="grid grid-cols-1 gap-6 md:grid-cols-2">
<div class="form-control md:col-span-2">
<FuncionarioSelect bind:value={declaracao.funcionarioId} required={true} />
<FuncionarioSelect bind:value={declaracao.funcionarioId} required={true} />
</div>
<div class="form-control">
@@ -2226,7 +2226,7 @@
<div class="grid grid-cols-1 gap-6 md:grid-cols-2">
<div class="form-control md:col-span-2">
<FuncionarioSelect bind:value={licencaMaternidade.funcionarioId} required={true} />
<FuncionarioSelect bind:value={licencaMaternidade.funcionarioId} required={true} />
</div>
<div class="form-control">
@@ -2396,7 +2396,7 @@
<div class="grid grid-cols-1 gap-6 md:grid-cols-2">
<div class="form-control md:col-span-2">
<FuncionarioSelect bind:value={licencaPaternidade.funcionarioId} required={true} />
<FuncionarioSelect bind:value={licencaPaternidade.funcionarioId} required={true} />
</div>
<div class="form-control">
@@ -2697,7 +2697,7 @@
</div>
</div>
{/if}
</main>
</main>
<!-- Modal de Erro -->
<ErrorModal