diff --git a/src/common-components/button-question/button-question.vue b/src/common-components/button-question/button-question.vue index aa4aec2a1..2ea6d1c3a 100644 --- a/src/common-components/button-question/button-question.vue +++ b/src/common-components/button-question/button-question.vue @@ -2,7 +2,7 @@ + + diff --git a/src/router/router-constants/navigation-scenarios.js b/src/router/router-constants/navigation-scenarios.js index 7bf425efc..a9cf0b0ea 100644 --- a/src/router/router-constants/navigation-scenarios.js +++ b/src/router/router-constants/navigation-scenarios.js @@ -17,6 +17,8 @@ const navigationScenarios = { SELECTED_MANUAL_VIN: "SELECTED_MANUAL_VIN", SELECTED_LICENSE_PLATE: "SELECTED_LICENSE_PLATE", SELECTED_HOME_ADDRESS: "SELECTED_HOME_ADDRESS", + ANSWERED_QUESTIONS_WITH_SINGLE_PART: "ANSWERED_QUESTIONS_WITH_SINGLE_PART", + ANSWERED_QUESTIONS_WITH_MULTIPLE_PARTS: "ANSWERED_QUESTIONS_WITH_MULTIPLE_PARTS", }; export { navigationScenarios }; diff --git a/src/router/router-constants/routing-table.js b/src/router/router-constants/routing-table.js index 78c5ac242..515465385 100644 --- a/src/router/router-constants/routing-table.js +++ b/src/router/router-constants/routing-table.js @@ -216,7 +216,15 @@ const routingTable = [ { scenario: navigationScenarios.CLICKED_BACK, destinationFmgPageValue: fmgPageValues.VIN_LOOKUP - } + }, + { + scenario: navigationScenarios.ANSWERED_QUESTIONS_WITH_MULTIPLE_PARTS, + destinationFmgPageValue: fmgPageValues.VEHICLE_PARTS + }, + { + scenario: navigationScenarios.ANSWERED_QUESTIONS_WITH_SINGLE_PART, + destinationFmgPageValue: fmgPageValues.QUOTE, + }, ] }, ]; diff --git a/src/store/index.js b/src/store/index.js index 0d8689242..a7676a04e 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -44,6 +44,7 @@ const getDefaultState = () => { isRepair: null, numberOfChips: null, glassToReplace: null, + partQuestionAnswers: null, }, lineItems: { glassParts: null, @@ -112,6 +113,9 @@ export const mutations = { updateGlassToReplace(state, glassToReplace) { state.order.damage.glassToReplace = glassToReplace; }, + updatePartQuestionAnswers(state, answersArray) { + state.order.damage.partQuestionAnswers = answersArray; + }, updateGlassParts(state, partsData) { state.order.lineItems.glassParts = partsData; }, @@ -555,7 +559,7 @@ export const actions = { }); }, - // Parts API Actions + // PartsOrQuestions API Actions getPartsOrQuestions(context) { const vehicle = context.getters.vehicle; const damage = context.getters.damage; @@ -578,6 +582,31 @@ export const actions = { }); }, + // Parts API Actions + getParts(context) { + const vehicle = context.getters.vehicle; + const damage = context.getters.damage; + const order = context.state.order; + + const carId = vehicle.carId; + const glassArray = damage.glassToReplace; + const resultsArray = damage.partQuestionAnswers; + const zipCode = order.serviceLocation.zipCode; + const vin = vehicle.vin; + + return globalMethods.callHttpClient({ + method: endpoints.GetParts.method, + endpoint: endpoints.GetParts.url, + payload: { + carId: carId, + glass: glassArray, + answerResults: resultsArray, + zip: zipCode, + vin: vin + }, + }); + }, + // Order API Actions saveOrder(context) { const vehicle = context.getters.vehicle; @@ -787,6 +816,10 @@ export const actions = { context.commit(storeMutations.UPDATE_REGISTRATION, registrationInfo); } }, + savePartQuestionAnswers(context, partQuestionAnswersArray) { + //Save new values + context.commit(storeMutations.UPDATE_PART_QUESTION_ANSWERS, partQuestionAnswersArray); + }, // Misc order actions saveServiceLocation(context, serviceLocationInfo) {