WIP MMCM
This commit is contained in:
@@ -2,6 +2,13 @@
|
||||
<div style="min-height: 350px">
|
||||
<div class="step_title">Indiquez votre adresse de livraison :</div>
|
||||
|
||||
<div class="alert alert-danger" role="alert" v-if="noOfferFound">
|
||||
Nous sommes désolé mais votre adresse est trop eloignée de la pharmacie pour bénéficier de ce service<br/>
|
||||
Nous vous invitions à utiliser le service de La Poste pour trouver une pharmacie proche de chez vous :
|
||||
<a href="https://www.mesmedicamentschezmoi.com" target="_blank">Accéder à mesmedicamentschezmoi.com</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="input-group mb-3">
|
||||
<div class="input-group-text">
|
||||
<i v-if="isSearching" class="fa-solid fa-circle-notch fa-spin fa-fw color-success"></i>
|
||||
@@ -10,8 +17,8 @@
|
||||
<input type="text" placeholder="Exemple : 9 Impasse des Peupliers 13008 Marseille" class="form-control"
|
||||
v-model="query"
|
||||
@input="updateSearchResult" aria-describedby="button-addon">
|
||||
<button class="btn btn-primary" type="button" id="button-addon" @click="checkIdAddressIsEligible">
|
||||
<i v-if="isChecking" class="fa-solid fa-circle-notch fa-spin fa-fw"></i>
|
||||
<button class="btn btn-primary" type="button" id="button-addon" @click="[this.currentBtSearch = 'liveSearch',checkIdAddressIsEligible()]">
|
||||
<i v-if="isChecking && currentBtSearch === 'liveSearch'" class="fa-solid fa-circle-notch fa-spin fa-fw"></i>
|
||||
<i v-else class="fa-regular fa-circle-check fa-fw"></i>
|
||||
Valider
|
||||
</button>
|
||||
@@ -23,12 +30,35 @@
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="alert alert-danger" role="alert" v-if="noOfferFound">
|
||||
Nous sommes désolé mais votre adresse est trop eloignée de la pharmacie pour bénéficier de ce service<br/>
|
||||
Nous vous invitions à utiliser le service de La Poste pour trouver une pharmacie proche de chez vous :
|
||||
<a href="https://www.mesmedicamentschezmoi.com" target="_blank">Accéder à mesmedicamentschezmoi.com</a>
|
||||
<div class="step_title mt-4">Mon carnet d'adresses :</div>
|
||||
|
||||
<div class="row" v-if="isConnected === false">
|
||||
<div class="col-auto">
|
||||
<a href="/cart/p/FORM_ACCESS/0/0/" class="btn btn-dark" title="S'identifier"><i
|
||||
class="fa-solid fa-user-lock me-1"></i> S'identifier <i class="fa-solid fa-angle-right ms-1"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="isConnected && addressBook.length >0" class="row">
|
||||
<div v-for="(address,i) in addressBook" class="col-auto">
|
||||
<!--<i class="fa-solid fa-address-book"></i>-->
|
||||
{{ address.street }}<br/>
|
||||
{{ address.zip_code }} {{ address.city }}<br/><br/>
|
||||
<button class="btn btn-primary" type="button" @click="useAddressBook(address,i)">
|
||||
<i v-if="isChecking && currentBtSearch === 'addressBook'+i" class="fa-solid fa-circle-notch fa-spin fa-fw"></i>
|
||||
<i v-else class="fa-regular fa-circle-check fa-fw"></i>
|
||||
Choisir cette adresse
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-if="isConnected && addressBook.length === 0">
|
||||
Vous n'avez pas encore d'adresse enregistrée
|
||||
</div>
|
||||
<div v-else class="col-auto">
|
||||
<i class="fa-solid fa-circle-notch fa-spin fa-fw text-primary fa-2x"></i>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -57,9 +87,20 @@ export default {
|
||||
searchResults: [],
|
||||
isSearching: false,
|
||||
isChecking: false,
|
||||
addressBook: [],
|
||||
isConnected: null,
|
||||
currentBtSearch : null
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
useAddressBook(address,i) {
|
||||
this.currentBtSearch = 'addressBook'+i
|
||||
|
||||
this.store.setStreet(address.street)
|
||||
this.store.setZipCode(address.zip_code)
|
||||
this.store.setCity(address.city)
|
||||
this.checkIdAddressIsEligible()
|
||||
},
|
||||
updateSearchResult: async function () {
|
||||
|
||||
this.store.setStreet(null)
|
||||
@@ -84,7 +125,7 @@ export default {
|
||||
this.store.setZipCode(item.properties.postcode)
|
||||
this.store.setCity(item.properties.city)
|
||||
},
|
||||
checkIdAddressIsEligible: async function () {
|
||||
checkIdAddressIsEligible: async function (e) {
|
||||
this.isChecking = true
|
||||
|
||||
const urlApi = '/php/api/v3/mmcm.php?EXEC=getEligibility&street=' + encodeURI(this.store.street)
|
||||
@@ -111,6 +152,28 @@ export default {
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
let urlApi = '/php/api/v3/mmcm.php?EXEC=getAccountAddress'
|
||||
|
||||
if (import.meta.env.DEV) {
|
||||
urlApi += '&ID_SESSION=wqG6cX5g';
|
||||
console.log(urlApi)
|
||||
}
|
||||
|
||||
let apiResult = await fetch(urlApi)
|
||||
.then(response => {
|
||||
if (response.ok) {
|
||||
return response.json();
|
||||
}
|
||||
})
|
||||
|
||||
this.isConnected = apiResult.connected
|
||||
|
||||
if (apiResult.connected && apiResult.nb > 0) {
|
||||
this.addressBook = apiResult.list
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user