Merge branch 'release/heavy.truck' into feature/CASH-320
This commit is contained in:
commit
ccfc1239cc
15 changed files with 83 additions and 42 deletions
11
package-lock.json
generated
11
package-lock.json
generated
|
|
@ -8,6 +8,7 @@
|
||||||
"name": "Safelite",
|
"name": "Safelite",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@iframe-resizer/child": "^5.3.3",
|
||||||
"axios": "^0.23.0",
|
"axios": "^0.23.0",
|
||||||
"bootstrap": "^5.3.3",
|
"bootstrap": "^5.3.3",
|
||||||
"core-js": "^3.38.1",
|
"core-js": "^3.38.1",
|
||||||
|
|
@ -2162,6 +2163,16 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "BSD-3-Clause"
|
"license": "BSD-3-Clause"
|
||||||
},
|
},
|
||||||
|
"node_modules/@iframe-resizer/child": {
|
||||||
|
"version": "5.3.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@iframe-resizer/child/-/child-5.3.3.tgz",
|
||||||
|
"integrity": "sha512-A+avzzQ6R5AaK0RQ/v0sxrN/S7zeS0U7TE/Jcc2Wln0gpVHpkEMHLOYVBAS2ho8ZA6yhbyZeNoDCh3RMtCp14w==",
|
||||||
|
"license": "GPL-3.0",
|
||||||
|
"funding": {
|
||||||
|
"type": "individual",
|
||||||
|
"url": "https://iframe-resizer.com/pricing/"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@isaacs/cliui": {
|
"node_modules/@isaacs/cliui": {
|
||||||
"version": "8.0.2",
|
"version": "8.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
"lint": "vue-cli-service lint"
|
"lint": "vue-cli-service lint"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@iframe-resizer/child": "^5.3.3",
|
||||||
"axios": "^0.23.0",
|
"axios": "^0.23.0",
|
||||||
"bootstrap": "^5.3.3",
|
"bootstrap": "^5.3.3",
|
||||||
"core-js": "^3.38.1",
|
"core-js": "^3.38.1",
|
||||||
|
|
|
||||||
|
|
@ -188,6 +188,10 @@ const endpoints = {
|
||||||
url: "/account/api/v1/account/bill-to-account-number",
|
url: "/account/api/v1/account/bill-to-account-number",
|
||||||
method: "GET",
|
method: "GET",
|
||||||
},
|
},
|
||||||
|
ClosestApplicableShops: {
|
||||||
|
url: "/location/api/v1/location/closest-applicable-shops",
|
||||||
|
method: "GET",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export { endpoints };
|
export { endpoints };
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@ const storeActions = {
|
||||||
GET_INSURANCE_COMPANY_LIST: "getInsuranceCompanyList",
|
GET_INSURANCE_COMPANY_LIST: "getInsuranceCompanyList",
|
||||||
GET_BILL_TO_ACCOUNT_NUMBER: "getBillToAccountNumber",
|
GET_BILL_TO_ACCOUNT_NUMBER: "getBillToAccountNumber",
|
||||||
GET_RECAL_PARTS_AND_SAVE_TO_LINE_ITEMS: "getRecalPartsAndSaveToLineItems",
|
GET_RECAL_PARTS_AND_SAVE_TO_LINE_ITEMS: "getRecalPartsAndSaveToLineItems",
|
||||||
|
GET_CLOSEST_APPLICABLE_SHOPS: "getClosestApplicableShops",
|
||||||
|
|
||||||
// Analytics
|
// Analytics
|
||||||
LOG_EXPERIMENT_EXPOSURE_AND_UPDATE_STORE: "logExperimentExposureAndUpdateStore",
|
LOG_EXPERIMENT_EXPOSURE_AND_UPDATE_STORE: "logExperimentExposureAndUpdateStore",
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ const storeMutations = {
|
||||||
UPDATE_VEHICLE_IMAGE_COLOR: "updateVehicleImageColor",
|
UPDATE_VEHICLE_IMAGE_COLOR: "updateVehicleImageColor",
|
||||||
UPDATE_VEHICLE_VIN: "updateVehicleVin",
|
UPDATE_VEHICLE_VIN: "updateVehicleVin",
|
||||||
UPDATE_VEHICLE: "updateVehicle",
|
UPDATE_VEHICLE: "updateVehicle",
|
||||||
|
UPDATE_VEHICLE_CAN_SAFELITE_SERVICE: "updateVehicleCanSafeliteService",
|
||||||
|
|
||||||
UPDATE_IS_REPAIR: "updateIsRepair",
|
UPDATE_IS_REPAIR: "updateIsRepair",
|
||||||
UPDATE_NUMBER_OF_CHIPS: "updateNumberOfChips",
|
UPDATE_NUMBER_OF_CHIPS: "updateNumberOfChips",
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<p class="small subheadline mb-2" v-html="DonationSubHeadline"></p>
|
<p class="small subheadline mb-2" v-html="DonationSubHeadline"></p>
|
||||||
<p class="caption mb-0" v-html="DonationBodyText"></p>
|
<span class="caption mb-0" v-html="DonationBodyText"></span>
|
||||||
|
|
||||||
<textLink
|
<textLink
|
||||||
linkType="newWindowLink"
|
linkType="newWindowLink"
|
||||||
text="Learn more"
|
text="Learn more"
|
||||||
|
|
@ -61,11 +62,11 @@
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div
|
<div
|
||||||
v-if="showDonationSuccess"
|
v-if="showDonationSuccess"
|
||||||
class="d-flex justify-content-center align-items-center btn-success w-100 mb-2"
|
class="d-flex justify-content-center align-items-center btn-success w-100"
|
||||||
v-html="DonationThanksAlertWidget"></div>
|
v-html="DonationThanksAlertWidget"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row px-4">
|
<div class="row px-4 mt-2">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<alert
|
<alert
|
||||||
v-if="showDonationError"
|
v-if="showDonationError"
|
||||||
|
|
@ -75,7 +76,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<p class="my-4 mx-0 text-center caption" v-html="DonationFooterText"></p>
|
<p class="mt-0 mb-4 mx-0 text-center caption" v-html="DonationFooterText"></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
@ -142,7 +143,7 @@ export default {
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.donation-block {
|
.donation-block {
|
||||||
padding: 1rem 0;
|
padding: 1rem 0 0 0;
|
||||||
background-color: $gray-100;
|
background-color: $gray-100;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -124,10 +124,6 @@ export default {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
isAddressFieldFocused: {
|
|
||||||
type: Boolean,
|
|
||||||
default: true,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
@ -229,9 +225,6 @@ export default {
|
||||||
).then(() => {
|
).then(() => {
|
||||||
// When loaded, trigger the setup
|
// When loaded, trigger the setup
|
||||||
this.initializeAutocomplete();
|
this.initializeAutocomplete();
|
||||||
if (this.isAddressFieldFocused) {
|
|
||||||
this.addressField1.focus();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
initializeAutocomplete() {
|
initializeAutocomplete() {
|
||||||
|
|
|
||||||
|
|
@ -200,6 +200,7 @@ export default {
|
||||||
isItac: Boolean,
|
isItac: Boolean,
|
||||||
isNoComp: Boolean,
|
isNoComp: Boolean,
|
||||||
isExpandedOnLoad: Boolean,
|
isExpandedOnLoad: Boolean,
|
||||||
|
isMSRFeeApplicable: Boolean,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
@ -846,9 +847,6 @@ export default {
|
||||||
isCashItacNoComp() {
|
isCashItacNoComp() {
|
||||||
return !this.isInsurance || this.isITAC || this.isNoComp;
|
return !this.isInsurance || this.isITAC || this.isNoComp;
|
||||||
},
|
},
|
||||||
getIsMSRFeeApplicableFromStore() {
|
|
||||||
return this.$store.getters.order.isMSRFeeApplicable;
|
|
||||||
},
|
|
||||||
mobileFeeCartItemName() {
|
mobileFeeCartItemName() {
|
||||||
return this.getCmsContent("MobileServiceTextWidget", "Text");
|
return this.getCmsContent("MobileServiceTextWidget", "Text");
|
||||||
},
|
},
|
||||||
|
|
@ -865,7 +863,7 @@ export default {
|
||||||
(mobileFeeLineItem?.sellingPrice ?? 0);
|
(mobileFeeLineItem?.sellingPrice ?? 0);
|
||||||
|
|
||||||
if (mobileTotal > 0) {
|
if (mobileTotal > 0) {
|
||||||
if (this.getIsMSRFeeApplicableFromStore) {
|
if (this.isMSRFeeApplicable) {
|
||||||
showMobileFeeCartItem = this.isCashItacNoComp;
|
showMobileFeeCartItem = this.isCashItacNoComp;
|
||||||
} else {
|
} else {
|
||||||
showMobileFeeCartItem = true;
|
showMobileFeeCartItem = true;
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,7 @@
|
||||||
ref="customerQuestions"
|
ref="customerQuestions"
|
||||||
v-model="customerQuestions"
|
v-model="customerQuestions"
|
||||||
:validationRules="EmailOrSmsValidationRules"
|
:validationRules="EmailOrSmsValidationRules"
|
||||||
:isEmailOptional="IsEmailOptional"
|
:isEmailOptional="IsEmailOptional" />
|
||||||
:isAddressFieldFocused="IsAddressFieldFocused" />
|
|
||||||
<alert
|
<alert
|
||||||
ref="alertVinNotFound"
|
ref="alertVinNotFound"
|
||||||
v-if="displayVinNotFoundAlert"
|
v-if="displayVinNotFoundAlert"
|
||||||
|
|
@ -465,9 +464,6 @@ export default {
|
||||||
.replaceAll("{custom:vinYmmFound}", vinYmmFound)
|
.replaceAll("{custom:vinYmmFound}", vinYmmFound)
|
||||||
.replaceAll("{custom:vinYmmExpected}", vinYmmExpected);
|
.replaceAll("{custom:vinYmmExpected}", vinYmmExpected);
|
||||||
},
|
},
|
||||||
IsAddressFieldFocused() {
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
customerQuestions: {
|
customerQuestions: {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="customer-questions">
|
<div class="customer-questions">
|
||||||
<addressQuestions
|
<addressQuestions ref="addressQuestions" v-model="customerModel.addressQuestions" />
|
||||||
ref="addressQuestions"
|
|
||||||
v-model="customerModel.addressQuestions"
|
|
||||||
:isAddressFieldFocused="isAddressFieldFocused" />
|
|
||||||
<div class="row mb-4">
|
<div class="row mb-4">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<textboxQuestion
|
<textboxQuestion
|
||||||
|
|
@ -90,11 +87,6 @@ export default {
|
||||||
},
|
},
|
||||||
validationRules: String,
|
validationRules: String,
|
||||||
isEmailOptional: Boolean,
|
isEmailOptional: Boolean,
|
||||||
isAddressFieldFocused: {
|
|
||||||
required: false,
|
|
||||||
type: Boolean,
|
|
||||||
default: true,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
customerModel: {
|
customerModel: {
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,8 @@
|
||||||
:shouldHideRecalibration="shouldHideRecalibration"
|
:shouldHideRecalibration="shouldHideRecalibration"
|
||||||
:isExpandedOnLoad="false"
|
:isExpandedOnLoad="false"
|
||||||
:isItac="isItac"
|
:isItac="isItac"
|
||||||
:isNoComp="isNoComp" />
|
:isNoComp="isNoComp"
|
||||||
|
:isMSRFeeApplicable="isMSRFeeApplicable" />
|
||||||
|
|
||||||
<div class="mt-3" v-if="DisplayFosterLove">
|
<div class="mt-3" v-if="DisplayFosterLove">
|
||||||
<donationBlock
|
<donationBlock
|
||||||
|
|
@ -423,6 +424,9 @@ export default {
|
||||||
damageInfo() {
|
damageInfo() {
|
||||||
return this.submittedOrder?.damage;
|
return this.submittedOrder?.damage;
|
||||||
},
|
},
|
||||||
|
isMSRFeeApplicable() {
|
||||||
|
return this.submittedOrder?.isMSRFeeApplicable;
|
||||||
|
},
|
||||||
isInsurance() {
|
isInsurance() {
|
||||||
return this.submittedOrder?.payment?.isInsurance;
|
return this.submittedOrder?.payment?.isInsurance;
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,8 @@
|
||||||
:shouldHideRecalibration="shouldHideRecalibration"
|
:shouldHideRecalibration="shouldHideRecalibration"
|
||||||
:isItac="isItac"
|
:isItac="isItac"
|
||||||
:isNoComp="isNoComp"
|
:isNoComp="isNoComp"
|
||||||
:isExpandedOnLoad="false" />
|
:isExpandedOnLoad="false"
|
||||||
|
:isMSRFeeApplicable="isMSRFeeApplicable" />
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
|
|
@ -683,6 +684,9 @@ export default {
|
||||||
damageInfo() {
|
damageInfo() {
|
||||||
return this.$store.getters.damage;
|
return this.$store.getters.damage;
|
||||||
},
|
},
|
||||||
|
isMSRFeeApplicable() {
|
||||||
|
return this.$store.getters.order.isMSRFeeApplicable;
|
||||||
|
},
|
||||||
isInsurance() {
|
isInsurance() {
|
||||||
return this.hasSubmittedOrder()
|
return this.hasSubmittedOrder()
|
||||||
? this.getSubmittedOrder()?.payment.isInsurance
|
? this.getSubmittedOrder()?.payment.isInsurance
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,10 @@ import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue";
|
||||||
import { Form } from "vee-validate";
|
import { Form } from "vee-validate";
|
||||||
import { paymentMethods } from "@/constants/payment-method-constants";
|
import { paymentMethods } from "@/constants/payment-method-constants";
|
||||||
import { routerParams } from "@/router/router-constants/router-params";
|
import { routerParams } from "@/router/router-constants/router-params";
|
||||||
|
// iframeResizer IS loaded into the page and necessary for the package to
|
||||||
|
// to auto scale the iFrame this page is loaded in
|
||||||
|
// Do not remove despite showing as "unused" CASH-309
|
||||||
|
import iframeResizer from "@iframe-resizer/child";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "payment-pia-return",
|
name: "payment-pia-return",
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@
|
||||||
placeHolderText="Select style"
|
placeHolderText="Select style"
|
||||||
customDropdownId="styleQuestionField" />
|
customDropdownId="styleQuestionField" />
|
||||||
|
|
||||||
<div v-if="showHeavyTruck">
|
<div v-if="isHeavyTruck">
|
||||||
<div class="separator-line"></div>
|
<div class="separator-line"></div>
|
||||||
<textboxQuestion
|
<textboxQuestion
|
||||||
class="mb-4"
|
class="mb-4"
|
||||||
|
|
@ -140,6 +140,7 @@ export default {
|
||||||
modelOptions: [],
|
modelOptions: [],
|
||||||
styleOptions: [],
|
styleOptions: [],
|
||||||
displayNoServiceAlert: false,
|
displayNoServiceAlert: false,
|
||||||
|
canSafeliteService: this.canSafeliteServiceFromStore(),
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -315,6 +316,9 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
|
serviceZipCode(newValue, oldValue) {
|
||||||
|
this.resetAlert();
|
||||||
|
},
|
||||||
async selectedYear(year) {
|
async selectedYear(year) {
|
||||||
this.resetAlert();
|
this.resetAlert();
|
||||||
this.makeOptions = [];
|
this.makeOptions = [];
|
||||||
|
|
@ -322,6 +326,7 @@ export default {
|
||||||
this.selectedModel = null;
|
this.selectedModel = null;
|
||||||
this.selectedStyle = null;
|
this.selectedStyle = null;
|
||||||
this.vehicleSubType = null;
|
this.vehicleSubType = null;
|
||||||
|
this.canSafeliteService = false;
|
||||||
this.carId = null;
|
this.carId = null;
|
||||||
if (year) {
|
if (year) {
|
||||||
const result = await this.getMakeOptions(year);
|
const result = await this.getMakeOptions(year);
|
||||||
|
|
@ -425,10 +430,8 @@ export default {
|
||||||
!!this.carId
|
!!this.carId
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
showHeavyTruck() {
|
isHeavyTruck() {
|
||||||
return (
|
return this.vehicleSubType === vehicleSubTypes.HEAVY_TRUCK && this.canSafeliteService;
|
||||||
this.vehicleSubType === vehicleSubTypes.HEAVY_TRUCK && !this.displayNoServiceAlert
|
|
||||||
);
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
@ -479,11 +482,8 @@ export default {
|
||||||
this.imageVifNumber = result?.data.imageVifNumber;
|
this.imageVifNumber = result?.data.imageVifNumber;
|
||||||
this.imageVifColor = result?.data.imageVifColor;
|
this.imageVifColor = result?.data.imageVifColor;
|
||||||
this.displayNoServiceAlert = !result?.data.canSafeliteService;
|
this.displayNoServiceAlert = !result?.data.canSafeliteService;
|
||||||
|
this.canSafeliteService = result?.data.canSafeliteService;
|
||||||
this.vehicleSubType = result?.data.vehicleSubType;
|
this.vehicleSubType = result?.data.vehicleSubType;
|
||||||
|
|
||||||
// if (this.showHeavyTruck) {
|
|
||||||
|
|
||||||
// }
|
|
||||||
},
|
},
|
||||||
resetAlert() {
|
resetAlert() {
|
||||||
this.displayNoServiceAlert = false;
|
this.displayNoServiceAlert = false;
|
||||||
|
|
@ -500,6 +500,7 @@ export default {
|
||||||
vehicleSubType: this.vehicleSubType,
|
vehicleSubType: this.vehicleSubType,
|
||||||
carId: this.carId,
|
carId: this.carId,
|
||||||
category: this.category,
|
category: this.category,
|
||||||
|
canSafeliteService: this.canSafeliteService,
|
||||||
imageUrl: this.imageUrl,
|
imageUrl: this.imageUrl,
|
||||||
imageVifNumber: this.imageVifNumber,
|
imageVifNumber: this.imageVifNumber,
|
||||||
imageVifColor: this.imageVifColor,
|
imageVifColor: this.imageVifColor,
|
||||||
|
|
@ -507,7 +508,7 @@ export default {
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
|
||||||
if (this.showHeavyTruck) {
|
if (this.isHeavyTruck) {
|
||||||
const zipCodeData = await this.getZipCodeData(this.serviceZipCode);
|
const zipCodeData = await this.getZipCodeData(this.serviceZipCode);
|
||||||
await this.dispatchStoreAction(
|
await this.dispatchStoreAction(
|
||||||
storeActions.SAVE_SERVICE_ZIP_CODE_INFO,
|
storeActions.SAVE_SERVICE_ZIP_CODE_INFO,
|
||||||
|
|
@ -518,6 +519,18 @@ export default {
|
||||||
},
|
},
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// check the location endpoint to verify this zip can service a heavy truck
|
||||||
|
var closestShops = await this.dispatchStoreActionWithLogging(
|
||||||
|
storeActions.GET_CLOSEST_APPLICABLE_SHOPS,
|
||||||
|
{ zip: this.serviceZipCode, carId: this.carId },
|
||||||
|
"vehicle"
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!closestShops || closestShops.data?.providers?.length === 0) {
|
||||||
|
this.displayNoServiceAlert = true;
|
||||||
|
return this.$refs.navbar.removeLoader();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$router.navigateWithSaving(this.navigationScenarios.CLICKED_FORWARD, this.$route);
|
this.$router.navigateWithSaving(this.navigationScenarios.CLICKED_FORWARD, this.$route);
|
||||||
|
|
@ -545,6 +558,9 @@ export default {
|
||||||
selectedStylefromStore() {
|
selectedStylefromStore() {
|
||||||
return store.getters.externalParameterVehicle.style ?? store.getters.vehicle.style;
|
return store.getters.externalParameterVehicle.style ?? store.getters.vehicle.style;
|
||||||
},
|
},
|
||||||
|
canSafeliteServiceFromStore() {
|
||||||
|
return store.getters.vehicle.canSafeliteService ?? false;
|
||||||
|
},
|
||||||
async getMakeOptions(year) {
|
async getMakeOptions(year) {
|
||||||
return await baseMixin.methods.dispatchStoreActionWithLogging(
|
return await baseMixin.methods.dispatchStoreActionWithLogging(
|
||||||
storeActions.GET_VEHICLE_MAKES,
|
storeActions.GET_VEHICLE_MAKES,
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,7 @@ const getDefaultState = () => {
|
||||||
carId: null,
|
carId: null,
|
||||||
category: null,
|
category: null,
|
||||||
vin: null,
|
vin: null,
|
||||||
|
canSafeliteService: null,
|
||||||
imageUrl: null,
|
imageUrl: null,
|
||||||
imageVifNumber: null,
|
imageVifNumber: null,
|
||||||
imageColor: null,
|
imageColor: null,
|
||||||
|
|
@ -221,6 +222,9 @@ export const mutations = {
|
||||||
updateVehicleCategory(state, category) {
|
updateVehicleCategory(state, category) {
|
||||||
state.order.vehicle.category = category;
|
state.order.vehicle.category = category;
|
||||||
},
|
},
|
||||||
|
updateVehicleCanSafeliteService(state, canSafeliteService) {
|
||||||
|
state.order.vehicle.canSafeliteService = canSafeliteService;
|
||||||
|
},
|
||||||
updateVehicleImageUrl(state, imageUrl) {
|
updateVehicleImageUrl(state, imageUrl) {
|
||||||
state.order.vehicle.imageUrl = imageUrl;
|
state.order.vehicle.imageUrl = imageUrl;
|
||||||
},
|
},
|
||||||
|
|
@ -1244,6 +1248,15 @@ export const actions = {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getClosestApplicableShops(context, { payload: { zip, carId }, pageNameToLog }) {
|
||||||
|
return globalMethods.callHttpClient({
|
||||||
|
methods: endpoints.ClosestApplicableShops.method,
|
||||||
|
endpoint: `${endpoints.ClosestApplicableShops.url}/${zip}/${carId}`,
|
||||||
|
logApiCall: true,
|
||||||
|
pageNameToLog: pageNameToLog,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
// Dependency Actions
|
// Dependency Actions
|
||||||
resetVehicleStateAndDependencies(context) {
|
resetVehicleStateAndDependencies(context) {
|
||||||
context.commit(storeMutations.RESET_VEHICLE_STATE);
|
context.commit(storeMutations.RESET_VEHICLE_STATE);
|
||||||
|
|
@ -2348,6 +2361,7 @@ export const actions = {
|
||||||
vehicleSubType,
|
vehicleSubType,
|
||||||
carId,
|
carId,
|
||||||
category,
|
category,
|
||||||
|
canSafeliteService,
|
||||||
imageUrl,
|
imageUrl,
|
||||||
imageVifNumber,
|
imageVifNumber,
|
||||||
imageVifColor,
|
imageVifColor,
|
||||||
|
|
@ -2370,6 +2384,7 @@ export const actions = {
|
||||||
context.commit(storeMutations.UPDATE_VEHICLE_SUBTYPE, vehicleSubType);
|
context.commit(storeMutations.UPDATE_VEHICLE_SUBTYPE, vehicleSubType);
|
||||||
context.commit(storeMutations.UPDATE_CAR_ID, carId);
|
context.commit(storeMutations.UPDATE_CAR_ID, carId);
|
||||||
context.commit(storeMutations.UPDATE_VEHICLE_CATEGORY, category);
|
context.commit(storeMutations.UPDATE_VEHICLE_CATEGORY, category);
|
||||||
|
context.commit(storeMutations.UPDATE_VEHICLE_CAN_SAFELITE_SERVICE, canSafeliteService);
|
||||||
context.commit(storeMutations.UPDATE_VEHICLE_IMAGE_URL, imageUrl);
|
context.commit(storeMutations.UPDATE_VEHICLE_IMAGE_URL, imageUrl);
|
||||||
context.commit(storeMutations.UPDATE_VEHICLE_IMAGE_VIF_NUMBER, imageVifNumber);
|
context.commit(storeMutations.UPDATE_VEHICLE_IMAGE_VIF_NUMBER, imageVifNumber);
|
||||||
context.commit(storeMutations.UPDATE_VEHICLE_IMAGE_COLOR, imageVifColor);
|
context.commit(storeMutations.UPDATE_VEHICLE_IMAGE_COLOR, imageVifColor);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue