feat: Add 'atas' (minutes/records) management feature, and implement various improvements across UI, backend logic, and authentication.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { CheckCircle2, X, Printer } from 'lucide-svelte';
|
||||
import type { Id } from '@sgse-app/backend/convex/_generated/dataModel';
|
||||
import { CheckCircle2, Printer, X } from 'lucide-svelte';
|
||||
|
||||
interface Props {
|
||||
funcionarioId: Id<'funcionarios'>;
|
||||
@@ -15,18 +15,18 @@
|
||||
}) => void;
|
||||
}
|
||||
|
||||
let { funcionarioId, onClose, onGenerate }: Props = $props();
|
||||
const { funcionarioId, onClose, onGenerate }: Props = $props();
|
||||
|
||||
let modalRef: HTMLDialogElement;
|
||||
|
||||
// Seções selecionáveis
|
||||
let sections = $state({
|
||||
const sections = $state({
|
||||
dadosFuncionario: true,
|
||||
registrosPonto: true,
|
||||
saldoDiario: true,
|
||||
bancoHoras: true,
|
||||
alteracoesGestor: true,
|
||||
dispensasRegistro: true,
|
||||
dispensasRegistro: true
|
||||
});
|
||||
|
||||
function selectAll() {
|
||||
@@ -62,14 +62,14 @@
|
||||
|
||||
<dialog bind:this={modalRef} class="modal modal-open">
|
||||
<div class="modal-box max-w-4xl">
|
||||
<div class="flex items-center justify-between mb-6">
|
||||
<h3 class="font-bold text-2xl">Selecionar Campos para Impressão</h3>
|
||||
<div class="mb-6 flex items-center justify-between">
|
||||
<h3 class="text-2xl font-bold">Selecionar Campos para Impressão</h3>
|
||||
<button class="btn btn-sm btn-circle btn-ghost" onclick={handleClose} aria-label="Fechar">
|
||||
<X class="h-5 w-5" />
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6">
|
||||
<div class="mb-6 grid grid-cols-1 gap-4 md:grid-cols-2">
|
||||
<!-- Seção 1: Dados do Funcionário -->
|
||||
<div class="card bg-base-200">
|
||||
<div class="card-body p-4">
|
||||
@@ -81,7 +81,7 @@
|
||||
bind:checked={sections.dadosFuncionario}
|
||||
/>
|
||||
</label>
|
||||
<p class="text-sm text-base-content/70 mt-2">
|
||||
<p class="text-base-content/70 mt-2 text-sm">
|
||||
Nome, matrícula, cargo e informações básicas
|
||||
</p>
|
||||
</div>
|
||||
@@ -98,7 +98,7 @@
|
||||
bind:checked={sections.registrosPonto}
|
||||
/>
|
||||
</label>
|
||||
<p class="text-sm text-base-content/70 mt-2">
|
||||
<p class="text-base-content/70 mt-2 text-sm">
|
||||
Data, tipo, horário e status de cada registro
|
||||
</p>
|
||||
</div>
|
||||
@@ -115,7 +115,7 @@
|
||||
bind:checked={sections.saldoDiario}
|
||||
/>
|
||||
</label>
|
||||
<p class="text-sm text-base-content/70 mt-2">
|
||||
<p class="text-base-content/70 mt-2 text-sm">
|
||||
Saldo em horas e minutos de cada dia (positivo/negativo)
|
||||
</p>
|
||||
</div>
|
||||
@@ -132,9 +132,7 @@
|
||||
bind:checked={sections.bancoHoras}
|
||||
/>
|
||||
</label>
|
||||
<p class="text-sm text-base-content/70 mt-2">
|
||||
Saldo acumulado do banco de horas
|
||||
</p>
|
||||
<p class="text-base-content/70 mt-2 text-sm">Saldo acumulado do banco de horas</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -149,7 +147,7 @@
|
||||
bind:checked={sections.alteracoesGestor}
|
||||
/>
|
||||
</label>
|
||||
<p class="text-sm text-base-content/70 mt-2">
|
||||
<p class="text-base-content/70 mt-2 text-sm">
|
||||
Edições e ajustes realizados pelo gestor (se houver)
|
||||
</p>
|
||||
</div>
|
||||
@@ -166,7 +164,7 @@
|
||||
bind:checked={sections.dispensasRegistro}
|
||||
/>
|
||||
</label>
|
||||
<p class="text-sm text-base-content/70 mt-2">
|
||||
<p class="text-base-content/70 mt-2 text-sm">
|
||||
Períodos onde o funcionário esteve dispensado de registrar ponto
|
||||
</p>
|
||||
</div>
|
||||
@@ -175,18 +173,12 @@
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<div class="flex gap-2">
|
||||
<button class="btn btn-sm btn-outline" onclick={selectAll}>
|
||||
Selecionar Todos
|
||||
</button>
|
||||
<button class="btn btn-sm btn-outline" onclick={deselectAll}>
|
||||
Desmarcar Todos
|
||||
</button>
|
||||
<button class="btn btn-sm btn-outline" onclick={selectAll}> Selecionar Todos </button>
|
||||
<button class="btn btn-sm btn-outline" onclick={deselectAll}> Desmarcar Todos </button>
|
||||
</div>
|
||||
|
||||
<div class="flex gap-2">
|
||||
<button class="btn btn-ghost" onclick={handleClose}>
|
||||
Cancelar
|
||||
</button>
|
||||
<button class="btn btn-ghost" onclick={handleClose}> Cancelar </button>
|
||||
<button class="btn btn-primary gap-2" onclick={handleGenerate}>
|
||||
<Printer class="h-4 w-4" />
|
||||
Gerar PDF
|
||||
|
||||
Reference in New Issue
Block a user