feat: afficher fournisseur dans les libellés front
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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...',
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user