Refine data passed to sierra -- 1161

This commit is contained in:
Chloe Herd 2025-07-14 13:01:00 -04:00
parent 3a4c7907f3
commit 1c840c7d3c
4 changed files with 21 additions and 21 deletions

View file

@ -44,21 +44,22 @@ export default {
},
getSierraContext() {
const glassDamage = store.getters?.order?.damage?.glassToReplace;
const glassType =
glassDamage && glassDamage.length > 0
? glassDamage.length > 1
? "Multiglass"
: glassDamage[0].glassType // todo: clarify?
: "";
let glassType = "";
for (let i = 0; i < glassDamage?.length; i++) {
if (i !== 0) {
glassType += "/";
}
glassType += glassDamage[i].glassLocation;
}
const damageType = store.getters.order?.damage?.isRepair ? "repair" : "replace";
const paymentType = store.getters.oreder?.payment?.isInsurance ? "insurance" : "cash";
const glassParts = store.getters.order?.lineItems?.glassParts;
const partId = glassParts && glassParts.length > 0 ? glassParts[0].partId : "";
const partNumber = glassParts && glassParts.length > 0 ? glassParts[0].partNumber : "";
const packageData = deepClone(store.getters?.pageData(routeData.QUOTE.name));
const packageData = deepClone(store.getters?.pageData(routeData.QUOTE.name)?.packages);
return {
current_page: this.pageName,
@ -66,12 +67,12 @@ export default {
vehicle_make: store.getters.order?.vehicle?.make ?? "",
vehicle_model: store.getters.order?.vehicle?.model ?? "",
vehicle_style: store.getters.order?.vehicle?.style ?? "",
service_zip: store.getters.order?.serviceLocation?.serviceZip ?? "",
service_zip: store.getters.order?.serviceLocation?.zipCode ?? "",
glass_type: glassType ?? "",
damage_type: damageType ?? "",
payment_type: paymentType ?? "",
quote: packageData ?? [],
part_id: partId ?? "",
part_id: partNumber ?? "",
recalibration: store.getters?.isRecalibrationOnOrder ?? "",
};
},

View file

@ -172,6 +172,7 @@ import { routeData } from "@/router/constants/routes";
import { consumeQueryFromStash } from "@/router/methods/helpers/querystring-stash";
import { storeMutations } from "@/constants/store-mutations";
import { debugLog } from "@/helpers/debug-log-helper";
import { savePageData } from "@/router/methods/helpers/save-page-data";
defineRule("option-required", required(errorMessages.OPTION_REQUIRED));
@ -669,14 +670,7 @@ export default {
async closeSaveProgressPopup() {
this.showSaveProgressPopup = false;
await this.dispatchStoreAction(
storeActions.SAVE_PAGE_DATA,
{
page: routeData.QUOTE.name,
data: { saveProgressPopupSkipped: true },
},
false
);
savePageData(this.pageName, { saveProgressPopupSkipped: true }, true);
if (this.skipToInsurance) {
// skip ahead now if in IGQ skip experiment

View file

@ -442,7 +442,7 @@ export default {
price: ans.buttonAuxillaryCopy,
}));
await savePageData(this.pageName, { packages: toLog });
await savePageData(this.pageName, { packages: toLog }, true);
},
},
components: {

View file

@ -1,10 +1,15 @@
import store from "@/store";
import { storeMutations } from "@/constants/store-mutations";
export async function savePageData(page, data) {
export async function savePageData(page, data, merge = false) {
const existingPageData = store.getters.pageData(page);
const dataToSave = Object.keys(data).length > 0 ? data : (existingPageData ?? {});
let dataToSave;
if (merge) {
dataToSave = Object.assign(existingPageData ?? {}, data ?? {});
} else {
dataToSave = Object.keys(data).length > 0 ? data : (existingPageData ?? {});
}
// Save data if non-null
store.commit(storeMutations.UPDATE_PAGE_DATA, { page: page, data: dataToSave });