diff --git a/frontend/components/address/add-address.vue b/frontend/components/address/add-address.vue
new file mode 100644
index 0000000..f32afd1
--- /dev/null
+++ b/frontend/components/address/add-address.vue
@@ -0,0 +1,238 @@
+
+
+
+
+
diff --git a/frontend/components/supplier/supplier-form.vue b/frontend/components/supplier/supplier-form.vue
index 67f925b..037298c 100644
--- a/frontend/components/supplier/supplier-form.vue
+++ b/frontend/components/supplier/supplier-form.vue
@@ -14,16 +14,60 @@
-
+
+
-
-
-
-
-
+
+
Adresse fournisseur
+
+
+
+
+
+
+ | Libellé |
+ Rue |
+ Complément |
+ Code postal |
+ Ville |
+ Pays |
+
+
+
+
+
+ |
+ Aucune adresse.
+ |
+
+
+
+
+ | {{ address.label || "—" }} |
+ {{ address.street || "—" }} |
+ {{ address.street2 || "—" }} |
+ {{ address.postalCode || "—" }} |
+ {{ address.city || "—" }} |
+ {{ address.countryCode || "—" }} |
+
+
+
+
{{ errorMsg }}
@@ -33,14 +77,13 @@
diff --git a/frontend/pages/admin/supplier/supplier-list.vue b/frontend/pages/admin/supplier/supplier-list.vue
index 043d4be..a13fae5 100644
--- a/frontend/pages/admin/supplier/supplier-list.vue
+++ b/frontend/pages/admin/supplier/supplier-list.vue
@@ -30,11 +30,16 @@
{{ supplier.name }}
{{ supplier.email }}
-
—
+
Pas d'adresse
+
+
+
+
@@ -42,10 +47,13 @@
v-for="(address, idx) in supplier.addresses"
:key="address.id ?? `${supplier.id}-${idx}-${address.street}-${address.postalCode}`"
class="grid grid-cols-7 hover:bg-slate-50 border-t gap-4 px-4 py-2 cursor-pointer"
+ :class="idx > 0 ? 'pl-4 border-l-4 border-l-slate-200 bg-slate-50' : ''"
@click="goToSupplier(supplier.id)"
>
- {{ supplier.name }}
- {{ supplier.email }}
+
+ {{ idx === 0 ? supplier.name : "↳" }}
+
+ {{ idx === 0 ? supplier.email : "" }}
{{ address.street }}
{{ address.street2 }}
{{ address.postalCode }}
diff --git a/frontend/services/address.ts b/frontend/services/address.ts
index d54b8ad..4b353c8 100644
--- a/frontend/services/address.ts
+++ b/frontend/services/address.ts
@@ -20,6 +20,7 @@ export async function createAddress(
return await api.post('addresses', payload, {
toastErrorKey: 'errors.address.create',
+ toastSuccessKey: 'success.address.create',
})
}
@@ -31,5 +32,14 @@ export async function updateAddress(
return await api.patch(`addresses/${id}`, payload, {
toastErrorKey: 'errors.address.update',
+ toastSuccessKey: 'success.address.update',
+ })
+}
+
+export async function getAddress(id: number): Promise {
+ const api = useApi()
+
+ return await api.get(`addresses/${id}`, {}, {
+ toastErrorKey: 'errors.address.fetch',
})
}
diff --git a/frontend/services/dto/supplier-data.ts b/frontend/services/dto/supplier-data.ts
index 26217dc..f44eb4b 100644
--- a/frontend/services/dto/supplier-data.ts
+++ b/frontend/services/dto/supplier-data.ts
@@ -21,5 +21,5 @@ export type SupplierPayload = {
name: string
email?: string | null
phone?: string | null
- addresses: string[]
+ addresses?: string[]
}