Compare commits

..

No commits in common. "ef244b730ce7078daf0c64240351b750353b4129" and "e0a359acb93daf39d1f4f843232576a511e1642d" have entirely different histories.

3 changed files with 22 additions and 31 deletions

View File

@ -219,13 +219,13 @@ watch(isOpen, (val) => emit('update:modelValue', val));
// Mapeamento de nomes para valores de dias // Mapeamento de nomes para valores de dias
const diaSemanaMap = { const diaSemanaMap = {
'Domingo': 1, 'Domingo': 0,
'Segunda-feira': 2, 'Segunda-feira': 1,
'Terça-feira': 3, 'Terça-feira': 2,
'Quarta-feira': 4, 'Quarta-feira': 3,
'Quinta-feira': 5, 'Quinta-feira': 4,
'Sexta-feira': 6, 'Sexta-feira': 5,
'Sábado': 7 'Sábado': 6
}; };
// Atualiza os dados do formulário com shiftData recebido // Atualiza os dados do formulário com shiftData recebido

View File

@ -112,11 +112,11 @@ export const useShiftStore = defineStore('shifts', {
end_time: shiftData.end_time, end_time: shiftData.end_time,
interval_start: shiftData.interval_start, interval_start: shiftData.interval_start,
interval_end: shiftData.interval_end, interval_end: shiftData.interval_end,
type_interval: shiftData.type_interval || 'manual', // "manual" ou "automatic" dependendo da checkbox type_interval: shiftData.type_interval, // "manual" ou "automatic" dependendo da checkbox
description: shiftData.description || '', description: shiftData.description || '',
tolerance: shiftData.tolerance || 0, tolerance: shiftData.tolerance || 0,
service_instance_id: authStore.service_instance_id, service_instance_id: authStore.service_instance_id,
time_schedule_ids: shiftData.time_schedule_ids || [], time_schedule_ids: shiftData.time_schedule_ids || []
}; };
console.log('Enviando dados para a API:', payload); console.log('Enviando dados para a API:', payload);
@ -153,24 +153,18 @@ export const useShiftStore = defineStore('shifts', {
/** /**
* Atualiza os dados de um turno * Atualiza os dados de um turno
*/ */
async updateShift(id, shiftData) { async updateShift(id, shift) {
const url = `/shift/${id}`; const url = `/shift/${id}`;
this.loading = true; this.loading = true;
this.error = null; this.error = null;
const authStore = useAuthStore();
try { try {
const response = await api.put(url, { const response = await api.put(url, {
name: shiftData.nome, name: shift.name,
start_time: shiftData.entrada, days: shift.days,
end_time: shiftData.saida_final, break_time: shift.break_time,
interval_start: shiftData.saida_almoco, break_type: shift.break_type,
interval_end: shiftData.retorno_almoco, status: shift.status,
type_interval: shiftData.almoco_automatico ? 'Automatico' : 'Manual', // "manual" ou "automatic" dependendo da checkbox
description: shiftData.descricao || '',
tolerance: shiftData.tolerancia || 0,
service_instance_id: authStore.service_instance_id,
time_schedule_ids: shiftData.dias_semana || []
}); });
const index = this.shifts.findIndex((s) => s.id === id); const index = this.shifts.findIndex((s) => s.id === id);

View File

@ -65,7 +65,7 @@
</div> </div>
</template> </template>
<template v-slot:item.almoco_type="{ item }"> <template v-slot:item.almoco_type="{ item }">
{{ item.type_interval === 'automatic' ? 'Automatico' : 'Manual' }} {{ item.type_interval === 'auto' ? 'Automático' : 'Manual' }}
</template> </template>
<template v-slot:item.actions="{ item }"> <template v-slot:item.actions="{ item }">
<v-icon size="small" class="mr-2" @click="openEditShiftDialog(item.id)">mdi-pencil</v-icon> <v-icon size="small" class="mr-2" @click="openEditShiftDialog(item.id)">mdi-pencil</v-icon>
@ -200,10 +200,7 @@ export default {
interval_start: data.interval_start || '', interval_start: data.interval_start || '',
interval_end: data.interval_end || '', interval_end: data.interval_end || '',
type_interval: data.type_interval || '', type_interval: data.type_interval || '',
tolerance: data.tolerance || '', tolerance: data.tolerance || ''
description: data.description || '',
time_schedules: data.time_schedules || []
}; };
dialogs.value.editShift = true; dialogs.value.editShift = true;
}; };
@ -222,19 +219,19 @@ export default {
}; };
const submitEdit = async (data) => { const submitEdit = async (data) => {
//await shiftStore.updateShift(data.id, data); await shiftStore.updateShift(data.id, data);
await shiftStore.fetchShifts(); await fetchShifts();
showNotification('Escala atualizada com sucesso'); showNotification('Escala atualizada com sucesso');
dialogs.value.editShift = false; dialogs.value.editShift = false;
}; };
const handleCreatedShift = async () => { const handleCreatedShift = async () => {
await shiftStore.fetchShifts(); // função que carrega os turnos da API await fetchShifts(); // função que carrega os turnos da API
showNotification('Escala criada com sucesso!'); showNotification('Escala criada com sucesso!');
dialogs.value.createShift = false; dialogs.value.createShift = false;
}; };
const handleEditedShift = async () => { const handleEditedShift = async () => {
await shiftStore.fetchShifts(); // 🔁 recarrega os dados atualizados da API await fetchShifts(); // 🔁 recarrega os dados atualizados da API
dialogs.value.editShift = false; // fecha o modal dialogs.value.editShift = false; // fecha o modal
showNotification('Escala atualizada com sucesso!'); showNotification('Escala atualizada com sucesso!');
}; };
@ -267,7 +264,7 @@ export default {
dialogs, loading, filters, shifts, snackbar, forms, dialogs, loading, filters, shifts, snackbar, forms,
page, itemsPerPage, headers, itemToDelete, page, itemsPerPage, headers, itemToDelete,
formatTimeRange, openCreateShiftDialog, openEditShiftDialog, formatTimeRange, openCreateShiftDialog, openEditShiftDialog,
confirmDelete, deleteItem, submitEdit, handleCreatedShift,handleEditedShift, filteredshifts confirmDelete, deleteItem, submitEdit, handleCreatedShift, filteredshifts
}; };
} }
}; };