From 53086515baa2eb4217aed4cb512d66f9fd0e2038 Mon Sep 17 00:00:00 2001 From: Edwin Eames Date: Thu, 29 Jan 2026 15:33:13 -0500 Subject: [PATCH] fix: resolve TypeScript build errors for production builds - Add local AxiosResponse/AxiosError interfaces to models.ts as workaround for bundler moduleResolution issues with axios types - Update 7 payment Vue files to import axios types from local models - Convert axios.get() generic calls to typed .then() response callbacks - Fix type narrowing in getTypeColor(), getEmployeeTypeName() functions - Add Number() conversion for tank_size arithmetic in auto preauth - Use 'as unknown as' for Delivery to DeliveryFormData type assertions - Fix incorrect import paths for sidebar/footer in delivery/create.vue Production build (npm run build) now completes successfully. Co-Authored-By: Claude Opus 4.5 --- .../profile/profile/TransactionsTable.vue | 2 +- src/pages/delivery/create.vue | 4 +-- src/pages/employee/changepassword.vue | 3 ++- src/pages/employee/home.vue | 3 ++- .../pay/auto/authorize_precharge_autho.vue | 6 +++-- .../pay/auto/capture_authorize_autho.vue | 12 +++++---- src/pages/pay/oil/authorize_preauthcharge.vue | 6 +++-- src/pages/pay/oil/capture_authorize.vue | 26 ++++++++++--------- src/pages/pay/oil/pay_oil.vue | 5 ++-- .../pay/service/authorize_preauthcharge.vue | 4 ++- src/pages/pay/service/pay_service.vue | 8 +++--- src/types/models.ts | 18 +++++++++++++ 12 files changed, 65 insertions(+), 32 deletions(-) diff --git a/src/pages/customer/profile/profile/TransactionsTable.vue b/src/pages/customer/profile/profile/TransactionsTable.vue index db2dc71..a6d7825 100644 --- a/src/pages/customer/profile/profile/TransactionsTable.vue +++ b/src/pages/customer/profile/profile/TransactionsTable.vue @@ -125,7 +125,7 @@ const getSourceText = (transaction: AuthorizeTransaction) => { } } const formatDate = (dateStr: string) => dateStr.split('T')[0]; // YYYY-MM-DD -const getTypeColor = (transactionType: number) => { +const getTypeColor = (transactionType: number | undefined) => { switch (transactionType) { case 1: return 'text-blue-600'; // Auth case 0: return 'text-orange-600'; // Charge diff --git a/src/pages/delivery/create.vue b/src/pages/delivery/create.vue index 37867fc..99d6a58 100755 --- a/src/pages/delivery/create.vue +++ b/src/pages/delivery/create.vue @@ -312,8 +312,8 @@ import axios from 'axios' import authHeader from '../../services/auth.header' import { Customer, CreditCard, CreateCardRequest } from '../../types/models' import Header from '../../layouts/headers/headerauth.vue' -import SideBar from '../../../layouts/sidebar/sidebar.vue' -import Footer from '../../../layouts/footers/footer.vue' +import SideBar from '../../layouts/sidebar/sidebar.vue' +import Footer from '../../layouts/footers/footer.vue' import { useVuelidate } from "@vuelidate/core"; import { notify } from "@kyvg/vue3-notification" import { minLength, required, requiredIf } from "@vuelidate/validators"; diff --git a/src/pages/employee/changepassword.vue b/src/pages/employee/changepassword.vue index d70c1bb..d563ea6 100644 --- a/src/pages/employee/changepassword.vue +++ b/src/pages/employee/changepassword.vue @@ -130,7 +130,8 @@ export default defineComponent({ }); }); }, - getEmployeeTypeName(typeId: number | string): string { + getEmployeeTypeName(typeId: number | string | undefined): string { + if (typeId === undefined) return 'Unknown Role'; const typeMap: { [key: string]: string } = { '0': 'Owner', '1': 'Manager', '2': 'Secretary', '3': 'Office', '4': 'Driver', '5': 'Service Tech', '6': 'Contractor', '7': 'Cash Driver', '8': 'Driver/Tech' diff --git a/src/pages/employee/home.vue b/src/pages/employee/home.vue index 9e4863c..8c842a2 100755 --- a/src/pages/employee/home.vue +++ b/src/pages/employee/home.vue @@ -161,7 +161,8 @@ export default defineComponent({ console.error("Failed to fetch employees:", error); }); }, - getEmployeeTypeName(typeId: number | string): string { + getEmployeeTypeName(typeId: number | string | undefined): string { + if (typeId === undefined) return 'Unknown Role'; const typeMap: { [key: string]: string } = { '0': 'Owner', '1': 'Manager', '2': 'Secretary', '3': 'Office', '4': 'Driver', '5': 'Service Tech', '6': 'Contractor', '7': 'Cash Driver', '8': 'Driver/Tech' diff --git a/src/pages/pay/auto/authorize_precharge_autho.vue b/src/pages/pay/auto/authorize_precharge_autho.vue index 5796d6d..9ce4207 100644 --- a/src/pages/pay/auto/authorize_precharge_autho.vue +++ b/src/pages/pay/auto/authorize_precharge_autho.vue @@ -205,10 +205,12 @@