fix(transport) : bloc prix — radios sans label de groupe, sens en colonne 1, défaut Benne/Forfait (ERP-169)

This commit is contained in:
2026-06-17 10:14:55 +02:00
parent 07e0bcbcce
commit a26bb09ee1
2 changed files with 26 additions and 38 deletions
@@ -10,32 +10,27 @@
@click="$emit('remove')"
/>
<!-- RG-4.09 : sens du prix (CLIENT / FOURNISSEUR). Tout le reste masqué tant
qu'aucun sens n'est choisi. -->
<div class="col-span-4 flex flex-col">
<span class="mb-1 text-sm font-medium text-m-muted">
{{ t('transport.carriers.form.price.direction') }}<span class="text-m-danger"> *</span>
</span>
<div class="flex 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>
<!-- RG-4.09 : sens du prix (CLIENT / FOURNISSEUR), empilé en colonne 1 (pas de
label de groupe). Tout le reste masqué tant qu'aucun sens n'est choisi. -->
<div class="flex flex-col justify-center 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>
</div>
@@ -71,7 +66,6 @@
:error="errors?.departureSite"
@update:model-value="(v: string | number | null) => update('departureSiteIri', v === null ? null : String(v))"
/>
<div aria-hidden="true" />
</template>
<!-- Branche FOURNISSEUR (RG-4.11). -->
@@ -106,16 +100,12 @@
:error="errors?.deliverySite"
@update:model-value="(v: string | number | null) => update('deliverySiteIri', v === null ? null : String(v))"
/>
<div aria-hidden="true" />
</template>
<!-- Communs (visibles dès qu'un sens est choisi). -->
<template v-if="model.direction !== null">
<!-- Contenant : Benne / Fond mouvant. -->
<!-- Contenant : Benne / Fond mouvant (pas de label de groupe). -->
<div class="flex flex-col justify-center">
<span class="mb-1 text-sm font-medium text-m-muted">
{{ t('transport.carriers.form.price.containerType') }}<span class="text-m-danger"> *</span>
</span>
<div class="flex gap-4">
<MalioRadioButton
:model-value="model.containerType"
@@ -139,11 +129,8 @@
<p v-if="errors?.containerType" class="mt-1 ml-[2px] text-xs text-m-danger">{{ errors.containerType }}</p>
</div>
<!-- Tarification : Forfait / Tonne. -->
<!-- Tarification : Forfait / Tonne (pas de label de groupe). -->
<div class="flex flex-col justify-center">
<span class="mb-1 text-sm font-medium text-m-muted">
{{ t('transport.carriers.form.price.pricingUnit') }}<span class="text-m-danger"> *</span>
</span>
<div class="flex gap-4">
<MalioRadioButton
:model-value="model.pricingUnit"
@@ -164,8 +164,9 @@ export function emptyCarrierPrice(): CarrierPriceFormDraft {
supplierIri: null,
supplierSupplyAddressIri: null,
deliverySiteIri: null,
containerType: null,
pricingUnit: null,
// Défauts métier : Benne + Forfait pré-sélectionnés à l'ajout d'un bloc prix.
containerType: 'BENNE',
pricingUnit: 'FORFAIT',
price: null,
priceState: null,
}