diff --git a/src/helpers/capability-question-helper.js b/src/helpers/capability-question-helper.js index 757c979d..9ee0efcb 100644 --- a/src/helpers/capability-question-helper.js +++ b/src/helpers/capability-question-helper.js @@ -6,37 +6,9 @@ * @param {*} capabilityAnswerResult * @returns part */ -function setPartRecalibrationProperties(part, capabilityAnswerResult) { - part.RecalibrationType = capabilityAnswerResult.Result1; - part.RequiresRecalibration = capabilityAnswerResult.Result2 != "0"; - return part; +export default function setPartRecalibrationProperties(part, capabilityAnswerResult) { + Object.assign(part, { + recalibrationType: capabilityAnswerResult.result1, + requiresRecalibration: capabilityAnswerResult.result2 !== "0" + }); } - -// function x(capabilityQuestionAnswers, glassLocation) { - -// } - -// setAllPartRecalibrationProperties(parts, context, { payload, pageNameToLog }) { -// const glassLocation = payload; -// const pageData = context.getters.pageData(fmgPageValues.CAPABILITY_QUESTIONS); - -// const part = pageData.partsOrQuestions.find((x) => x.glassLocation === glassLocation) -// .parts[0]; -// const capabilityQuestionAnswers = context.getters.damage.capabilityQuestionAnswers; -// const capabilityQuestionAnswersForPart = capabilityQuestionAnswers.find( -// (x) => x.glassLocation === glassLocation -// ); - -// return globalMethods.callHttpClient({ -// method: endpoints.GetPartFromCapabilityAnswer.method, -// endpoint: endpoints.GetPartFromCapabilityAnswer.url, -// payload: { -// part, -// capabilityAnswerResults: capabilityQuestionAnswersForPart, -// }, -// logApiCall: true, -// pageNameToLog: pageNameToLog, -// }); -// }, - -export default setPartRecalibrationProperties; \ No newline at end of file diff --git a/src/layouts/capability-questions/capability-questions.vue b/src/layouts/capability-questions/capability-questions.vue index 65d6f41a..051b80e4 100644 --- a/src/layouts/capability-questions/capability-questions.vue +++ b/src/layouts/capability-questions/capability-questions.vue @@ -31,6 +31,7 @@ import { useMainStore } from '@/store'; import globalRules from '@/constants/global-rules'; import vehicleQuestionsMixin from '@/mixins/vehicle-questions-mixin'; import questionsPageLayout from '@/iss-components/questions-page-layout/questions-page-layout.vue'; +import setPartRecalibrationProperties from '@/helpers/capability-question-helper'; export default { name: 'capability-questions', @@ -131,22 +132,18 @@ export default { }, async forwardButtonAction() { const questionAnswersArray = this.questionsData.map((glass) => { - // get answerResult2 of returned answer - let selectedAnswerResult2; - glass.questions.forEach((q) => { - const idx = q.answers.findIndex((a) => a.answerResult === glass.answerData.answerResult); - if (idx !== -1) { - selectedAnswerResult2 = q.answers[idx].answerResult2; - } - }); + const { glassLocation, glassName, isSuppressedPart, answerData, questions } = glass; + const { answerResult, answeredQuestions } = answerData return { - glassLocation: glass.glassLocation, - glassName: glass.glassName, - result: glass.answerData.answerResult, - result1: glass.answerData.answerResult, - result2: selectedAnswerResult2, - answeredQuestions: glass.answerData.answeredQuestions, - isSuppressedPart: glass.isSuppressedPart + glassLocation, + glassName, + result: answerResult, + result1: answerResult, + result2: questions + .flatMap(q => q.answers) + .find(a => a.answerResult === answerData.answerResult)?.answerResult2, + answeredQuestions, + isSuppressedPart }; }); // clear out answerData for future page loads; must occur prior to store save @@ -155,7 +152,12 @@ export default { }); // save to store as order.damage.moldingQuestionArrays (array) await this.mainStore.saveCapabilityQuestionAnswers(questionAnswersArray); - // TODO call get parts from the capabilityQuestionAnswers endpoint + + for (let answer of questionAnswersArray) { + const partAssociatedWithAnswer = this.partsOrQuestionsData.find((x) => x.glassLocation === answer.glassLocation).parts[0]; + setPartRecalibrationProperties(partAssociatedWithAnswer, answer); + } + this.navigateForward(this.partsOrQuestionsData, null); } }