fix(transport) : bloc prix — radios sens/contenant/tarif horizontaux et centrés (h-12) en colonne 1 (ERP-169)

This commit is contained in:
2026-06-17 10:31:52 +02:00
parent 6ff5b13ce2
commit e1712465f1
@@ -10,29 +10,31 @@
@click="$emit('remove')"
/>
<!-- RG-4.09 : sens du prix (CLIENT / FOURNISSEUR), seul sur la ligne 1, empilé
en colonne 1 (pas de label de groupe). Les champs de branche démarrent
donc en ligne 2. col-span-4 = la ligne 1 ne porte que ce bloc. -->
<div class="col-span-4 flex flex-col gap-2">
<MalioRadioButton
:model-value="model.direction"
name="price-direction"
value="CLIENT"
:label="t('transport.carriers.form.price.directionClient')"
:disabled="readonly"
group-class="mt-0"
@update:model-value="onDirectionChange"
/>
<MalioRadioButton
:model-value="model.direction"
name="price-direction"
value="FOURNISSEUR"
:label="t('transport.carriers.form.price.directionSupplier')"
:disabled="readonly"
group-class="mt-0"
@update:model-value="onDirectionChange"
/>
<p v-if="errors?.direction" class="mt-1 ml-[2px] text-xs text-m-danger">{{ errors.direction }}</p>
<!-- RG-4.09 : sens du prix (CLIENT / FOURNISSEUR) en colonne 1 / ligne 1, radios
EN LIGNE (horizontaux), centrés sur la hauteur de champ (h-12) comme la
case « Affréter ». Pas de label de groupe. -->
<div>
<div class="flex h-12 items-center gap-6">
<MalioRadioButton
:model-value="model.direction"
name="price-direction"
value="CLIENT"
:label="t('transport.carriers.form.price.directionClient')"
:disabled="readonly"
group-class="mt-0"
@update:model-value="onDirectionChange"
/>
<MalioRadioButton
:model-value="model.direction"
name="price-direction"
value="FOURNISSEUR"
:label="t('transport.carriers.form.price.directionSupplier')"
:disabled="readonly"
group-class="mt-0"
@update:model-value="onDirectionChange"
/>
</div>
<p v-if="errors?.direction" class="ml-[2px] text-xs text-m-danger">{{ errors.direction }}</p>
</div>
<!-- Branche CLIENT (RG-4.10). -->
@@ -105,9 +107,9 @@
<!-- Communs (visibles dès qu'un sens est choisi). -->
<template v-if="model.direction !== null">
<!-- Contenant : Benne / Fond mouvant (pas de label de groupe). -->
<div class="flex flex-col justify-center">
<div class="flex gap-4">
<!-- Contenant : Benne / Fond mouvant (radios centrés h-12, pas de label). -->
<div>
<div class="flex h-12 items-center gap-4">
<MalioRadioButton
:model-value="model.containerType"
name="price-container"
@@ -127,12 +129,12 @@
@update:model-value="(v: string | number | boolean | null) => update('containerType', v === null ? null : String(v))"
/>
</div>
<p v-if="errors?.containerType" class="mt-1 ml-[2px] text-xs text-m-danger">{{ errors.containerType }}</p>
<p v-if="errors?.containerType" class="ml-[2px] text-xs text-m-danger">{{ errors.containerType }}</p>
</div>
<!-- Tarification : Forfait / Tonne (pas de label de groupe). -->
<div class="flex flex-col justify-center">
<div class="flex gap-4">
<!-- Tarification : Forfait / Tonne (radios centrés h-12, pas de label). -->
<div>
<div class="flex h-12 items-center gap-4">
<MalioRadioButton
:model-value="model.pricingUnit"
name="price-unit"
@@ -152,7 +154,7 @@
@update:model-value="(v: string | number | boolean | null) => update('pricingUnit', v === null ? null : String(v))"
/>
</div>
<p v-if="errors?.pricingUnit" class="mt-1 ml-[2px] text-xs text-m-danger">{{ errors.pricingUnit }}</p>
<p v-if="errors?.pricingUnit" class="ml-[2px] text-xs text-m-danger">{{ errors.pricingUnit }}</p>
</div>
<MalioInputAmount