Add shared form fields for contact details

This commit is contained in:
MatthieuTD
2025-09-25 14:44:42 +02:00
parent a4840c454f
commit 041478e9d4
11 changed files with 523 additions and 96 deletions

View File

@@ -80,14 +80,8 @@
<input v-model="form.name" type="text" class="input input-bordered" required />
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div class="form-control">
<label class="label"><span class="label-text">Email</span></label>
<input v-model="form.email" type="email" class="input input-bordered" />
</div>
<div class="form-control">
<label class="label"><span class="label-text">Téléphone</span></label>
<input v-model="form.phone" type="text" class="input input-bordered" />
</div>
<FieldEmail v-model="form.email" label="Email" />
<FieldPhone v-model="form.phone" label="Téléphone" />
</div>
<div class="modal-action">
<button type="button" class="btn" @click="closeModal">Annuler</button>
@@ -104,6 +98,8 @@
<script setup>
import { ref, computed } from 'vue'
import FieldEmail from '~/components/form/FieldEmail.vue'
import FieldPhone from '~/components/form/FieldPhone.vue'
import { useConstructeurs } from '~/composables/useConstructeurs'
import { useToast } from '~/composables/useToast'
import IconLucidePlus from '~icons/lucide/plus'

View File

@@ -212,74 +212,7 @@
/>
</div>
<div class="form-control">
<label class="label">
<span class="label-text">Nom du contact</span>
</label>
<input
v-model="newSite.contactName"
type="text"
placeholder="Nom et prénom"
class="input input-bordered"
required
/>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div class="form-control">
<label class="label">
<span class="label-text">Téléphone</span>
</label>
<input
v-model="newSite.contactPhone"
type="tel"
placeholder="Ex: 06 00 00 00 00"
class="input input-bordered"
required
/>
</div>
<div class="form-control">
<label class="label">
<span class="label-text">Adresse</span>
</label>
<input
v-model="newSite.contactAddress"
type="text"
placeholder="Adresse complète"
class="input input-bordered"
required
/>
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div class="form-control">
<label class="label">
<span class="label-text">Code postal</span>
</label>
<input
v-model="newSite.contactPostalCode"
type="text"
placeholder="Code postal"
class="input input-bordered"
required
/>
</div>
<div class="form-control">
<label class="label">
<span class="label-text">Ville</span>
</label>
<input
v-model="newSite.contactCity"
type="text"
placeholder="Ville"
class="input input-bordered"
required
/>
</div>
</div>
<SiteContactFormFields :form="newSite" />
<div class="modal-action">
<button type="button" @click="showAddSiteModal = false" class="btn btn-outline">
@@ -386,6 +319,7 @@
<script setup>
import { ref, reactive, onMounted, computed } from 'vue'
import SiteContactFormFields from '~/components/sites/SiteContactFormFields.vue'
import { useSites } from '~/composables/useSites'
import { useMachineTypesApi } from '~/composables/useMachineTypesApi'
import { useMachines } from '~/composables/useMachines'