fix : corrections de tous les retours + modification de la seed et fixtures

This commit is contained in:
tristan
2026-02-16 16:26:00 +01:00
parent 08e7c1508c
commit be29daf4d1
41 changed files with 253 additions and 207 deletions
+16 -8
View File
@@ -1,19 +1,19 @@
<template>
<form @submit.prevent="validate">
<div class="flex items-center justify-between ">
<div class="flex items-center justify-between">
<h1 class="text-3xl font-bold uppercase">
{{ route.params.id ? 'Modifier transporteur' : 'Ajout transporteur' }}
</h1>
<button
<UiButton
type="submit"
class="text-xl uppercase bg-primary-500 text-white h-[50px] w-[272px] justify-self-end"
>Enregistrer
</button>
</UiButton>
</div>
<div class="grid grid-cols-2 items-start gap-y-8 gap-x-40 mb-16">
<div class="grid grid-cols-2 items-start gap-y-8 gap-x-40 py-12">
<UiTextInput
label = "nom du fournisseur"
id="carrier-name"
@@ -33,12 +33,20 @@
<script setup lang="ts">
import {createCarrier, getCarrier, updateCarrier} from "~/services/carrier";
import type {CarrierData, CarrierFormData} from "~/services/dto/carrier-data";
import {computed} from "vue";
const router = useRouter()
const route = useRoute()
const idCarrier = Number(route.params.id)
const idCarrier = computed(() => resolveId(route.params.id))
const isLoading = ref(false)
const isHydrating = ref(false)
const resolveId = (param: unknown) => {
const idStr = Array.isArray(param) ? param[0] : param
if (!idStr) return null
const id = Number(idStr)
return Number.isFinite(id) ? id : null
}
const form = reactive<CarrierFormData>({
code:'',
name:''
@@ -59,7 +67,7 @@ const hydrateFromUser = (carrier: CarrierData | null) => {
}
watch(
() => idCarrier,
() => idCarrier.value,
async (id) => {
if (id === null) {
return
@@ -85,8 +93,8 @@ async function validate() {
}
if(idCarrier){
await updateCarrier(idCarrier, basePayload)
if(idCarrier.value){
await updateCarrier(idCarrier.value, basePayload)
navigate()
return
}
@@ -1,11 +1,13 @@
<template>
<div class="flex items-center justify-between ">
<h1 class="text-3xl font-bold uppercase">listes des transporteurs</h1>
<h1 class="text-3xl font-bold uppercase text-primary-500">listes des transporteurs</h1>
<NuxtLink
to="/admin/carrier"
class="flex items-center justify-center text-xl uppercase bg-primary-500 text-white h-[50px] w-[272px]"
>Ajouter
class="inline-flex items-center justify-center gap-2 text-xl uppercase bg-primary-500 text-white h-[50px] px-8 rounded"
>
<Icon name="mdi:plus" size="28" />
Ajouter
</NuxtLink>
</div>
+4 -4
View File
@@ -5,13 +5,13 @@
{{ customerId ? "Modifications du client" : "Ajout d'un client" }}
</h1>
<button
<UiButton
class="text-xl uppercase bg-primary-500 text-white h-[50px] w-[272px]"
type="submit"
:disabled="isLoading || !auth.isAdmin"
>
{{ customerId ? "Sauvegarder" : "Ajouter" }}
</button>
</UiButton>
</div>
<div class="grid grid-cols-2 gap-y-8 gap-x-80 mb-10 py-12">
@@ -23,14 +23,14 @@
<div class="mx-24 mb-4 py-6 border-t border-black"></div>
<div class="flex items-center justify-between mb-4">
<h2 class="text-3xl font-bold uppercase">Adresses client</h2>
<button
<UiButton
type="button"
class="text-xl uppercase bg-primary-500 text-white h-[50px] w-[272px]"
:disabled="customerId === null || !auth.isAdmin"
@click="goToAddAddress"
>
Ajouter
</button>
</UiButton>
</div>
<div class="overflow-x-auto mb-10">
<table class="w-full border-collapse">
@@ -1,12 +1,13 @@
<template>
<div class="flex items-center justify-between">
<h1 class="text-3xl font-bold uppercase">Liste des Clients</h1>
<h1 class="text-3xl font-bold uppercase text-primary-500">Liste des Clients</h1>
<NuxtLink
to="/admin/customer"
class="flex items-center justify-center text-xl uppercase bg-primary-500 text-white h-[50px] w-[272px]"
class="inline-flex items-center justify-center gap-2 text-xl uppercase bg-primary-500 text-white h-[50px] px-8 rounded-md"
:class="auth.isAdmin ? '' : 'cursor-not-allowed opacity-60'"
@click="handleAddClick"
>
<Icon name="mdi:plus" size="28" />
Ajouter
</NuxtLink>
</div>
+4 -4
View File
@@ -5,13 +5,13 @@
{{ supplierId ? "Modifications du fournisseur" : "Ajout d'un fournisseur" }}
</h1>
<button
<UiButton
class="text-xl uppercase bg-primary-500 text-white h-[50px] w-[272px]"
type="submit"
:disabled="isLoading || !auth.isAdmin"
>
{{ supplierId ? "Sauvegarder" : "Ajouter" }}
</button>
</UiButton>
</div>
<div class="grid grid-cols-2 gap-y-8 gap-x-80 mb-10 py-12">
@@ -23,14 +23,14 @@
<div class="mx-24 mb-4 py-6 border-t border-black"></div>
<div class="flex items-center justify-between mb-4">
<h2 class="text-3xl font-bold uppercase">Adresses fournisseur</h2>
<button
<UiButton
type="button"
class="text-xl uppercase bg-primary-500 text-white h-[50px] w-[272px]"
:disabled="supplierId === null || !auth.isAdmin"
@click="goToAddAddress"
>
Ajouter
</button>
</UiButton>
</div>
<div class="overflow-x-auto mb-10">
<table class="w-full border-collapse">
@@ -1,12 +1,13 @@
<template>
<div class="flex items-center justify-between">
<h1 class="text-3xl font-bold uppercase">Liste des fournisseurs</h1>
<h1 class="text-3xl font-bold uppercase text-primary-500">Liste des fournisseurs</h1>
<NuxtLink
to="/admin/supplier"
class="flex items-center justify-center text-xl uppercase bg-primary-500 text-white h-[50px] w-[272px]"
class="inline-flex items-center justify-center gap-2 text-xl uppercase bg-primary-500 text-white h-[50px] px-8 rounded"
:class="auth.isAdmin ? '' : 'cursor-not-allowed opacity-60'"
@click="handleAddClick"
>
<Icon name="mdi:plus" size="28" />
Ajouter
</NuxtLink>
</div>
+3 -3
View File
@@ -5,15 +5,15 @@
<h1 class="text-3xl font-bold uppercase">
{{ userId ? "Modifications de l'utilisateur" : "Ajout d'un utilisateur" }}
</h1>
<button
<UiButton
class="text-xl uppercase bg-primary-500 text-white h-[50px] w-[272px]"
type="submit"
>
{{ userId ? 'Sauvegarder' : 'Ajouter' }}
</button>
</UiButton>
</div>
<div class="grid gap-y-16 gap-x-40 mb-16">
<div class="grid gap-y-16 gap-x-40 py-12">
<UiTextInput
id="user-name"
v-model="form.username"
+3 -2
View File
@@ -1,10 +1,11 @@
<template>
<div class="flex items-center justify-between">
<h1 class="text-3xl font-bold uppercase">Liste des utilisateurs</h1>
<h1 class="text-3xl font-bold uppercase text-primary-500">Liste des utilisateurs</h1>
<NuxtLink
class="flex items-center justify-center text-xl uppercase bg-primary-500 text-white h-[50px] w-[272px]"
class="inline-flex items-center justify-center gap-2 text-xl uppercase bg-primary-500 text-white h-[50px] px-8 rounded-md"
@click="router.push('/admin/user/')"
>
<Icon name="mdi:plus" size="28" />
Ajouter
</NuxtLink>