diff --git a/apps/web/src/lib/components/ponto/PrintPontoModal.svelte b/apps/web/src/lib/components/ponto/PrintPontoModal.svelte new file mode 100644 index 0000000..1c2cb45 --- /dev/null +++ b/apps/web/src/lib/components/ponto/PrintPontoModal.svelte @@ -0,0 +1,200 @@ + + + diff --git a/apps/web/src/lib/components/ponto/WidgetGestaoPontos.svelte b/apps/web/src/lib/components/ponto/WidgetGestaoPontos.svelte index ce48be3..1bc3c14 100644 --- a/apps/web/src/lib/components/ponto/WidgetGestaoPontos.svelte +++ b/apps/web/src/lib/components/ponto/WidgetGestaoPontos.svelte @@ -1,5 +1,5 @@ @@ -62,6 +62,86 @@
+ ++ Edite registros de ponto e ajuste banco de horas +
++ Gerencie períodos de dispensa de registro de ponto +
+Gerencie registros, homologações e dispensas de ponto
++ Visualizar e gerenciar registros de ponto dos funcionários, relatórios e histórico +
++ Edite registros de ponto do seu time, ajuste banco de horas (compensar, abonar ou descontar) +
++ Gerencie períodos onde funcionários estão dispensados de registrar ponto +
+Gerencie períodos de dispensa de registro de ponto
++ Se marcado, o funcionário ficará permanentemente dispensado de registrar ponto +
+| Funcionário | +Período | +Motivo | +Status | +Gestor | +Ações | +
|---|---|---|---|---|---|
|
+ {dispensa.funcionario?.nome || '-'}
+ {#if dispensa.funcionario?.matricula}
+ + + Mat: {dispensa.funcionario.matricula} + + {/if} + |
+
+
+
+
+ Início:{' '}
+ {formatarDataHora(dispensa.dataInicio, dispensa.horaInicio, dispensa.minutoInicio)}
+
+
+ Fim:{' '}
+ {formatarDataHora(dispensa.dataFim, dispensa.horaFim, dispensa.minutoFim)}
+
+ |
+ {dispensa.motivo} | ++ {#if dispensa.isento} + Isento (sem expiração) + {:else if dispensa.expirada} + Expirada + {:else} + Ativa + {/if} + | +{dispensa.gestor?.nome || '-'} | ++ + | +
Edite registros de ponto e ajuste banco de horas
+| Data | +Tipo | +Horário | +Status | +Ações | +
|---|---|---|---|---|
| {registro.data} | ++ {getTipoRegistroLabel(registro.tipo)} + | +{formatarHoraPonto(registro.hora, registro.minuto)} | ++ + {registro.dentroDoPrazo ? 'Dentro do Prazo' : 'Fora do Prazo'} + + | ++ + | +
| Data | + {#if !funcionarioSelecionado} +Funcionário | + {/if} +Tipo | +Detalhes | +Motivo | +Observações | +
|---|---|---|---|---|---|
| + {new Date(homologacao.criadoEm).toLocaleDateString('pt-BR')} + | + {#if !funcionarioSelecionado} +
+ {homologacao.funcionario?.nome || '-'}
+ {#if homologacao.funcionario?.matricula}
+ + + Mat: {homologacao.funcionario.matricula} + + {/if} + |
+ {/if}
+ + {#if homologacao.registroId} + Edição de Registro + {:else if homologacao.tipoAjuste} + + Ajuste: {homologacao.tipoAjuste} + + {/if} + | +
+ {#if homologacao.horaAnterior !== undefined}
+
+
+ {formatarHoraPonto(homologacao.horaAnterior, homologacao.minutoAnterior || 0)}
+
+ {' → '}
+
+ {formatarHoraPonto(homologacao.horaNova || 0, homologacao.minutoNova || 0)}
+
+
+ {:else if homologacao.ajusteMinutos}
+
+ {homologacao.periodoDias || 0}d {homologacao.periodoHoras || 0}h{' '}
+ {homologacao.periodoMinutos || 0}min
+
+ {/if}
+ |
+
+
+ {homologacao.motivoDescricao || homologacao.motivoTipo || '-'}
+
+ |
+
+
+ {homologacao.observacoes || '-'}
+
+ |
+