New-Thanasoft/thanasoft
2025-11-05 17:09:12 +03:00

142 lines
3.1 KiB
Plaintext

<template>
<div class="container-fluid py-4">
<div class="row">
<div class="col-12">
<div class="card mb-4">
<div class="card-header pb-0">
<div class="d-flex align-items-center">
<p class="mb-0 font-weight-bold text-lg">Gestion des Employés</p>
</div>
</div>
<div class="card-body px-0 pt-0 pb-2">
<div class="table-responsive p-0">
<!-- Filter and Action Bar -->
<div
class="d-flex justify-content-between align-items-center mb-4 px-4"
>
<div class="d-flex align-items-center">
<slot name="select-filter">
<filter-table />
</slot>
</div>
<div class="d-flex align-items-center gap-2">
<slot name="employee-other-action">
<table-action />
</slot>
<slot name="employee-new-action">
<add-button text="Ajouter" @click="goToEmployee" />
</slot>
</div>
</div>
<!-- Main Content Area -->
<div class="employee-content">
<slot name="employee-table">
<!-- Default table slot - will be overridden by specific implementations -->
</slot>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script setup>
import FilterTable from "@/components/molecules/Tables/FilterTable.vue";
import TableAction from "@/components/molecules/Tables/TableAction.vue";
import addButton from "@/components/molecules/new-button/addButton.vue";
import { useRouter } from "vue-router";
const router = useRouter();
const goToEmployee = () => {
router.push({
name: "Creation employé",
});
};
</script>
<style scoped>
.container-fluid {
padding-left: 1.5rem;
padding-right: 1.5rem;
}
.card {
border-radius: 0.5rem;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
border: none;
}
.card-header {
background-color: transparent;
border-bottom: 1px solid #e9ecef;
padding: 1.5rem;
}
.card-body {
padding: 1.5rem;
}
.text-lg {
font-size: 1.125rem;
}
.employee-content {
position: relative;
}
.d-flex {
display: flex;
}
.align-items-center {
align-items: center;
}
.justify-content-between {
justify-content: space-between;
}
.gap-2 {
gap: 0.5rem;
}
.mb-4 {
margin-bottom: 1.5rem;
}
.px-4 {
padding-left: 1.5rem;
padding-right: 1.5rem;
}
.font-weight-bold {
font-weight: 600;
}
.text-primary {
color: #5e72e4 !important;
}
@media (max-width: 768px) {
.container-fluid {
padding-left: 1rem;
padding-right: 1rem;
}
.d-flex {
flex-direction: column;
align-items: stretch;
gap: 1rem;
}
.d-flex.gap-2 {
flex-direction: row;
justify-content: center;
}
}
</style>