Compare commits

..

2 Commits
mainn ... main

5 changed files with 17 additions and 24 deletions

View File

@ -112,49 +112,49 @@
<div class="mb-4">
<v-checkbox
v-model="form.dias_semana"
:value="1"
:value="0"
label="Domingo"
hide-details
class="d-inline-block mr-4"
></v-checkbox>
<v-checkbox
v-model="form.dias_semana"
:value="2"
:value="1"
label="Segunda"
hide-details
class="d-inline-block mr-4"
></v-checkbox>
<v-checkbox
v-model="form.dias_semana"
:value="3"
:value="2"
label="Terça"
hide-details
class="d-inline-block mr-4"
></v-checkbox>
<v-checkbox
v-model="form.dias_semana"
:value="4"
:value="3"
label="Quarta"
hide-details
class="d-inline-block mr-4"
></v-checkbox>
<v-checkbox
v-model="form.dias_semana"
:value="5"
:value="4"
label="Quinta"
hide-details
class="d-inline-block mr-4"
></v-checkbox>
<v-checkbox
v-model="form.dias_semana"
:value="6"
:value="5"
label="Sexta"
hide-details
class="d-inline-block mr-4"
></v-checkbox>
<v-checkbox
v-model="form.dias_semana"
:value="7"
:value="6"
label="Sábado"
hide-details
class="d-inline-block"
@ -255,7 +255,6 @@ 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();

View File

@ -135,9 +135,6 @@ 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
};

View File

@ -146,9 +146,6 @@ 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
};

View File

@ -112,11 +112,11 @@ export const useShiftStore = defineStore('shifts', {
end_time: shiftData.end_time,
interval_start: shiftData.interval_start,
interval_end: shiftData.interval_end,
type_interval: shiftData.type_interval, // "manual" ou "automatic" dependendo da checkbox
type_interval: shiftData.type_interval || 'manual', // "manual" ou "automatic" dependendo da checkbox
description: shiftData.description || '',
tolerance: shiftData.tolerance || 0,
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);
@ -162,12 +162,12 @@ export const useShiftStore = defineStore('shifts', {
try {
const response = await api.put(url, {
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',
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 || []

View File

@ -65,9 +65,8 @@
</div>
</template>
<template v-slot:item.almoco_type="{ item }">
{{ item.type_interval === 'automatic' ? 'Automático' : 'Manual' }}
{{ item.type_interval === 'automatic' ? 'Automatico' : 'Manual' }}
</template>
<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" @click="confirmDelete('shift', item)">mdi-delete</v-icon>
@ -204,6 +203,7 @@ export default {
tolerance: data.tolerance || '',
description: data.description || '',
time_schedules: data.time_schedules || []
};
dialogs.value.editShift = true;
};
@ -229,12 +229,12 @@ export default {
};
const handleCreatedShift = async () => {
await fetchShifts(); // função que carrega os turnos da API
await shiftStore.fetchShifts(); // função que carrega os turnos da API
showNotification('Escala criada com sucesso!');
dialogs.value.createShift = false;
};
const handleEditedShift = async () => {
await fetchShifts(); // 🔁 recarrega os dados atualizados da API
await shiftStore.fetchShifts(); // 🔁 recarrega os dados atualizados da API
dialogs.value.editShift = false; // fecha o modal
showNotification('Escala atualizada com sucesso!');
};