diff --git a/src/store/index.js b/src/store/index.js index 29289db6e..be4a8784e 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -2950,7 +2950,9 @@ export const actions = { async getRecalPartsAndSaveToLineItems(context, { pageNameToLog }) { // identify each part that needs recal - const glassParts = context.state.order?.lineItems?.glassParts ?? []; + const glassParts = context.state.order?.lineItems?.glassParts + ? deepClone(context.state.order.lineItems.glassParts) + : []; for (let i = 0; i < glassParts.length; i++) { // does this part need recal? @@ -2983,6 +2985,7 @@ export const actions = { } glassParts[i].childParts.push(...recalPartResponse.data.recalibrationParts); + context.dispatch(storeActions.SAVE_GLASS_PARTS, glassParts); } } } @@ -3181,7 +3184,10 @@ export function getArrayOfAllLineItems(lineItems) { let consolidatedLineItemsArray = []; if (lineItems.glassParts != null) - consolidatedLineItemsArray = [...consolidatedLineItemsArray, ...lineItems.glassParts]; + consolidatedLineItemsArray = [ + ...consolidatedLineItemsArray, + ...getFlattenedArrayOfLineItemsWithChildParts(lineItems.glassParts), + ]; if (lineItems.supportingItems != null) consolidatedLineItemsArray = [...consolidatedLineItemsArray, ...lineItems.supportingItems]; @@ -3269,6 +3275,9 @@ function addGuidToLineItemsIfNotAlreadyThere(lineItems) { if (!lineItem.id) { lineItem.id = crypto.randomUUID(); } + if (lineItem.childParts) { + addGuidToLineItemsIfNotAlreadyThere(lineItem.childParts); + } }); }