43 lines
No EOL
2.2 KiB
JavaScript
43 lines
No EOL
2.2 KiB
JavaScript
import { storeActions } from "@/constants/store-actions.js";
|
|
import { storeMutations } from "@/constants/store-mutations.js";
|
|
import { navigateToHeritageFunnel } from "@/helpers/heritage-integration/navigation-helper";
|
|
import vehicleQuestionsMixin from "@/mixins/vehicle-questions-mixin";
|
|
|
|
export default {
|
|
mixins: [vehicleQuestionsMixin],
|
|
methods: {
|
|
async navigateForwardWithSingleCarMatch() {
|
|
const result = await this.dispatchStoreAction(storeActions.GET_PARTS_OR_QUESTIONS);
|
|
|
|
const partsOrQuestions = result.data.partsOrQuestions;
|
|
|
|
const hasPartsQuestions = this.hasPartQuestions(partsOrQuestions);
|
|
const hasGlassLocationWithMultipleParts = this.hasGlassLocationWithMultipleParts(partsOrQuestions);
|
|
const hasChildPartQuestions = this.hasChildPartQuestions(partsOrQuestions);
|
|
const hasCapabilityQuestions = this.hasCapabilityQuestions(partsOrQuestions);
|
|
|
|
if (hasPartsQuestions) {
|
|
this.$router.navigate(this.navigationScenarios.SELECTED_VIN_WITH_PART_QUESTIONS, this.$route, {}, {}, result.data);
|
|
}
|
|
else if (hasGlassLocationWithMultipleParts) {
|
|
this.$router.navigate(this.navigationScenarios.SELECTED_VIN_WITH_MULTIPLE_PARTS, this.$route, {}, {}, result.data);
|
|
}
|
|
else if (hasChildPartQuestions) {
|
|
this.$router.navigate(this.navigationScenarios.SELECTED_VIN_WITH_MOLDING_QUESTIONS, this.$route, {}, {}, result.data);
|
|
}
|
|
else if (hasCapabilityQuestions) {
|
|
this.$router.navigate(this.navigationScenarios.SELECTED_VIN_WITH_CAPABILITY_QUESTIONS, this.$route, {}, {}, result.data);
|
|
}
|
|
else {
|
|
// if single parts only
|
|
const collectedGlassParts = this.reducedGlassPartsArray(result.data.partsOrQuestions);
|
|
// save to store lineItems.glassParts
|
|
this.$store.commit(storeMutations.UPDATE_GLASS_PARTS, collectedGlassParts);
|
|
|
|
// go to heritage quote page
|
|
this.$refs.loadingModal.showModal();
|
|
navigateToHeritageFunnel();
|
|
}
|
|
},
|
|
}
|
|
} |