WIP MMCM
This commit is contained in:
@@ -2,6 +2,13 @@
|
|||||||
<div style="min-height: 350px">
|
<div style="min-height: 350px">
|
||||||
<div class="step_title">Indiquez votre adresse de livraison :</div>
|
<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 mb-3">
|
||||||
<div class="input-group-text">
|
<div class="input-group-text">
|
||||||
<i v-if="isSearching" class="fa-solid fa-circle-notch fa-spin fa-fw color-success"></i>
|
<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"
|
<input type="text" placeholder="Exemple : 9 Impasse des Peupliers 13008 Marseille" class="form-control"
|
||||||
v-model="query"
|
v-model="query"
|
||||||
@input="updateSearchResult" aria-describedby="button-addon">
|
@input="updateSearchResult" aria-describedby="button-addon">
|
||||||
<button class="btn btn-primary" type="button" id="button-addon" @click="checkIdAddressIsEligible">
|
<button class="btn btn-primary" type="button" id="button-addon" @click="[this.currentBtSearch = 'liveSearch',checkIdAddressIsEligible()]">
|
||||||
<i v-if="isChecking" class="fa-solid fa-circle-notch fa-spin fa-fw"></i>
|
<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>
|
<i v-else class="fa-regular fa-circle-check fa-fw"></i>
|
||||||
Valider
|
Valider
|
||||||
</button>
|
</button>
|
||||||
@@ -23,12 +30,35 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div class="alert alert-danger" role="alert" v-if="noOfferFound">
|
<div class="step_title mt-4">Mon carnet d'adresses :</div>
|
||||||
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 :
|
<div class="row" v-if="isConnected === false">
|
||||||
<a href="https://www.mesmedicamentschezmoi.com" target="_blank">Accéder à mesmedicamentschezmoi.com</a>
|
<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>
|
||||||
|
<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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -57,9 +87,20 @@ export default {
|
|||||||
searchResults: [],
|
searchResults: [],
|
||||||
isSearching: false,
|
isSearching: false,
|
||||||
isChecking: false,
|
isChecking: false,
|
||||||
|
addressBook: [],
|
||||||
|
isConnected: null,
|
||||||
|
currentBtSearch : null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
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 () {
|
updateSearchResult: async function () {
|
||||||
|
|
||||||
this.store.setStreet(null)
|
this.store.setStreet(null)
|
||||||
@@ -84,7 +125,7 @@ export default {
|
|||||||
this.store.setZipCode(item.properties.postcode)
|
this.store.setZipCode(item.properties.postcode)
|
||||||
this.store.setCity(item.properties.city)
|
this.store.setCity(item.properties.city)
|
||||||
},
|
},
|
||||||
checkIdAddressIsEligible: async function () {
|
checkIdAddressIsEligible: async function (e) {
|
||||||
this.isChecking = true
|
this.isChecking = true
|
||||||
|
|
||||||
const urlApi = '/php/api/v3/mmcm.php?EXEC=getEligibility&street=' + encodeURI(this.store.street)
|
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