update('siteIris', v.map(String))"
@@ -29,6 +30,7 @@
:label="t('technique.providers.form.address.categories')"
:display-tag="true"
:readonly="readonly"
+ :disabled="disabled"
:required="true"
:error="errors?.categories"
@update:model-value="(v: (string | number)[]) => update('categoryIris', v.map(String))"
@@ -41,6 +43,7 @@
:label="t('technique.providers.form.address.contacts')"
:display-tag="true"
:readonly="readonly"
+ :disabled="disabled"
@update:model-value="(v: (string | number)[]) => update('contactIris', v.map(String))"
/>
@@ -49,6 +52,7 @@
:options="countryOptions"
:label="t('technique.providers.form.address.country')"
:readonly="readonly"
+ :disabled="disabled"
:required="true"
@update:model-value="(v: string | number | null) => update('country', String(v ?? 'France'))"
/>
@@ -58,6 +62,7 @@
:label="t('technique.providers.form.address.postalCode')"
:mask="POSTAL_CODE_MASK"
:readonly="readonly"
+ :disabled="disabled"
:required="true"
:error="errors?.postalCode"
@update:model-value="onPostalCodeChange"
@@ -70,6 +75,7 @@
:options="cityOptions"
:label="t('technique.providers.form.address.city')"
:readonly="readonly"
+ :disabled="disabled"
empty-option-label=""
:required="true"
:error="errors?.city"
@@ -80,6 +86,7 @@
:model-value="model.city"
:label="t('technique.providers.form.address.city')"
:readonly="readonly"
+ :disabled="disabled"
:required="true"
:error="errors?.city"
@update:model-value="(v: string) => update('city', v)"
@@ -89,13 +96,14 @@
texte saisi est conserve si la BAN ne propose rien (saisie manuelle). -->
update('street', v)"
@@ -120,6 +129,7 @@
:model-value="model.streetComplement"
:label="t('technique.providers.form.address.streetComplement')"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.streetComplement"
@update:model-value="(v: string) => update('streetComplement', v)"
/>
@@ -149,6 +159,8 @@ const props = defineProps<{
countryOptions: RefOption[]
removable?: boolean
readonly?: boolean
+ /** Bloc desactive (champs grises, consultation — distinct de readonly). */
+ disabled?: boolean
/** Erreurs serveur 422 de cette ligne, indexees par champ (ERP-101). */
errors?: Record
}>()
diff --git a/frontend/modules/technique/components/ProviderContactBlock.vue b/frontend/modules/technique/components/ProviderContactBlock.vue
index d961b7e..6fc23fb 100644
--- a/frontend/modules/technique/components/ProviderContactBlock.vue
+++ b/frontend/modules/technique/components/ProviderContactBlock.vue
@@ -3,7 +3,7 @@
update('lastName', v)"
/>
@@ -22,6 +23,7 @@
:model-value="model.firstName"
:label="t('technique.providers.form.contact.firstName')"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.firstName"
@update:model-value="(v: string) => update('firstName', v)"
/>
@@ -33,6 +35,7 @@
:model-value="model.jobTitle"
:label="t('technique.providers.form.contact.jobTitle')"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.jobTitle"
@update:model-value="(v: string) => update('jobTitle', v)"
/>
@@ -41,6 +44,7 @@
:model-value="model.email"
:label="t('technique.providers.form.contact.email')"
:readonly="readonly"
+ :disabled="disabled"
:lowercase="true"
:error="errors?.email"
@update:model-value="(v: string) => update('email', v)"
@@ -50,6 +54,7 @@
:label="t('technique.providers.form.contact.phonePrimary')"
:mask="PHONE_MASK"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.phonePrimary"
:addable="!model.hasSecondaryPhone && !readonly"
:add-button-label="t('technique.providers.form.contact.addPhone')"
@@ -63,6 +68,7 @@
:label="t('technique.providers.form.contact.phoneSecondary')"
:mask="PHONE_MASK"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.phoneSecondary"
@update:model-value="(v: string) => update('phoneSecondary', v)"
/>
@@ -83,6 +89,8 @@ const props = defineProps<{
removable?: boolean
/** Bloc en lecture seule (onglet valide). */
readonly?: boolean
+ /** Bloc desactive (champs grises, consultation — distinct de readonly). */
+ disabled?: boolean
/** Erreurs serveur 422 de cette ligne, indexees par champ (ERP-101). */
errors?: Record
}>()
diff --git a/frontend/modules/technique/pages/providers/[id]/edit.vue b/frontend/modules/technique/pages/providers/[id]/edit.vue
index a14c6bf..2602371 100644
--- a/frontend/modules/technique/pages/providers/[id]/edit.vue
+++ b/frontend/modules/technique/pages/providers/[id]/edit.vue
@@ -23,7 +23,7 @@
:model-value="main.companyName"
:label="t('technique.providers.form.main.companyName')"
:required="true"
- :readonly="businessReadonly"
+ :disabled="businessReadonly"
:error="mainErrors.errors.companyName"
@update:model-value="(v: string) => main.companyName = sanitizeFreeText(v)"
/>
@@ -32,7 +32,7 @@
:options="referentials.categories.value"
:label="t('technique.providers.form.main.categories')"
:display-tag="true"
- :readonly="businessReadonly"
+ :disabled="businessReadonly"
:required="true"
:error="mainErrors.errors.categories"
@update:model-value="(v: (string | number)[]) => main.categoryIris = v.map(String)"
@@ -42,7 +42,7 @@
:options="referentials.sites.value"
:label="t('technique.providers.form.main.sites')"
:display-tag="true"
- :readonly="businessReadonly"
+ :disabled="businessReadonly"
:required="true"
:error="mainErrors.errors.sites"
@update:model-value="(v: (string | number)[]) => main.siteIris = v.map(String)"
@@ -72,7 +72,7 @@
:key="index"
:model-value="contact"
:removable="isRowRemovable(contacts, index)"
- :readonly="businessReadonly"
+ :disabled="businessReadonly"
:errors="contactErrors[index]"
@update:model-value="(v) => contacts[index] = v"
@remove="askRemoveContact(index)"
@@ -108,7 +108,7 @@
:contact-options="contactOptions"
:country-options="countryOptions"
:removable="isRowRemovable(addresses, index)"
- :readonly="businessReadonly"
+ :disabled="businessReadonly"
:errors="addressErrors[index]"
@update:model-value="(v) => addresses[index] = v"
@remove="askRemoveAddress(index)"
@@ -142,14 +142,14 @@
v-model="accounting.siren"
:label="t('technique.providers.form.accounting.siren')"
:mask="SIREN_MASK"
- :readonly="accountingReadonly"
+ :disabled="accountingReadonly"
:required="true"
:error="accountingErrors.errors.siren"
/>
accounting.accountNumber = sanitizeCodeAlnum(v)"
@@ -158,7 +158,7 @@
:model-value="accounting.tvaModeIri"
:options="referentials.tvaModes.value"
:label="t('technique.providers.form.accounting.tvaMode')"
- :readonly="accountingReadonly"
+ :disabled="accountingReadonly"
empty-option-label=""
:required="true"
:error="accountingErrors.errors.tvaMode"
@@ -167,7 +167,7 @@
accounting.nTva = sanitizeCodeAlnum(v)"
@@ -176,7 +176,7 @@
:model-value="accounting.paymentDelayIri"
:options="referentials.paymentDelays.value"
:label="t('technique.providers.form.accounting.paymentDelay')"
- :readonly="accountingReadonly"
+ :disabled="accountingReadonly"
empty-option-label=""
:required="true"
:error="accountingErrors.errors.paymentDelay"
@@ -186,7 +186,7 @@
:model-value="accounting.paymentTypeIri"
:options="referentials.paymentTypes.value"
:label="t('technique.providers.form.accounting.paymentType')"
- :readonly="accountingReadonly"
+ :disabled="accountingReadonly"
empty-option-label=""
:required="true"
:error="accountingErrors.errors.paymentType"
@@ -197,7 +197,7 @@
:model-value="accounting.bankIri"
:options="referentials.banks.value"
:label="t('technique.providers.form.accounting.bank')"
- :readonly="accountingReadonly"
+ :disabled="accountingReadonly"
empty-option-label=""
:required="true"
:error="accountingErrors.errors.bank"
@@ -224,14 +224,14 @@
rib.bic = sanitizeCodeAlnum(v)"
@@ -239,7 +239,7 @@
rib.iban = sanitizeCodeAlnum(v)"
diff --git a/frontend/modules/technique/pages/providers/[id]/index.vue b/frontend/modules/technique/pages/providers/[id]/index.vue
index 10abb07..7e7f8e5 100644
--- a/frontend/modules/technique/pages/providers/[id]/index.vue
+++ b/frontend/modules/technique/pages/providers/[id]/index.vue
@@ -49,21 +49,21 @@
@@ -77,7 +77,7 @@
v-for="(contact, index) in contacts"
:key="index"
:model-value="contact"
- readonly
+ disabled
/>
@@ -93,7 +93,7 @@
:site-options="view.siteOptions"
:contact-options="contactOptions"
:country-options="countryOptionsFor(view.draft.country)"
- readonly
+ disabled
/>
@@ -105,13 +105,13 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -122,9 +122,9 @@
class="bg-white py-4 pl-[28px] pr-[60px] shadow-[0_4px_4px_0_rgba(0,0,0,0.25)]"
>
-
-
-
+
+
+
diff --git a/frontend/modules/technique/pages/providers/new.vue b/frontend/modules/technique/pages/providers/new.vue
index 13fbef1..69ad7ee 100644
--- a/frontend/modules/technique/pages/providers/new.vue
+++ b/frontend/modules/technique/pages/providers/new.vue
@@ -22,7 +22,7 @@
:model-value="main.companyName"
:label="t('technique.providers.form.main.companyName')"
:required="true"
- :readonly="mainLocked"
+ :disabled="mainLocked"
:error="mainErrors.errors.companyName"
@update:model-value="(v: string) => main.companyName = sanitizeFreeText(v)"
/>
@@ -31,7 +31,7 @@
:options="referentials.categories.value"
:label="t('technique.providers.form.main.categories')"
:display-tag="true"
- :readonly="mainLocked"
+ :disabled="mainLocked"
:required="true"
:error="mainErrors.errors.categories"
@update:model-value="(v: (string | number)[]) => main.categoryIris = v.map(String)"
@@ -41,7 +41,7 @@
:options="referentials.sites.value"
:label="t('technique.providers.form.main.sites')"
:display-tag="true"
- :readonly="mainLocked"
+ :disabled="mainLocked"
:required="true"
:error="mainErrors.errors.sites"
@update:model-value="(v: (string | number)[]) => main.siteIris = v.map(String)"
@@ -73,7 +73,7 @@
:key="index"
:model-value="contact"
:removable="isRowRemovable(contacts, index)"
- :readonly="isValidated('contact')"
+ :disabled="isValidated('contact')"
:errors="contactErrors[index]"
@update:model-value="(v) => contacts[index] = v"
@remove="askRemoveContact(index)"
@@ -108,7 +108,7 @@
:contact-options="contactOptions"
:country-options="countryOptions"
:removable="isRowRemovable(addresses, index)"
- :readonly="isValidated('address')"
+ :disabled="isValidated('address')"
:errors="addressErrors[index]"
@update:model-value="(v) => addresses[index] = v"
@remove="askRemoveAddress(index)"
@@ -141,14 +141,14 @@
v-model="accounting.siren"
:label="t('technique.providers.form.accounting.siren')"
:mask="SIREN_MASK"
- :readonly="accountingReadonly"
+ :disabled="accountingReadonly"
:required="true"
:error="accountingErrors.errors.siren"
/>
accounting.accountNumber = sanitizeCodeAlnum(v)"
@@ -157,7 +157,7 @@
:model-value="accounting.tvaModeIri"
:options="referentials.tvaModes.value"
:label="t('technique.providers.form.accounting.tvaMode')"
- :readonly="accountingReadonly"
+ :disabled="accountingReadonly"
empty-option-label=""
:required="true"
:error="accountingErrors.errors.tvaMode"
@@ -166,7 +166,7 @@
accounting.nTva = sanitizeCodeAlnum(v)"
@@ -175,7 +175,7 @@
:model-value="accounting.paymentDelayIri"
:options="referentials.paymentDelays.value"
:label="t('technique.providers.form.accounting.paymentDelay')"
- :readonly="accountingReadonly"
+ :disabled="accountingReadonly"
empty-option-label=""
:required="true"
:error="accountingErrors.errors.paymentDelay"
@@ -185,7 +185,7 @@
:model-value="accounting.paymentTypeIri"
:options="referentials.paymentTypes.value"
:label="t('technique.providers.form.accounting.paymentType')"
- :readonly="accountingReadonly"
+ :disabled="accountingReadonly"
empty-option-label=""
:required="true"
:error="accountingErrors.errors.paymentType"
@@ -197,7 +197,7 @@
:model-value="accounting.bankIri"
:options="referentials.banks.value"
:label="t('technique.providers.form.accounting.bank')"
- :readonly="accountingReadonly"
+ :disabled="accountingReadonly"
empty-option-label=""
:required="true"
:error="accountingErrors.errors.bank"
@@ -224,14 +224,14 @@
rib.bic = sanitizeCodeAlnum(v)"
@@ -239,7 +239,7 @@
rib.iban = sanitizeCodeAlnum(v)"
diff --git a/frontend/modules/transport/components/CarrierAddressBlock.vue b/frontend/modules/transport/components/CarrierAddressBlock.vue
index b71ff78..3cae419 100644
--- a/frontend/modules/transport/components/CarrierAddressBlock.vue
+++ b/frontend/modules/transport/components/CarrierAddressBlock.vue
@@ -7,6 +7,7 @@
:options="countryOptions"
:label="t('transport.carriers.form.address.country')"
:readonly="readonly"
+ :disabled="disabled"
:required="true"
:error="errors?.country"
@update:model-value="(v: string | number | null) => update('country', String(v ?? 'France'))"
@@ -18,6 +19,7 @@
:label="t('transport.carriers.form.address.postalCode')"
:mask="POSTAL_CODE_MASK"
:readonly="readonly"
+ :disabled="disabled"
:required="true"
:error="errors?.postalCode"
@update:model-value="onPostalCodeChange"
@@ -30,6 +32,7 @@
:options="cityOptions"
:label="t('transport.carriers.form.address.city')"
:readonly="readonly"
+ :disabled="disabled"
empty-option-label=""
:required="true"
:error="errors?.city"
@@ -40,6 +43,7 @@
:model-value="model.city"
:label="t('transport.carriers.form.address.city')"
:readonly="readonly"
+ :disabled="disabled"
:required="true"
:error="errors?.city"
@update:model-value="(v: string) => update('city', v)"
@@ -52,13 +56,14 @@
texte saisi est conserve si la BAN ne propose rien (saisie manuelle). -->
update('street', v)"
@@ -82,6 +88,7 @@
:model-value="model.streetComplement"
:label="t('transport.carriers.form.address.streetComplement')"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.streetComplement"
@update:model-value="(v: string) => update('streetComplement', v)"
/>
@@ -107,6 +114,8 @@ const props = defineProps<{
/** Pays disponibles (France par defaut). */
countryOptions: RefOption[]
readonly?: boolean
+ /** Bloc desactive (champs grises, consultation — distinct de readonly). */
+ disabled?: boolean
/** Erreurs serveur 422 de cette ligne, indexees par champ (ERP-101). */
errors?: Record
}>()
diff --git a/frontend/modules/transport/components/CarrierContactBlock.vue b/frontend/modules/transport/components/CarrierContactBlock.vue
index 73c3fd9..cf6f189 100644
--- a/frontend/modules/transport/components/CarrierContactBlock.vue
+++ b/frontend/modules/transport/components/CarrierContactBlock.vue
@@ -3,7 +3,7 @@
update('lastName', v)"
/>
@@ -22,6 +23,7 @@
:model-value="model.firstName"
:label="t('transport.carriers.form.contact.firstName')"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.firstName"
@update:model-value="(v: string) => update('firstName', v)"
/>
@@ -32,6 +34,7 @@
:model-value="model.jobTitle"
:label="t('transport.carriers.form.contact.jobTitle')"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.jobTitle"
@update:model-value="(v: string) => update('jobTitle', v)"
/>
@@ -40,6 +43,7 @@
:model-value="model.email"
:label="t('transport.carriers.form.contact.email')"
:readonly="readonly"
+ :disabled="disabled"
:lowercase="true"
:error="errors?.email"
@update:model-value="(v: string) => update('email', v)"
@@ -50,6 +54,7 @@
:label="t('transport.carriers.form.contact.phonePrimary')"
:mask="PHONE_MASK"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.phonePrimary"
:addable="!model.hasSecondaryPhone && !readonly"
:add-button-label="t('transport.carriers.form.contact.addPhone')"
@@ -63,6 +68,7 @@
:label="t('transport.carriers.form.contact.phoneSecondary')"
:mask="PHONE_MASK"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.phoneSecondary"
@update:model-value="(v: string) => update('phoneSecondary', v)"
/>
@@ -83,6 +89,8 @@ const props = defineProps<{
removable?: boolean
/** Bloc en lecture seule (onglet validé). */
readonly?: boolean
+ /** Bloc desactive (champs grises, consultation — distinct de readonly). */
+ disabled?: boolean
/** Erreurs serveur 422 de cette ligne, indexées par champ (ERP-101). */
errors?: Record
}>()
diff --git a/frontend/modules/transport/components/CarrierPriceBlock.vue b/frontend/modules/transport/components/CarrierPriceBlock.vue
index 4c5f68e..2dd8878 100644
--- a/frontend/modules/transport/components/CarrierPriceBlock.vue
+++ b/frontend/modules/transport/components/CarrierPriceBlock.vue
@@ -2,7 +2,7 @@
@@ -29,7 +29,7 @@
:name="`price-direction-${uid}`"
value="FOURNISSEUR"
:label="t('transport.carriers.form.price.directionSupplier')"
- :disabled="readonly"
+ :disabled="readonly || disabled"
group-class="mt-0"
@update:model-value="onDirectionChange"
/>
@@ -46,6 +46,7 @@
empty-option-label=""
:required="true"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.client"
@update:model-value="onClientChange"
/>
@@ -56,6 +57,7 @@
empty-option-label=""
:required="true"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.clientDeliveryAddress"
@update:model-value="(v: string | number | null) => update('clientDeliveryAddressIri', v === null ? null : String(v))"
/>
@@ -66,6 +68,7 @@
empty-option-label=""
:required="true"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.departureSite"
@update:model-value="(v: string | number | null) => update('departureSiteIri', v === null ? null : String(v))"
/>
@@ -80,6 +83,7 @@
empty-option-label=""
:required="true"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.supplier"
@update:model-value="onSupplierChange"
/>
@@ -90,6 +94,7 @@
empty-option-label=""
:required="true"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.supplierSupplyAddress"
@update:model-value="(v: string | number | null) => update('supplierSupplyAddressIri', v === null ? null : String(v))"
/>
@@ -100,6 +105,7 @@
empty-option-label=""
:required="true"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.deliverySite"
@update:model-value="(v: string | number | null) => update('deliverySiteIri', v === null ? null : String(v))"
/>
@@ -115,7 +121,7 @@
:name="`price-container-${uid}`"
value="BENNE"
:label="t('transport.carriers.containerType.BENNE')"
- :disabled="readonly"
+ :disabled="readonly || disabled"
group-class="mt-0"
@update:model-value="(v: string | number | boolean | null) => update('containerType', v === null ? null : String(v))"
/>
@@ -124,7 +130,7 @@
:name="`price-container-${uid}`"
value="FOND_MOUVANT"
:label="t('transport.carriers.containerType.FOND_MOUVANT')"
- :disabled="readonly"
+ :disabled="readonly || disabled"
group-class="mt-0"
@update:model-value="(v: string | number | boolean | null) => update('containerType', v === null ? null : String(v))"
/>
@@ -140,7 +146,7 @@
:name="`price-unit-${uid}`"
value="FORFAIT"
:label="t('transport.carriers.form.price.pricingForfait')"
- :disabled="readonly"
+ :disabled="readonly || disabled"
group-class="mt-0"
@update:model-value="(v: string | number | boolean | null) => update('pricingUnit', v === null ? null : String(v))"
/>
@@ -149,7 +155,7 @@
:name="`price-unit-${uid}`"
value="TONNE"
:label="t('transport.carriers.form.price.pricingTonne')"
- :disabled="readonly"
+ :disabled="readonly || disabled"
group-class="mt-0"
@update:model-value="(v: string | number | boolean | null) => update('pricingUnit', v === null ? null : String(v))"
/>
@@ -162,6 +168,7 @@
:label="t('transport.carriers.form.price.price')"
:required="true"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.price"
@update:model-value="(v: string) => update('price', v)"
/>
@@ -173,6 +180,7 @@
empty-option-label=""
:required="true"
:readonly="readonly"
+ :disabled="disabled"
:error="errors?.priceState"
@update:model-value="(v: string | number | null) => update('priceState', v === null ? null : String(v))"
/>
@@ -200,6 +208,8 @@ const props = defineProps<{
siteOptions: SelectOption[]
removable?: boolean
readonly?: boolean
+ /** Bloc desactive (champs grises, consultation — distinct de readonly). */
+ disabled?: boolean
/** Erreurs serveur 422 de cette ligne, indexées par champ (ERP-101). */
errors?: Record
}>()
diff --git a/frontend/modules/transport/pages/carriers/[id]/edit.vue b/frontend/modules/transport/pages/carriers/[id]/edit.vue
index 81bb13a..00f61e3 100644
--- a/frontend/modules/transport/pages/carriers/[id]/edit.vue
+++ b/frontend/modules/transport/pages/carriers/[id]/edit.vue
@@ -40,7 +40,7 @@
:label="t('transport.carriers.form.main.certificationType')"
empty-option-label=""
:required="true"
- :readonly="certificationReadonly"
+ :disabled="certificationReadonly"
:error="mainErrors.errors.certificationType"
@update:model-value="(v: string | number | null) => setCertification(v === null ? null : String(v))"
/>
@@ -50,7 +50,7 @@
:label="t('transport.carriers.form.main.discharge')"
accept="application/pdf,image/*"
:required="true"
- :readonly="dischargeUploading"
+ :disabled="dischargeUploading"
:clearable="true"
:error="mainErrors.errors.dischargeDocument"
@update:model-value="(v: string) => dischargeFileName = v"
diff --git a/frontend/modules/transport/pages/carriers/[id]/index.vue b/frontend/modules/transport/pages/carriers/[id]/index.vue
index 8de9f2e..55e9c52 100644
--- a/frontend/modules/transport/pages/carriers/[id]/index.vue
+++ b/frontend/modules/transport/pages/carriers/[id]/index.vue
@@ -45,14 +45,14 @@
-
+
@@ -60,7 +60,7 @@
@@ -68,7 +68,7 @@
v-if="main.certificationType === 'AUTRE'"
:model-value="dischargeLabel"
:label="t('transport.carriers.form.main.discharge')"
- readonly
+ disabled
/>
@@ -78,14 +78,14 @@
id="carrier-view-chartered"
:label="t('transport.carriers.form.main.isChartered')"
:model-value="main.isChartered"
- readonly
+ disabled
:reserve-message-space="false"
/>
-
+
@@ -94,7 +94,7 @@
name="carrier-view-container"
value="BENNE"
:label="t('transport.carriers.containerType.BENNE')"
- readonly
+ disabled
group-class="mt-0"
/>
-
+
@@ -121,7 +121,7 @@
@@ -132,7 +132,7 @@
v-for="(contact, index) in contacts"
:key="index"
:model-value="contact"
- readonly
+ disabled
/>
diff --git a/frontend/modules/transport/pages/carriers/new.vue b/frontend/modules/transport/pages/carriers/new.vue
index 73a7815..f477ea8 100644
--- a/frontend/modules/transport/pages/carriers/new.vue
+++ b/frontend/modules/transport/pages/carriers/new.vue
@@ -23,7 +23,7 @@
@update:model-value="(v: string) => main.name = sanitizeFreeText(v)"
:label="t('transport.carriers.form.main.name')"
:required="true"
- :readonly="mainLocked"
+ :disabled="mainLocked"
:error="mainErrors.errors.name"
/>
@@ -34,7 +34,7 @@
:label="t('transport.carriers.form.main.liotPlates')"
:hint="t('transport.carriers.form.main.liotPlatesHint')"
:required="true"
- :readonly="mainLocked"
+ :disabled="mainLocked"
:error="mainErrors.errors.liotPlates"
/>
@@ -46,7 +46,7 @@
:label="t('transport.carriers.form.main.certificationType')"
empty-option-label=""
:required="true"
- :readonly="certificationReadonly"
+ :disabled="certificationReadonly"
:error="mainErrors.errors.certificationType"
@update:model-value="(v: string | number | null) => main.certificationType = v === null ? null : String(v)"
/>
@@ -62,7 +62,7 @@
:label="t('transport.carriers.form.main.discharge')"
accept="application/pdf,image/*"
:required="true"
- :readonly="mainLocked || dischargeUploading"
+ :disabled="mainLocked || dischargeUploading"
:clearable="true"
:error="mainErrors.errors.dischargeDocument"
@update:model-value="(v: string) => dischargeFileName = v"
@@ -79,7 +79,7 @@
id="carrier-is-chartered"
:label="t('transport.carriers.form.main.isChartered')"
:model-value="main.isChartered"
- :readonly="mainLocked"
+ :disabled="mainLocked"
:reserve-message-space="false"
@update:model-value="(val: boolean) => main.isChartered = val"
/>
@@ -99,7 +99,7 @@
icon-name="mdi:percent"
icon-position="right"
:required="true"
- :readonly="mainLocked"
+ :disabled="mainLocked"
:error="mainErrors.errors.indexationRate"
@update:model-value="onIndexationInput"
/>
@@ -113,7 +113,7 @@
name="carrier-main-container"
value="BENNE"
:label="t('transport.carriers.containerType.BENNE')"
- :readonly="mainLocked"
+ :disabled="mainLocked"
group-class="mt-0"
@update:model-value="(v: string | number | boolean | null) => main.containerType = v === null ? null : String(v)"
/>
@@ -122,7 +122,7 @@
name="carrier-main-container"
value="FOND_MOUVANT"
:label="t('transport.carriers.containerType.FOND_MOUVANT')"
- :readonly="mainLocked"
+ :disabled="mainLocked"
group-class="mt-0"
@update:model-value="(v: string | number | boolean | null) => main.containerType = v === null ? null : String(v)"
/>
@@ -135,7 +135,7 @@
:model-value="main.volumeM3"
:label="t('transport.carriers.form.main.volumeM3')"
:required="true"
- :readonly="mainLocked"
+ :disabled="mainLocked"
:error="mainErrors.errors.volumeM3"
@update:model-value="(v: string) => main.volumeM3 = sanitizeDecimal(v)"
/>
@@ -175,7 +175,7 @@
address = v"
@degraded="onAddressDegraded"
@@ -202,7 +202,7 @@
:key="index"
:model-value="contact"
:removable="isRowRemovable(contacts, index)"
- :readonly="isValidated('contacts')"
+ :disabled="isValidated('contacts')"
:errors="contactErrors[index]"
@update:model-value="(v) => contacts[index] = v"
@remove="askRemoveContact(index)"
@@ -238,7 +238,7 @@
:supplier-options="supplierOptions"
:site-options="siteOptions"
:removable="!isValidated('prices')"
- :readonly="isValidated('prices')"
+ :disabled="isValidated('prices')"
:errors="priceErrors[index]"
@update:model-value="(v) => prices[index] = v"
@remove="askRemovePrice(index)"