Here you are
{
name: 'Créer un compte client',
type: 'single',
fields: [{
field: 'civilité',
type: 'Enum',
enums: [
'Madame et Monsieur',
'Madame ou Monsieur',
'Madame',
'Mesdames',
'Madame, Mademoiselle ou Monsieur',
'Monsieur',
'Messieurs',
'Mademoiselle',
'Succession',
'Indivision',
'Société civile immobilière',
'Compagnie',
'Société',
'Groupe',
'Administrations',
'Société civile promotion immobilière',
'Société civile construction vente',
'Maître',
'Maîtres',
'Cabinet',
'Docteur',
'Notaire',
'Etablissements',
'Entreprise unipersonnelle à responsabilité limitée',
'Groupement d\'intéret économique',
'Société anonyme',
'Société à responsabilité limitée',
'Société anonyme simplifiée',
'Société civile',
'Société civile de moyens',
'Société d\'économie mixte',
'Société en nom collectif',
'Société privée européenne',
'Entreprise individuelle à responsabilité limitée',
'Syndicat',
'Association syndicale libre',
'Association',
'Banque',
'Club'
],
isRequired: true
}, {
field: 'nom',
type: 'String',
isRequired: true
}, {
field: 'prénom',
type: 'String',
}, {
field: 'email',
type: 'String',
description: 'Obligatoire dans le cas de l\'ajout du premier copropriétaire de l\'immeuble, il sera le référent de cet immeuble.'
}, {
field: 'rôle',
type: 'Enum',
enums: [
'Copropriétaire',
'Membre du CS',
'Président du CS'
],
isRequired: true
}, {
field: 'Recherche adresse (5 lettres minimum)',
type: 'String',
}, {
field: 'Résultats de recherche',
type: 'Enum',
enums: []
}, {
field: 'numéro de voie',
type: 'String',
}, {
field: 'type et intitulé de la voie',
type: 'String',
isRequired: true
}, {
field: 'complément d\'adresse',
type: 'String'
}, {
field: 'lieu-dit',
type: 'String'
}, {
field: 'code postal',
type: 'String',
isRequired: true
}, {
field: 'ville',
type: 'String',
isRequired: true
}, {
field: 'pays',
type: 'String',
isRequired: true
}, {
field: 'téléphone',
type: 'String',
description: 'Obligatoire dans le cas de l\'ajout du premier copropriétaire de l\'immeuble.'
}, {
field: 'téléphone domicile',
type: 'String',
}],
hooks: {
load: ({ fields, record }) => {
fields['pays'].value = 'France';
return fields;
},
change: {
['Recherche adresse (5 lettres minimum)']: ({ fields, record }) => {
if (fields['Recherche adresse (5 lettres minimum)'].value.length > 4) {
return axios.get(`${DQE_URL}/SINGLEV2/?Adresse=${fields['Recherche adresse (5 lettres minimum)'].value}&Pays=FRA&Licence=${DQE_LICENCE_KEY}`
).then(res => {
fields['Résultats de recherche'].enums = [];
fields['Résultats de recherche'].value = null;
if (res.data && Object.values(res.data).length > 0) {
fields['Résultats de recherche'].enums = Object.values(res.data).map(address => address.ListeNumero.split(';').map(numero => `${numero} ${address.Voie} ${address.Complement} ${address.LieuDit} ${address.CodePostal} ${address.Localite}`)
).flat();
}
return fields;
});
}
return fields;
},
['Résultats de recherche']: ({ fields, record }) => axios.get(`${DQE_URL}/SINGLEV2/?Adresse=${fields['Résultats de recherche'].value}&Pays=FRA&Licence=${DQE_LICENCE_KEY}`
).then(res => {
fields['numéro de voie'].value = Object.values(res.data)[0].Numero;
fields['type et intitulé de la voie'].value = Object.values(res.data)[0].Voie;
fields['complément d\'adresse'].value = Object.values(res.data)[0].Complement;
fields['lieu-dit'].value = Object.values(res.data)[0].LieuDit;
fields['code postal'].value = Object.values(res.data)[0].CodePostal;
fields['ville'].value = Object.values(res.data)[0].Localite;
return fields;
})
}
}
},