From bc938fa1a48906bf5e45caaf6ebd70ffae652bdd Mon Sep 17 00:00:00 2001 From: Jonathan Chevalier Date: Fri, 14 Oct 2022 18:06:57 +0200 Subject: [PATCH] WIP MMCM --- src/components/AutocompleteTest.vue | 2 +- src/stores/mmcm.js | 60 +++++++++++++++++++++-- src/views/address-check.vue | 1 + src/views/delivery-option-step-2.vue | 2 - src/views/delivery-option-step-3.vue | 72 +++++++++++++++++++--------- 5 files changed, 108 insertions(+), 29 deletions(-) diff --git a/src/components/AutocompleteTest.vue b/src/components/AutocompleteTest.vue index 6644f08..0c7f024 100644 --- a/src/components/AutocompleteTest.vue +++ b/src/components/AutocompleteTest.vue @@ -60,7 +60,7 @@ export default { } watch(searchTerm, (selection, prevSelection) => { - console.log(selection) + searchCountries= addressSearch(searchCountries) }) diff --git a/src/stores/mmcm.js b/src/stores/mmcm.js index 4720dc5..983549d 100644 --- a/src/stores/mmcm.js +++ b/src/stores/mmcm.js @@ -1,5 +1,5 @@ import {defineStore} from 'pinia' -import {add} from "date-fns"; +import {add, format} from "date-fns"; const today = new Date(); @@ -13,6 +13,58 @@ const afterTomorrow = days: 2 }) +let date = {collectExpress: null, deliveryExpress: null, collectFacteur: null, deliveryFacteur: null} + +const currentDay = format(today, 'e') +//const isWeekEnd = (currentDay === '7' || currentDay === '8') + +if (format(today, 'HH') > 17) { + date.collectExpress = date.deliveryExpress = tomorrow +} else { + date.collectExpress = date.deliveryExpress = today +} + +date.collectFacteur = tomorrow +date.deliveryFacteur = afterTomorrow + +if (currentDay === '5') // jeudi +{ + date.deliveryFacteur = add(today, { + days: 4 + }) +} else if (currentDay === '6') // vendredi +{ + date.collectFacteur = add(today, { + days: 3 + }) + date.deliveryFacteur = add(today, { + days: 4 + }) + + if (format(today, 'HH') > 17) { + date.collectExpress = date.deliveryExpress = add(today, { + days: 3 + }) + } + +} else if (currentDay === '7') // samedi +{ + date.collectFacteur = add(today, { + days: 2 + }) + date.deliveryFacteur = add(today, { + days: 3 + }) + + date.collectExpress = date.deliveryExpress = add(today, { + days: 2 + }) +} else if (currentDay === '8') // dimanche ou 17 +{ + date.collectExpress = date.deliveryExpress = tomorrow +} + + const timestampConverter = (digit13) => digit13 / 1000 export const useMMCMStore = defineStore('counter', { @@ -30,9 +82,11 @@ export const useMMCMStore = defineStore('counter', { fullAddress: (state) => state.street + ' ' + state.zipCode + ' ' + state.city, deliveryMethod: (state) => state.productList.filter(p => p.id === state.idProduct)[0].name, dateDeliveryString: (state) => new Date(state.dateDelivery).toLocaleDateString("fr-FR"), - minDateForDelivery: (state) => (state.productList.filter(p => p.id === state.idProduct)[0].ref === 'MMCM_EXPRESS') ? today : tomorrow, + minDateForDelivery: (state) => (state.productList.filter(p => p.id === state.idProduct)[0].ref === 'MMCM_EXPRESS') ? date.deliveryExpress : date.deliveryFacteur, + minDateForCollect: (state) => (state.productList.filter(p => p.id === state.idProduct)[0].ref === 'MMCM_EXPRESS') ? date.collectExpress : date.collectFacteur, needPrescriptionDateCollect: (state) => !!(state.productList.filter(p => p.id === state.idProduct)[0].ref === 'MMCM_FACTEUR' && state.withPrescription), - dateDeliveryTimestampInSecond: (state) => timestampConverter(state.dateDelivery) + dateDeliveryTimestampInSecond: (state) => timestampConverter(state.dateDelivery), + }, actions: { setStreet(street) { diff --git a/src/views/address-check.vue b/src/views/address-check.vue index 2dc4b7e..40c975b 100644 --- a/src/views/address-check.vue +++ b/src/views/address-check.vue @@ -34,6 +34,7 @@