feat: afficher fournisseur dans les libellés front

This commit is contained in:
Matthieu
2025-10-31 10:02:27 +01:00
parent ef9a8b5b7b
commit dc2bc6c70a
14 changed files with 47 additions and 47 deletions

View File

@@ -233,7 +233,7 @@
: 'text-base-content hover:bg-primary/10 hover:text-primary'
"
>
Constructeurs
Fournisseurs
</NuxtLink>
</li>
</ul>
@@ -488,7 +488,7 @@
: 'text-base-content hover:bg-primary/10 hover:text-primary'
"
>
Constructeurs
Fournisseurs
</NuxtLink>
</li>
</ul>

View File

@@ -98,7 +98,7 @@
</div>
</div>
<div class="form-control">
<label class="label"><span class="label-text font-medium">Constructeur</span></label>
<label class="label"><span class="label-text font-medium">Fournisseur</span></label>
<ConstructeurSelect
v-if="isEditMode"
class="w-full"

View File

@@ -26,7 +26,7 @@
v-if="options.length === 0"
class="px-3 py-2 text-xs text-gray-500"
>
Aucun constructeur trouvé
Aucun fournisseur trouvé
</div>
<button
v-for="option in options"
@@ -55,7 +55,7 @@
<div class="flex flex-wrap gap-2 min-h-[1.5rem]">
<span v-if="!selectedConstructeurs.length" class="text-sm text-gray-500">
Aucun constructeur sélectionné
Aucun fournisseur sélectionné
</span>
<span
v-for="constructeur in selectedConstructeurs"
@@ -66,7 +66,7 @@
<button
type="button"
class="btn btn-ghost btn-xs p-0"
aria-label="Retirer le constructeur"
aria-label="Retirer le fournisseur"
@click="removeConstructeur(constructeur.id)"
>
<IconLucideX class="w-3 h-3" aria-hidden="true" />
@@ -77,7 +77,7 @@
<dialog class="modal" :class="{ 'modal-open': openCreateModal }">
<div class="modal-box">
<h3 class="font-bold text-lg mb-4">
Nouveau constructeur
Nouveau fournisseur
</h3>
<form @submit.prevent="handleCreate">
<div class="form-control mb-3">
@@ -88,7 +88,7 @@
v-model="createForm.email"
class="mb-3"
label="Email"
placeholder="ex: contact@constructeur.com"
placeholder="ex: contact@fournisseur.com"
autocomplete="email"
/>
<FieldPhone
@@ -140,7 +140,7 @@ const props = defineProps({
},
placeholder: {
type: String,
default: 'Sélectionner ou créer un constructeur...',
default: 'Sélectionner ou créer un fournisseur...',
},
})

View File

@@ -32,7 +32,7 @@
<div>
<p class="font-medium">Informations générales</p>
<p class="text-xs text-base-content/60">
Nom, site et constructeur de la machine.
Nom, site et fournisseur de la machine.
</p>
</div>
</label>

View File

@@ -67,7 +67,7 @@
}}</span>
</div>
<div>
<span class="font-medium">Constructeur:</span>
<span class="font-medium">Fournisseur:</span>
<div v-if="!isEditMode" class="ml-2">
<div v-if="pieceConstructeursDisplay.length" class="space-y-1">
<div
@@ -94,7 +94,7 @@
v-else
class="w-full"
:model-value="pieceConstructeurIds"
placeholder="Sélectionner un ou plusieurs constructeurs..."
placeholder="Sélectionner un ou plusieurs fournisseurs..."
@update:model-value="handleConstructeurChange"
/>
</div>

View File

@@ -19,7 +19,7 @@ export function useConstructeurs () {
}
return result
} catch (error) {
console.error('Erreur lors du chargement des constructeurs:', error)
console.error('Erreur lors du chargement des fournisseurs:', error)
return { success: false, error: error.message }
} finally {
loading.value = false
@@ -36,14 +36,14 @@ export function useConstructeurs () {
const result = await post('/constructeurs', data)
if (result.success) {
constructeurs.value = [result.data, ...constructeurs.value]
showSuccess(`Constructeur "${result.data.name}" créé`)
showSuccess(`Fournisseur "${result.data.name}" créé`)
} else if (result.error) {
showError(result.error)
}
return result
} catch (error) {
console.error('Erreur lors de la création du constructeur:', error)
showError('Impossible de créer le constructeur')
console.error('Erreur lors de la création du fournisseur:', error)
showError('Impossible de créer le fournisseur')
return { success: false, error: error.message }
} finally {
loading.value = false
@@ -59,14 +59,14 @@ export function useConstructeurs () {
if (index !== -1) {
constructeurs.value[index] = result.data
}
showSuccess(`Constructeur "${result.data.name}" mis à jour`)
showSuccess(`Fournisseur "${result.data.name}" mis à jour`)
} else if (result.error) {
showError(result.error)
}
return result
} catch (error) {
console.error('Erreur lors de la mise à jour du constructeur:', error)
showError('Impossible de mettre à jour le constructeur')
console.error('Erreur lors de la mise à jour du fournisseur:', error)
showError('Impossible de mettre à jour le fournisseur')
return { success: false, error: error.message }
} finally {
loading.value = false
@@ -79,14 +79,14 @@ export function useConstructeurs () {
const result = await del(`/constructeurs/${id}`)
if (result.success) {
constructeurs.value = constructeurs.value.filter(item => item.id !== id)
showSuccess('Constructeur supprimé')
showSuccess('Fournisseur supprimé')
} else if (result.error) {
showError(result.error)
}
return result
} catch (error) {
console.error('Erreur lors de la suppression du constructeur:', error)
showError('Impossible de supprimer le constructeur')
console.error('Erreur lors de la suppression du fournisseur:', error)
showError('Impossible de supprimer le fournisseur')
return { success: false, error: error.message }
} finally {
loading.value = false

View File

@@ -89,19 +89,19 @@
type="text"
class="input input-bordered input-sm md:input-md"
:disabled="saving"
placeholder="Référence interne ou constructeur"
placeholder="Référence interne ou fournisseur"
>
</div>
<div class="form-control">
<label class="label">
<span class="label-text">Constructeur</span>
<span class="label-text">Fournisseur</span>
</label>
<ConstructeurSelect
v-model="editionForm.constructeurIds"
class="w-full"
:disabled="saving"
placeholder="Rechercher un ou plusieurs constructeurs..."
placeholder="Rechercher un ou plusieurs fournisseurs..."
/>
</div>
</div>

View File

@@ -62,19 +62,19 @@
type="text"
class="input input-bordered input-sm md:input-md"
:disabled="submitting || !selectedType"
placeholder="Référence interne ou constructeur"
placeholder="Référence interne ou fournisseur"
>
</div>
<div class="form-control">
<label class="label">
<span class="label-text">Constructeur</span>
<span class="label-text">Fournisseur</span>
</label>
<ConstructeurSelect
v-model="creationForm.constructeurIds"
class="w-full"
:disabled="submitting || !selectedType"
placeholder="Rechercher un ou plusieurs constructeurs..."
placeholder="Rechercher un ou plusieurs fournisseurs..."
/>
</div>
</div>

View File

@@ -3,15 +3,15 @@
<div class="flex items-center justify-between">
<div>
<h1 class="text-3xl font-bold">
Constructeurs
Fournisseurs
</h1>
<p class="text-sm text-gray-500">
Gérez les constructeurs et leurs coordonnées.
Gérez les fournisseurs et leurs coordonnées.
</p>
</div>
<button class="btn btn-primary" @click="openCreateModal">
<IconLucidePlus class="w-4 h-4 mr-2" aria-hidden="true" />
Nouveau constructeur
Nouveau fournisseur
</button>
</div>
@@ -46,11 +46,11 @@
<div v-if="loading" class="py-16 text-center text-sm text-gray-500">
<span class="loading loading-spinner loading-lg mb-2" />
Chargement des constructeurs...
Chargement des fournisseurs...
</div>
<div v-else-if="filteredConstructeurs.length === 0" class="py-16 text-center text-sm text-gray-500">
Aucun constructeur trouvé.
Aucun fournisseur trouvé.
</div>
<div v-else class="overflow-x-auto">
@@ -90,7 +90,7 @@
<dialog class="modal" :class="{ 'modal-open': modalOpen }">
<div class="modal-box">
<h3 class="font-bold text-lg mb-4">
{{ editingConstructeur ? 'Modifier' : 'Nouveau' }} constructeur
{{ editingConstructeur ? 'Modifier' : 'Nouveau' }} fournisseur
</h3>
<form class="space-y-4" @submit.prevent="saveConstructeur">
<div class="form-control">
@@ -211,7 +211,7 @@ const saveConstructeur = async () => {
}
const confirmDelete = async (constructeur) => {
if (!confirm(`Supprimer le constructeur "${constructeur.name}" ?`)) { return }
if (!confirm(`Supprimer le fournisseur "${constructeur.name}" ?`)) { return }
const result = await deleteConstructeur(constructeur.id)
if (!result.success && result.error) {
showError(result.error)

View File

@@ -137,14 +137,14 @@
</div>
<div v-if="isEditMode || hasMachineConstructeur" class="form-control">
<label class="label">
<span class="label-text">Constructeur</span>
<span class="label-text">Fournisseur</span>
</label>
<ConstructeurSelect
v-if="isEditMode"
class="w-full"
:key="machine.value?.id"
:model-value="machineConstructeurIds"
placeholder="Rechercher un ou plusieurs constructeurs..."
placeholder="Rechercher un ou plusieurs fournisseurs..."
@update:modelValue="handleMachineConstructeurChange"
/>
<div v-else class="input input-bordered bg-base-200">

View File

@@ -196,7 +196,7 @@
Référence : {{ findComponentById(entry.composantId)?.reference || "—" }}
</div>
<div>
Constructeur :
Fournisseur :
{{ findComponentById(entry.composantId)?.constructeur?.name || findComponentById(entry.composantId)?.constructeurName || "—" }}
</div>
@@ -298,7 +298,7 @@
Référence : {{ findPieceById(entry.pieceId)?.reference || "—" }}
</div>
<div>
Constructeur :
Fournisseur :
{{ findPieceById(entry.pieceId)?.constructeur?.name || findPieceById(entry.pieceId)?.constructeurName || "—" }}
</div>

View File

@@ -89,19 +89,19 @@
type="text"
class="input input-bordered input-sm md:input-md"
:disabled="saving"
placeholder="Référence interne ou constructeur"
placeholder="Référence interne ou fournisseur"
>
</div>
<div class="form-control">
<label class="label">
<span class="label-text">Constructeur</span>
<span class="label-text">Fournisseur</span>
</label>
<ConstructeurSelect
v-model="editionForm.constructeurIds"
class="w-full"
:disabled="saving"
placeholder="Rechercher un ou plusieurs constructeurs..."
placeholder="Rechercher un ou plusieurs fournisseurs..."
/>
</div>
</div>

View File

@@ -62,19 +62,19 @@
type="text"
class="input input-bordered input-sm md:input-md"
:disabled="submitting || !selectedType"
placeholder="Référence interne ou constructeur"
placeholder="Référence interne ou fournisseur"
>
</div>
<div class="form-control">
<label class="label">
<span class="label-text">Constructeur</span>
<span class="label-text">Fournisseur</span>
</label>
<ConstructeurSelect
v-model="creationForm.constructeurId"
class="w-full"
:disabled="submitting || !selectedType"
placeholder="Rechercher un constructeur..."
placeholder="Rechercher un fournisseur..."
/>
</div>
</div>

View File

@@ -68,7 +68,7 @@ const renderPrintPieces = (
const constructeurBadges = (piece.constructeurs || [])
.map((constructeur, badgeIdx) => {
const suffix = piece.constructeurs.length > 1 ? ` ${badgeIdx + 1}` : ''
return `<span class="print-badge print-badge--subtle">Constructeur${suffix}: ${constructeur.name}</span>`
return `<span class="print-badge print-badge--subtle">Fournisseur${suffix}: ${constructeur.name}</span>`
})
.join('')
@@ -107,7 +107,7 @@ const renderPrintPieces = (
${piece.description ? `<p class="print-piece-description">${piece.description}</p>` : ''}
<div class="print-piece-meta">
<div class="print-field-mini">
<label>Constructeur(s)</label>
<label>Fournisseur(s)</label>
<span>${piece.constructeurs?.length
? piece.constructeurs.map(constructeur => constructeur.name).join(', ')
: '—'}</span>