Simplifying logic
This commit is contained in:
parent
c137db2c00
commit
916cd4ea4c
1 changed files with 52 additions and 22 deletions
|
|
@ -199,7 +199,21 @@ export default {
|
|||
filter: globalRules.OPTION_REQUIRED, // TODO do we even need this?
|
||||
provider: globalRules.OPTION_REQUIRED
|
||||
},
|
||||
shopListButton: shallowRef(shopListButton)
|
||||
shopListButton: shallowRef(shopListButton),
|
||||
radiusFilterPairs: [
|
||||
{
|
||||
radius: 25,
|
||||
filter: '25 miles'
|
||||
},
|
||||
{
|
||||
radius: 50,
|
||||
filter: '50 miles'
|
||||
},
|
||||
{
|
||||
radius: 100,
|
||||
filter: '100 miles'
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
|
|
@ -233,16 +247,18 @@ export default {
|
|||
);
|
||||
},
|
||||
radiusInMiles() {
|
||||
switch (this.filter) {
|
||||
case '25 miles':
|
||||
return 25;
|
||||
case '50 miles':
|
||||
return 50;
|
||||
case '100 miles':
|
||||
return 100;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
const pair = this.radiusFilterPairs.find((p) => p.filter === this.filter);
|
||||
return pair?.radius ?? 0;
|
||||
// switch (this.filter) {
|
||||
// case '25 miles':
|
||||
// return 25;
|
||||
// case '50 miles':
|
||||
// return 50;
|
||||
// case '100 miles':
|
||||
// return 100;
|
||||
// default:
|
||||
// return 0;
|
||||
// }
|
||||
},
|
||||
noNetworkShopsAlertHeaderText() {
|
||||
return this.getCmsContent(
|
||||
|
|
@ -312,18 +328,32 @@ export default {
|
|||
this.initialLoading = true;
|
||||
const { zipCode } = useMainStore().order.customer.address;
|
||||
|
||||
let radius = '25 miles';
|
||||
let providers = await useMainStore().getTpaProviders(zipCode, 25);
|
||||
if ((providers?.data?.shopProviders ?? []).length === 0) {
|
||||
radius = '50 miles';
|
||||
providers = await useMainStore().getTpaProviders(zipCode, 50);
|
||||
if ((providers?.data?.shopProviders ?? []).length === 0) {
|
||||
radius = '100 miles';
|
||||
providers = await useMainStore().getTpaProviders(zipCode, 100);
|
||||
}
|
||||
let pairIndex = 0;
|
||||
let providers = [];
|
||||
let filter = '';
|
||||
while (providers.length === 0 && pairIndex < this.radiusFilterPairs.length) {
|
||||
const pair = this.radiusFilterPairs[pairIndex];
|
||||
const { radius } = pair;
|
||||
filter = pair.filter;
|
||||
// eslint-disable-next-line no-await-in-loop
|
||||
const result = await useMainStore().getTpaProviders(zipCode, radius);
|
||||
providers = result?.data?.shopProviders ?? [];
|
||||
|
||||
pairIndex += 1;
|
||||
}
|
||||
this.filter = radius;
|
||||
this.providers = providers?.data?.shopProviders ?? [];
|
||||
|
||||
// let radius = '25 miles';
|
||||
// let providers = await useMainStore().getTpaProviders(zipCode, 25);
|
||||
// if ((providers?.data?.shopProviders ?? []).length === 0) {
|
||||
// radius = '50 miles';
|
||||
// providers = await useMainStore().getTpaProviders(zipCode, 50);
|
||||
// if ((providers?.data?.shopProviders ?? []).length === 0) {
|
||||
// radius = '100 miles';
|
||||
// providers = await useMainStore().getTpaProviders(zipCode, 100);
|
||||
// }
|
||||
// }
|
||||
this.filter = filter;
|
||||
this.providers = providers;
|
||||
},
|
||||
async getProviderButtonData() {
|
||||
const getTpaProvidersResult = await useMainStore().getTpaProviders(this.zipCode, this.radiusInMiles);
|
||||
|
|
|
|||
Loading…
Reference in a new issue