diff --git a/src/components/modals/EditShiftModal.vue b/src/components/modals/EditShiftModal.vue
index f2315d9..0053f05 100644
--- a/src/components/modals/EditShiftModal.vue
+++ b/src/components/modals/EditShiftModal.vue
@@ -112,49 +112,49 @@
emit('update:modelValue', val));
// Mapeamento de nomes para valores de dias
const diaSemanaMap = {
- 'Domingo': 0,
- 'Segunda-feira': 1,
- 'Terça-feira': 2,
- 'Quarta-feira': 3,
- 'Quinta-feira': 4,
- 'Sexta-feira': 5,
- 'Sábado': 6
+ 'Domingo': 1,
+ 'Segunda-feira': 2,
+ 'Terça-feira': 3,
+ 'Quarta-feira': 4,
+ 'Quinta-feira': 5,
+ 'Sexta-feira': 6,
+ 'Sábado': 7
};
// Atualiza os dados do formulário com shiftData recebido
@@ -255,6 +255,7 @@ function fechar() {
async function submit() {
try {
loading.value = true;
+ console.log('Dados do formulário:', form.value);
await shiftStore.updateShift(form.value.id, form.value);
emit('save', form.value); // notifica o pai
fechar();
diff --git a/src/components/modals/HolidayModal.vue b/src/components/modals/HolidayModal.vue
index 525316c..8fc8c48 100644
--- a/src/components/modals/HolidayModal.vue
+++ b/src/components/modals/HolidayModal.vue
@@ -135,6 +135,9 @@ const handleSave = async () => {
...localHoliday.value,
adicional_he: parseInt(localHoliday.value.adicional_he) || 0,
parent_id: authStore.userId,
+ date: typeof localHoliday.value.date === 'string'
+ ? localHoliday.value.date
+ : new Date(localHoliday.value.date).toISOString().split('T')[0],
service_instance_id: authStore.service_instance_id
};
diff --git a/src/components/modals/HolidayModalCreate.vue b/src/components/modals/HolidayModalCreate.vue
index 11d87f7..253b8a8 100644
--- a/src/components/modals/HolidayModalCreate.vue
+++ b/src/components/modals/HolidayModalCreate.vue
@@ -146,6 +146,9 @@ const handleSave = async () => {
...localHoliday.value,
adicional_he: parseInt(localHoliday.value.adicional_he) || 0,
parent_id: authStore.userId,
+ date: typeof localHoliday.value.date === 'string'
+ ? localHoliday.value.date
+ : new Date(localHoliday.value.date).toISOString().split('T')[0],
service_instance_id: authStore.service_instance_id
};
diff --git a/src/stores/shift.js b/src/stores/shift.js
index c5a21be..6c41401 100644
--- a/src/stores/shift.js
+++ b/src/stores/shift.js
@@ -153,18 +153,24 @@ export const useShiftStore = defineStore('shifts', {
/**
* Atualiza os dados de um turno
*/
- async updateShift(id, shift) {
+ async updateShift(id, shiftData) {
const url = `/shift/${id}`;
this.loading = true;
this.error = null;
-
+ const authStore = useAuthStore();
+
try {
const response = await api.put(url, {
- name: shift.name,
- days: shift.days,
- break_time: shift.break_time,
- break_type: shift.break_type,
- status: shift.status,
+ name: shiftData.nome,
+ description: shiftData.descricao,
+ start_time: shiftData.entrada,
+ end_time: shiftData.saida_final,
+ interval_start: shiftData.saida_almoco,
+ interval_end: shiftData.retorno_almoco,
+ type_interval: shiftData.almoco_automatico ? 'automatic' : 'manual',
+ 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);
diff --git a/src/views/Shifts.vue b/src/views/Shifts.vue
index 4dc1448..342c960 100644
--- a/src/views/Shifts.vue
+++ b/src/views/Shifts.vue
@@ -65,8 +65,9 @@
- {{ item.type_interval === 'auto' ? 'Automático' : 'Manual' }}
+ {{ item.type_interval === 'automatic' ? 'Automático' : 'Manual' }}
+
mdi-pencil
mdi-delete
@@ -200,7 +201,9 @@ export default {
interval_start: data.interval_start || '',
interval_end: data.interval_end || '',
type_interval: data.type_interval || '',
- tolerance: data.tolerance || ''
+ tolerance: data.tolerance || '',
+ description: data.description || '' ,
+ time_schedules: data.time_schedules || []
};
dialogs.value.editShift = true;
};
@@ -219,8 +222,8 @@ export default {
};
const submitEdit = async (data) => {
- await shiftStore.updateShift(data.id, data);
- await fetchShifts();
+ //await shiftStore.updateShift(data.id, data);
+ await shiftStore.fetchShifts();
showNotification('Escala atualizada com sucesso');
dialogs.value.editShift = false;
};
@@ -264,7 +267,7 @@ export default {
dialogs, loading, filters, shifts, snackbar, forms,
page, itemsPerPage, headers, itemToDelete,
formatTimeRange, openCreateShiftDialog, openEditShiftDialog,
- confirmDelete, deleteItem, submitEdit, handleCreatedShift, filteredshifts
+ confirmDelete, deleteItem, submitEdit, handleCreatedShift,handleEditedShift, filteredshifts
};
}
};