From 2da09b11b7bf07c99233a9e5892057d06ace9f4f Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Tue, 12 Sep 2023 11:20:13 -0400 Subject: [PATCH 1/2] CSR-1642 | Mobile fee not being saved to supporting items fix --- .../service-location/service-location.vue | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/src/layouts/service-location/service-location.vue b/src/layouts/service-location/service-location.vue index 2c0e0619b..c25826121 100644 --- a/src/layouts/service-location/service-location.vue +++ b/src/layouts/service-location/service-location.vue @@ -116,6 +116,8 @@ import store from "@/store"; import { defineRule } from "vee-validate"; import { errorMessages } from "@/constants/error-messages"; +const MOBILE_FEE_PART_TYPE = "MOBILE FEE"; + // DEFINE VALIDATION RULES defineRule("mobile-location-required", (value) => { if ( @@ -375,6 +377,49 @@ export default { backButtonAction() { this.$router.navigateWithoutSaving(this.navigationScenarios.CLICKED_BACK, this.$route); }, + updateAndSaveSupportingItems() { + const supportingItems = store.getters.lineItems.supportingItems; + // if we have a mobile fee, then save/update supporting items + if ( + this.selectedAppointmentType == "Mobile" + ) { + const mobileFeeIndex = supportingItems.findIndex( + (item) => item.partType == MOBILE_FEE_PART_TYPE + ); + // If it already exists, update the price with latest data + if (mobileFeeIndex >= 0) { + supportingItems[mobileFeeIndex].laborAmount = + this.mobileFeePart.laborAmount; + supportingItems[mobileFeeIndex].selingPrice = + this.mobileFeePart.selingPrice; + supportingItems[mobileFeeIndex].kitPrice = + this.mobileFeePart.kitPrice; + } else { + supportingItems.push(this.mobileFeePart); + } + + this.dispatchStoreAction( + this.storeActions.SAVE_SUPPORTING_ITEMS_SUPPRESSING_STATE_RESETTING, + supportingItems, + false + ); + } else { + + // if it's not a mobile, then make sure we remove any that may have been added + const removeMobileFeeIndex = supportingItems.findIndex( + (item) => item.partType == MOBILE_FEE_PART_TYPE + ); + + if (removeMobileFeeIndex >= 0) { + supportingItems.splice(removeMobileFeeIndex, 1); + this.dispatchStoreAction( + this.storeActions.SAVE_SUPPORTING_ITEMS_SUPPRESSING_STATE_RESETTING, + supportingItems, + false + ); + } + } + }, async forwardButtonAction() { await this.dispatchStoreAction( this.storeActions.SAVE_SERVICE_LOCATION, @@ -401,6 +446,8 @@ export default { false ); + this.updateAndSaveSupportingItems(); + this.$router.navigateWithSaving( this.navigationScenarios.SELECTED_LOCATION, this.$route From b73abadebd2e5dfb623069303c5f0876e039cba3 Mon Sep 17 00:00:00 2001 From: Scott Kiener Date: Tue, 12 Sep 2023 11:22:00 -0400 Subject: [PATCH 2/2] CSR-1614 | Formatting --- src/layouts/service-location/service-location.vue | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/layouts/service-location/service-location.vue b/src/layouts/service-location/service-location.vue index c25826121..0eaaffbd4 100644 --- a/src/layouts/service-location/service-location.vue +++ b/src/layouts/service-location/service-location.vue @@ -380,20 +380,15 @@ export default { updateAndSaveSupportingItems() { const supportingItems = store.getters.lineItems.supportingItems; // if we have a mobile fee, then save/update supporting items - if ( - this.selectedAppointmentType == "Mobile" - ) { + if (this.selectedAppointmentType == "Mobile") { const mobileFeeIndex = supportingItems.findIndex( (item) => item.partType == MOBILE_FEE_PART_TYPE ); // If it already exists, update the price with latest data if (mobileFeeIndex >= 0) { - supportingItems[mobileFeeIndex].laborAmount = - this.mobileFeePart.laborAmount; - supportingItems[mobileFeeIndex].selingPrice = - this.mobileFeePart.selingPrice; - supportingItems[mobileFeeIndex].kitPrice = - this.mobileFeePart.kitPrice; + supportingItems[mobileFeeIndex].laborAmount = this.mobileFeePart.laborAmount; + supportingItems[mobileFeeIndex].selingPrice = this.mobileFeePart.selingPrice; + supportingItems[mobileFeeIndex].kitPrice = this.mobileFeePart.kitPrice; } else { supportingItems.push(this.mobileFeePart); } @@ -404,7 +399,6 @@ export default { false ); } else { - // if it's not a mobile, then make sure we remove any that may have been added const removeMobileFeeIndex = supportingItems.findIndex( (item) => item.partType == MOBILE_FEE_PART_TYPE