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')" @click="$emit('remove')"
/> />
<!-- RG-4.09 : sens du prix (CLIENT / FOURNISSEUR). Tout le reste masqué tant <!-- RG-4.09 : sens du prix (CLIENT / FOURNISSEUR), empilé en colonne 1 (pas de
qu'aucun sens n'est choisi. --> label de groupe). Tout le reste masqué tant qu'aucun sens n'est choisi. -->
<div class="col-span-4 flex flex-col"> <div class="flex flex-col justify-center gap-2">
<span class="mb-1 text-sm font-medium text-m-muted"> <MalioRadioButton
{{ t('transport.carriers.form.price.direction') }}<span class="text-m-danger"> *</span> :model-value="model.direction"
</span> name="price-direction"
<div class="flex gap-6"> value="CLIENT"
<MalioRadioButton :label="t('transport.carriers.form.price.directionClient')"
:model-value="model.direction" :disabled="readonly"
name="price-direction" group-class="mt-0"
value="CLIENT" @update:model-value="onDirectionChange"
:label="t('transport.carriers.form.price.directionClient')" />
:disabled="readonly" <MalioRadioButton
group-class="mt-0" :model-value="model.direction"
@update:model-value="onDirectionChange" name="price-direction"
/> value="FOURNISSEUR"
<MalioRadioButton :label="t('transport.carriers.form.price.directionSupplier')"
:model-value="model.direction" :disabled="readonly"
name="price-direction" group-class="mt-0"
value="FOURNISSEUR" @update:model-value="onDirectionChange"
:label="t('transport.carriers.form.price.directionSupplier')" />
:disabled="readonly"
group-class="mt-0"
@update:model-value="onDirectionChange"
/>
</div>
<p v-if="errors?.direction" class="mt-1 ml-[2px] text-xs text-m-danger">{{ errors.direction }}</p> <p v-if="errors?.direction" class="mt-1 ml-[2px] text-xs text-m-danger">{{ errors.direction }}</p>
</div> </div>
@@ -71,7 +66,6 @@
:error="errors?.departureSite" :error="errors?.departureSite"
@update:model-value="(v: string | number | null) => update('departureSiteIri', v === null ? null : String(v))" @update:model-value="(v: string | number | null) => update('departureSiteIri', v === null ? null : String(v))"
/> />
<div aria-hidden="true" />
</template> </template>
<!-- Branche FOURNISSEUR (RG-4.11). --> <!-- Branche FOURNISSEUR (RG-4.11). -->
@@ -106,16 +100,12 @@
:error="errors?.deliverySite" :error="errors?.deliverySite"
@update:model-value="(v: string | number | null) => update('deliverySiteIri', v === null ? null : String(v))" @update:model-value="(v: string | number | null) => update('deliverySiteIri', v === null ? null : String(v))"
/> />
<div aria-hidden="true" />
</template> </template>
<!-- Communs (visibles dès qu'un sens est choisi). --> <!-- Communs (visibles dès qu'un sens est choisi). -->
<template v-if="model.direction !== null"> <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"> <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"> <div class="flex gap-4">
<MalioRadioButton <MalioRadioButton
:model-value="model.containerType" :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> <p v-if="errors?.containerType" class="mt-1 ml-[2px] text-xs text-m-danger">{{ errors.containerType }}</p>
</div> </div>
<!-- Tarification : Forfait / Tonne. --> <!-- Tarification : Forfait / Tonne (pas de label de groupe). -->
<div class="flex flex-col justify-center"> <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"> <div class="flex gap-4">
<MalioRadioButton <MalioRadioButton
:model-value="model.pricingUnit" :model-value="model.pricingUnit"
@@ -164,8 +164,9 @@ export function emptyCarrierPrice(): CarrierPriceFormDraft {
supplierIri: null, supplierIri: null,
supplierSupplyAddressIri: null, supplierSupplyAddressIri: null,
deliverySiteIri: null, deliverySiteIri: null,
containerType: null, // Défauts métier : Benne + Forfait pré-sélectionnés à l'ajout d'un bloc prix.
pricingUnit: null, containerType: 'BENNE',
pricingUnit: 'FORFAIT',
price: null, price: null,
priceState: null, priceState: null,
} }