diff --git a/apps/web/src/lib/components/ponto/ComprovantePonto.svelte b/apps/web/src/lib/components/ponto/ComprovantePonto.svelte new file mode 100644 index 0000000..aabb54f --- /dev/null +++ b/apps/web/src/lib/components/ponto/ComprovantePonto.svelte @@ -0,0 +1,344 @@ + + +
Matrícula: {registro.funcionario.matricula || 'N/A'}
+Nome: {registro.funcionario.nome}
+ {#if registro.funcionario.descricaoCargo} +Cargo/Função: {registro.funcionario.descricaoCargo}
+ {/if} + {/if} ++ Tipo: + {configQuery?.data + ? getTipoRegistroLabel(registro.tipo, { + nomeEntrada: configQuery.data.nomeEntrada, + nomeSaidaAlmoco: configQuery.data.nomeSaidaAlmoco, + nomeRetornoAlmoco: configQuery.data.nomeRetornoAlmoco, + nomeSaida: configQuery.data.nomeSaida, + }) + : getTipoRegistroLabel(registro.tipo)} +
++ Data e Hora: + {formatarDataHoraCompleta(registro.data, registro.hora, registro.minuto, registro.segundo)} +
++ Status: + + {registro.dentroDoPrazo ? 'Dentro do Prazo' : 'Fora do Prazo'} + +
+Tolerância: {registro.toleranciaMinutos} minutos
+Próximo registro: {tipoLabel}
+Saldo de Horas
++ {saldoFormatado} +
+Carga Horária Diária: {Math.floor(historicoSaldo.cargaHorariaDiaria / 60)}h {historicoSaldo.cargaHorariaDiaria % 60}min
+Horas Trabalhadas: {Math.floor(historicoSaldo.horasTrabalhadas / 60)}h {historicoSaldo.horasTrabalhadas % 60}min
++ {formatarHoraPonto(registro.hora, registro.minuto)} +
+ {#if registro.justificativa} +Justificativa:
+{registro.justificativa}
+Verifique as informações antes de confirmar
+Tipo de Registro
+{tipoLabel}
+Data
+{dataHoraAtual.data}
+Horário
+{dataHoraAtual.hora}
+Status
+Justificativa
+{justificativa}
+Registros de ponto do dia
+Gerencie e visualize os registros de ponto dos funcionários
++ Matrícula: {grupo.funcionario.matricula} +
+ {/if} +Banco de Horas
++ {formatarSaldoHoras(saldoAcumulado)} +
+| Data | +Tipo | +Horário | +Status | +Ações | +
|---|---|---|---|---|
| {registro.data} | ++ {config + ? getTipoRegistroLabel(registro.tipo, { + nomeEntrada: config.nomeEntrada, + nomeSaidaAlmoco: config.nomeSaidaAlmoco, + nomeRetornoAlmoco: config.nomeRetornoAlmoco, + nomeSaida: config.nomeSaida, + }) + : getTipoRegistroLabel(registro.tipo)} + | +{formatarHoraPonto(registro.hora, registro.minuto)} | ++ + {registro.dentroDoPrazo ? 'Dentro do Prazo' : 'Fora do Prazo'} + + | ++ + | +
Configure os horários de trabalho e tolerâncias
++ Personalize os nomes exibidos para cada tipo de registro de ponto +
+ +Configure a sincronização de tempo do sistema
++ Configure o fuso horário para ajustar o horário de registro. Use valores negativos para fusos a oeste de UTC e positivos para fusos a leste. +
++ Nota: O sistema usa uma API HTTP para sincronização de tempo como + aproximação do protocolo NTP. Para sincronização NTP real, seria necessário uma biblioteca + específica. +
++ Servidores NTP recomendados: pool.ntp.org, time.google.com, time.windows.com +
+