[#312] Création d'une page d'administration listing des fournisseurs (!16)
All checks were successful
Auto Tag Develop / tag (push) Successful in 5s
All checks were successful
Auto Tag Develop / tag (push) Successful in 5s
| 312 | Création d'une page d'administration listing des fournisseurs| |------------------|-----------------| | | | ## Description de la PR ## Modification du .env ## Check list - [ ] Pas de régression - [ ] TU/TI/TF rédigée - [ ] TU/TI/TF OK - [ ] CHANGELOG modifié Reviewed-on: #16 Reviewed-by: Autin <tristan@yuno.malio.fr> Co-authored-by: Matteo <matteo@yuno.malio.fr> Co-committed-by: Matteo <matteo@yuno.malio.fr>
This commit was merged in pull request #16.
This commit is contained in:
@@ -21,15 +21,18 @@
|
||||
</header>
|
||||
|
||||
<div class="grid grid-cols-[16rem,1fr] h-[calc(100vh-85px)] min-h-0">
|
||||
<aside class="bg-primary-500 text-white min-h-0 grid grid-rows-[auto,1fr,auto]">
|
||||
<div class="text-xl p-4 font-semibold">Tableau de bord</div>
|
||||
<NuxtLink to="/admin/carrier/carrier-list">
|
||||
<div class="p-4 font-semibold">Transporteur</div>
|
||||
</NuxtLink>
|
||||
|
||||
<div class="overflow-y-auto min-h-0 p-4 space-y-3">
|
||||
<aside class="bg-primary-500 text-white min-h-0 flex flex-col justify-between">
|
||||
<div class="flex flex-col gap-4 p-4 font-bold text-xl">
|
||||
<!-- Liste des liens à ajouter ci-dessous -->
|
||||
|
||||
<NuxtLink to="/admin/dashboard">
|
||||
Tableau de bord
|
||||
</NuxtLink>
|
||||
<NuxtLink to="/admin/supplier/supplier-list">
|
||||
Fournisseur
|
||||
</NuxtLink>
|
||||
<NuxtLink to="/admin/carrier/carrier-list">
|
||||
Transporteur
|
||||
</NuxtLink>
|
||||
</div>
|
||||
|
||||
<div class="p-4">
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<h1 class="text-3xl font-bold uppercase">listes des transporteurs</h1>
|
||||
<button
|
||||
@Click="goToCarrier()"
|
||||
class="text-xl uppercase bg-primary-500 text-white h-[50px] w-[272px] justify-self-end"
|
||||
class="text-xl uppercase bg-primary-500 text-white h-[50px] w-[272px] "
|
||||
>Ajouter
|
||||
</button>
|
||||
</div>
|
||||
|
||||
74
frontend/pages/admin/supplier/supplier-list.vue
Normal file
74
frontend/pages/admin/supplier/supplier-list.vue
Normal file
@@ -0,0 +1,74 @@
|
||||
<template>
|
||||
<div class="flex items-center justify-between">
|
||||
<h1 class="text-3xl font-bold uppercase"> Fournisseurs </h1>
|
||||
<NuxtLink to="/admin/supplier"
|
||||
class="flex items-center justify-center text-xl uppercase bg-primary-500 text-white h-[50px] w-[272px]"
|
||||
>
|
||||
Ajouter
|
||||
</NuxtLink>
|
||||
</div>
|
||||
<div class="mt-6 border border-slate-200 mb-16">
|
||||
<div class="max-h-96 overflow-y-auto">
|
||||
<div
|
||||
class="sticky top-0 z-10 grid grid-cols-6 gap-4 bg-slate-100 px-4 py-3 text-sm font-semibold uppercase tracking-wide"
|
||||
>
|
||||
<div>Nom</div>
|
||||
<div>Mail</div>
|
||||
<div>Rue</div>
|
||||
<div>Complément</div>
|
||||
<div>Code Postal</div>
|
||||
<div>Ville</div>
|
||||
</div>
|
||||
|
||||
<div v-for="supplier in supplierList" :key="supplier.id">
|
||||
<template v-if="supplier.addresses?.length">
|
||||
<div
|
||||
v-for="addr in supplier.addresses"
|
||||
:key="addr.id"
|
||||
class="grid grid-cols-6 hover:bg-slate-50 border-t gap-4 px-4 py-2"
|
||||
@click="goToSupplier(supplier.id)"
|
||||
>
|
||||
<div class="truncate">
|
||||
{{ supplier.name }}
|
||||
</div>
|
||||
<div class="truncate">
|
||||
{{ supplier.email }}
|
||||
</div>
|
||||
<div class="truncate">
|
||||
{{ addr.street }}
|
||||
</div>
|
||||
<div class="truncate">
|
||||
{{ addr.street2 }}
|
||||
</div>
|
||||
<div>{{ addr.postalCode }}</div>
|
||||
<div class="uppercase truncate">
|
||||
{{ addr.city }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import type {SupplierData} from "~/services/dto/supplier-data"
|
||||
import {getSupplierList} from "~/services/supplier"
|
||||
|
||||
definePageMeta({layout: "admin"})
|
||||
|
||||
const supplierList = ref<SupplierData[]>([])
|
||||
const router = useRouter()
|
||||
|
||||
|
||||
const goToSupplier = (id: number) => {
|
||||
router.push(`/admin/supplier/${id}`)
|
||||
}
|
||||
|
||||
onMounted(async () => {
|
||||
supplierList.value = (await getSupplierList(false)) ?? []
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user