pagina escala completa
This commit is contained in:
parent
b990a88325
commit
374ebe8ac6
@ -112,49 +112,49 @@
|
|||||||
<div class="mb-4">
|
<div class="mb-4">
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
v-model="form.dias_semana"
|
v-model="form.dias_semana"
|
||||||
:value="0"
|
:value="1"
|
||||||
label="Domingo"
|
label="Domingo"
|
||||||
hide-details
|
hide-details
|
||||||
class="d-inline-block mr-4"
|
class="d-inline-block mr-4"
|
||||||
></v-checkbox>
|
></v-checkbox>
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
v-model="form.dias_semana"
|
v-model="form.dias_semana"
|
||||||
:value="1"
|
:value="2"
|
||||||
label="Segunda"
|
label="Segunda"
|
||||||
hide-details
|
hide-details
|
||||||
class="d-inline-block mr-4"
|
class="d-inline-block mr-4"
|
||||||
></v-checkbox>
|
></v-checkbox>
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
v-model="form.dias_semana"
|
v-model="form.dias_semana"
|
||||||
:value="2"
|
:value="3"
|
||||||
label="Terça"
|
label="Terça"
|
||||||
hide-details
|
hide-details
|
||||||
class="d-inline-block mr-4"
|
class="d-inline-block mr-4"
|
||||||
></v-checkbox>
|
></v-checkbox>
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
v-model="form.dias_semana"
|
v-model="form.dias_semana"
|
||||||
:value="3"
|
:value="4"
|
||||||
label="Quarta"
|
label="Quarta"
|
||||||
hide-details
|
hide-details
|
||||||
class="d-inline-block mr-4"
|
class="d-inline-block mr-4"
|
||||||
></v-checkbox>
|
></v-checkbox>
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
v-model="form.dias_semana"
|
v-model="form.dias_semana"
|
||||||
:value="4"
|
:value="5"
|
||||||
label="Quinta"
|
label="Quinta"
|
||||||
hide-details
|
hide-details
|
||||||
class="d-inline-block mr-4"
|
class="d-inline-block mr-4"
|
||||||
></v-checkbox>
|
></v-checkbox>
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
v-model="form.dias_semana"
|
v-model="form.dias_semana"
|
||||||
:value="5"
|
:value="6"
|
||||||
label="Sexta"
|
label="Sexta"
|
||||||
hide-details
|
hide-details
|
||||||
class="d-inline-block mr-4"
|
class="d-inline-block mr-4"
|
||||||
></v-checkbox>
|
></v-checkbox>
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
v-model="form.dias_semana"
|
v-model="form.dias_semana"
|
||||||
:value="6"
|
:value="7"
|
||||||
label="Sábado"
|
label="Sábado"
|
||||||
hide-details
|
hide-details
|
||||||
class="d-inline-block"
|
class="d-inline-block"
|
||||||
|
|||||||
@ -112,7 +112,7 @@ 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,
|
||||||
@ -166,7 +166,7 @@ export const useShiftStore = defineStore('shifts', {
|
|||||||
end_time: shiftData.saida_final,
|
end_time: shiftData.saida_final,
|
||||||
interval_start: shiftData.saida_almoco,
|
interval_start: shiftData.saida_almoco,
|
||||||
interval_end: shiftData.retorno_almoco,
|
interval_end: shiftData.retorno_almoco,
|
||||||
type_interval: shiftData.almoco_automatico ? 'Automatico' : 'Manual', // "manual" ou "automatic" dependendo da checkbox
|
type_interval: shiftData.almoco_automatico ? 'automatic' : 'Manual', // "manual" ou "automatic" dependendo da checkbox
|
||||||
description: shiftData.descricao || '',
|
description: shiftData.descricao || '',
|
||||||
tolerance: shiftData.tolerancia || 0,
|
tolerance: shiftData.tolerancia || 0,
|
||||||
service_instance_id: authStore.service_instance_id,
|
service_instance_id: authStore.service_instance_id,
|
||||||
|
|||||||
@ -65,8 +65,9 @@
|
|||||||
</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.almoco_type }}
|
||||||
</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>
|
||||||
<v-icon size="small" @click="confirmDelete('shift', item)">mdi-delete</v-icon>
|
<v-icon size="small" @click="confirmDelete('shift', item)">mdi-delete</v-icon>
|
||||||
@ -175,8 +176,11 @@ export default {
|
|||||||
shifts.value = data.map(shift => ({
|
shifts.value = data.map(shift => ({
|
||||||
...shift,
|
...shift,
|
||||||
formatted_days: formatDays(shift.time_schedules),
|
formatted_days: formatDays(shift.time_schedules),
|
||||||
horarios: formatFullSchedule(shift)
|
horarios: formatFullSchedule(shift),
|
||||||
|
almoco_type: shift.type_interval?.toLowerCase() === 'automatic' ? 'Automático' : 'Manual'
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
||||||
} catch {
|
} catch {
|
||||||
showNotification('Erro ao carregar escalas', 'error');
|
showNotification('Erro ao carregar escalas', 'error');
|
||||||
} finally {
|
} finally {
|
||||||
@ -229,13 +233,13 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleCreatedShift = async () => {
|
const handleCreatedShift = async () => {
|
||||||
await shiftStore.fetchShifts(); // função que carrega os turnos da API
|
await fetchShifts();
|
||||||
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();
|
||||||
dialogs.value.editShift = false; // ❌ fecha o modal
|
dialogs.value.editShift = false;
|
||||||
showNotification('Escala atualizada com sucesso!');
|
showNotification('Escala atualizada com sucesso!');
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -273,16 +277,16 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|
||||||
.header-container {
|
.header-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
background-color: #ffffff;
|
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
padding: 20px;
|
padding: 0 0 20px 0;
|
||||||
border-bottom: 1px solid #ffffff;
|
border-bottom: 1px solid #eaecef;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header-left {
|
.header-left {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user