feat(bovine-type) : piloter l'affichage en réception via un champ display [#FER-30]

Ajoute un champ display (défaut false) sur BovineType : seuls les types
activés par un admin apparaissent à la sélection des races en réception.
Les types créés par la synchro inventaire restent masqués par défaut.

- Affichage des races en grille 4 colonnes (création réception)
- Édition réception : conserve les types déjà saisis même masqués
- Admin : badge "Affiché en réception" + checkbox dans le formulaire

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-21 11:33:17 +02:00
parent 39f67b3c90
commit 50dd660713
8 changed files with 108 additions and 20 deletions
+9 -4
View File
@@ -14,10 +14,13 @@
</h1>
</div>
<div class="grid grid-cols-2 items-start pt-7 mb-11 gap-x-[200px]">
<div class="grid grid-cols-2 items-start pt-7 mb-8 gap-x-[200px]">
<UiTextInput label="Nom du bovin" id="bovin-label" v-model="form.label" required />
<UiTextInput label="Code bovin" id="code-id" v-model="form.code" required />
</div>
<div class="mb-11">
<UiCheckbox v-model="form.display" label="Afficher dans les réceptions" />
</div>
<div class="flex justify-center items-center">
<UiButton
type="submit"
@@ -53,7 +56,8 @@ function resolveId(param: unknown) {
const form = reactive<BovinFormData>({
label: '',
code: ''
code: '',
display: false
})
@@ -64,6 +68,7 @@ const hydrateFromBovin = (bovin: BovineTypeData | null) => {
isHydrating.value = true
form.label = bovin.label ?? ''
form.code = bovin.code ?? ''
form.display = bovin.display ?? false
isHydrating.value = false
}
@@ -92,8 +97,8 @@ async function validate() {
const basePayload = {
label: normalizedBovinLabel,
code: normalizedBovinCode
code: normalizedBovinCode,
display: form.display
}
isLoading.value = true