feat: enhance dispensa management with modal confirmation and time input improvements
- Introduced a modal for confirming the removal of dispensas, improving user interaction and preventing accidental deletions. - Updated time input fields to use a more user-friendly format, allowing for direct time selection. - Refactored state management for dispensa creation, ensuring better handling of time and date inputs. - Enhanced UI elements for better feedback and clarity during the dispensa creation process.
This commit is contained in:
@@ -384,15 +384,32 @@ export const listarRegistrosPeriodo = query({
|
||||
const dataFim = new Date(args.dataFim);
|
||||
dataFim.setHours(23, 59, 59, 999);
|
||||
|
||||
const registros = await ctx.db
|
||||
.query('registrosPonto')
|
||||
.withIndex('by_data', (q) => q.gte('data', args.dataInicio).lte('data', args.dataFim))
|
||||
.collect();
|
||||
|
||||
// Filtrar por funcionário se especificado
|
||||
let registrosFiltrados = registros;
|
||||
let registrosFiltrados;
|
||||
|
||||
// Se funcionário foi especificado, usar índice por funcionário e data (mais eficiente)
|
||||
if (args.funcionarioId) {
|
||||
registrosFiltrados = registros.filter((r) => r.funcionarioId === args.funcionarioId);
|
||||
// Garantir que funcionarioId não é undefined para TypeScript
|
||||
const funcionarioId = args.funcionarioId;
|
||||
|
||||
// Buscar todos os registros do funcionário
|
||||
const todosRegistrosFuncionario = await ctx.db
|
||||
.query('registrosPonto')
|
||||
.withIndex('by_funcionario_data', (q) => q.eq('funcionarioId', funcionarioId))
|
||||
.collect();
|
||||
|
||||
// Filtrar por período de data
|
||||
registrosFiltrados = todosRegistrosFuncionario.filter((r) => {
|
||||
const dataRegistro = new Date(r.data);
|
||||
return dataRegistro >= new Date(args.dataInicio) && dataRegistro <= dataFim;
|
||||
});
|
||||
} else {
|
||||
// Se não há funcionário especificado, buscar todos e filtrar (menos eficiente, mas necessário)
|
||||
const registros = await ctx.db
|
||||
.query('registrosPonto')
|
||||
.withIndex('by_data', (q) => q.gte('data', args.dataInicio).lte('data', args.dataFim))
|
||||
.collect();
|
||||
|
||||
registrosFiltrados = registros;
|
||||
}
|
||||
|
||||
// Buscar informações dos funcionários
|
||||
|
||||
Reference in New Issue
Block a user