From 9d86b4a60e5ce7103b08af2f227ca62949f7645d Mon Sep 17 00:00:00 2001 From: Edwin Eames Date: Sat, 6 Sep 2025 09:44:01 -0400 Subject: [PATCH] Fixed page layout and edit delivery --- src/App.vue | 37 +------------ src/layouts/BlankLayout.vue | 10 ++++ src/layouts/DefaultLayout.vue | 37 +++++++++++++ .../update_tickets/finalize_ticket.vue | 17 +++--- src/pages/pay/pay_oil.vue | 20 ++++--- src/pages/ticket/routes.ts | 10 ++-- src/pages/ticket/ticket.vue | 17 +++--- src/router/index.ts | 54 ++++++++++++------- 8 files changed, 120 insertions(+), 82 deletions(-) create mode 100644 src/layouts/BlankLayout.vue create mode 100644 src/layouts/DefaultLayout.vue diff --git a/src/App.vue b/src/App.vue index 601963e..98240ae 100755 --- a/src/App.vue +++ b/src/App.vue @@ -1,38 +1,3 @@ - - - \ No newline at end of file diff --git a/src/layouts/BlankLayout.vue b/src/layouts/BlankLayout.vue new file mode 100644 index 0000000..1b02525 --- /dev/null +++ b/src/layouts/BlankLayout.vue @@ -0,0 +1,10 @@ + + + diff --git a/src/layouts/DefaultLayout.vue b/src/layouts/DefaultLayout.vue new file mode 100644 index 0000000..45b0d27 --- /dev/null +++ b/src/layouts/DefaultLayout.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/pages/delivery/update_tickets/finalize_ticket.vue b/src/pages/delivery/update_tickets/finalize_ticket.vue index 92bb9f9..c716f7a 100755 --- a/src/pages/delivery/update_tickets/finalize_ticket.vue +++ b/src/pages/delivery/update_tickets/finalize_ticket.vue @@ -413,8 +413,8 @@ export default defineComponent({ headers: authHeader(), }) .then((response: any) => { - if (response.data) { - this.deliveryOrder = response.data + if (response.data && response.data.ok) { + this.deliveryOrder = response.data.delivery this.getCustomer(this.deliveryOrder.customer_id) if (this.deliveryOrder.payment_type === 1) { @@ -427,14 +427,15 @@ export default defineComponent({ this.getPaymentCard(this.deliveryOrder.payment_card_id); } - this.FinalizeOilOrderForm.cash_recieved = response.data.cash_recieved; - this.FinalizeOilOrderForm.check_number = response.data.check_number; - this.FinalizeOilOrderForm.credit_card_id = response.data.payment_card_id; + this.FinalizeOilOrderForm.cash_recieved = response.data.delivery.cash_recieved; + this.FinalizeOilOrderForm.check_number = response.data.delivery.check_number; + this.FinalizeOilOrderForm.credit_card_id = response.data.delivery.payment_card_id; - if (response.data.customer_filled == 1) { + if (response.data.delivery.customer_filled == 1) { this.FinalizeOilOrderForm.customer_filled = true } - + } else { + console.error("API Error:", response.data.error || "Failed to fetch delivery data."); } }) }, @@ -698,4 +699,4 @@ export default defineComponent({ }) - \ No newline at end of file + diff --git a/src/pages/pay/pay_oil.vue b/src/pages/pay/pay_oil.vue index c3aaf5f..3016452 100755 --- a/src/pages/pay/pay_oil.vue +++ b/src/pages/pay/pay_oil.vue @@ -397,13 +397,17 @@ export default defineComponent({ withCredentials: true, }) .then((response: any) => { - this.delivery = response.data; - this.getCustomer(this.delivery.customer_id) - this.getCreditCards(this.delivery.customer_id) - if (this.delivery.promo_id != null) { - this.getPromo(this.delivery.promo_id); - this.promo_active = true; - } + if (response.data && response.data.ok) { + this.delivery = response.data.delivery; + this.getCustomer(this.delivery.customer_id) + this.getCreditCards(this.delivery.customer_id) + if (this.delivery.promo_id != null) { + this.getPromo(this.delivery.promo_id); + this.promo_active = true; + } + } else { + console.error("API Error:", response.data.error || "Failed to fetch delivery data."); + } }) .catch(() => { notify({ @@ -489,4 +493,4 @@ export default defineComponent({ }) - \ No newline at end of file + diff --git a/src/pages/ticket/routes.ts b/src/pages/ticket/routes.ts index 652cc35..4cb1fb7 100755 --- a/src/pages/ticket/routes.ts +++ b/src/pages/ticket/routes.ts @@ -5,19 +5,19 @@ import Ticket from "../ticket/ticket.vue"; import TicketAuto from "../ticket/ticketauto.vue"; -const payRoutes = [ +const ticketRoutes = [ { - path: '/ticket/:id', + path: ':id', name: 'Ticket', component: Ticket, }, { - path: '/ticket/auto/:id', + path: 'auto/:id', name: 'TicketAuto', component: TicketAuto, }, - + ] -export default payRoutes +export default ticketRoutes //sourceMappingURL=index.ts.map diff --git a/src/pages/ticket/ticket.vue b/src/pages/ticket/ticket.vue index 7c9c26f..8acfc55 100644 --- a/src/pages/ticket/ticket.vue +++ b/src/pages/ticket/ticket.vue @@ -285,14 +285,17 @@ export default defineComponent({ withCredentials: true, }) .then((response: any) => { - this.delivery = response.data; - this.getCustomer(this.delivery.customer_id) - if (this.delivery.promo_id != null) { - this.getPromo(this.delivery.promo_id); - this.promo_active = true; - this.getPrice(delivery_id) + if (response.data && response.data.ok) { + this.delivery = response.data.delivery; + this.getCustomer(this.delivery.customer_id) + if (this.delivery.promo_id != null) { + this.getPromo(this.delivery.promo_id); + this.promo_active = true; + this.getPrice(delivery_id) + } + } else { + console.error("API Error:", response.data.error || "Failed to fetch delivery data."); } - }) .catch(() => { notify({ diff --git a/src/router/index.ts b/src/router/index.ts index 24bd889..2bdecef 100755 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -17,6 +17,10 @@ import serviceRoutes from "../pages/service/routes.ts"; import Home from '../pages/Index.vue'; import Error404 from '../pages/error/Error404.vue'; +// Import layouts +import DefaultLayout from '../layouts/DefaultLayout.vue'; +import BlankLayout from '../layouts/BlankLayout.vue'; + // Import the Pinia Stores import { useAuthStore } from '../stores/auth.ts'; import { useCountsStore } from '../stores/counts.ts'; @@ -33,30 +37,44 @@ const protectRoutes = (routes: any[]) => { }; const routes = [ - // ... routes are unchanged + // Auth routes (no layout needed, they handle their own) ...authRoutes, - ...protectRoutes(moneyRoutes), - ...protectRoutes(cardRoutes), - ...protectRoutes(payRoutes), - ...protectRoutes(employeeRoutes), - ...protectRoutes(customerRoutes), - ...protectRoutes(oilRoutes), - ...protectRoutes(autoRoutes), - ...protectRoutes(adminRoutes), - ...protectRoutes(tickerRoutes), - ...protectRoutes(serviceRoutes), + // Default layout routes { path: '/', - name: 'home', - component: Home, - meta: { requiresAuth: true } + component: DefaultLayout, + children: [ + ...protectRoutes(moneyRoutes), + ...protectRoutes(cardRoutes), + ...protectRoutes(payRoutes), + ...protectRoutes(employeeRoutes), + ...protectRoutes(customerRoutes), + ...protectRoutes(oilRoutes), + ...protectRoutes(autoRoutes), + ...protectRoutes(adminRoutes), + ...protectRoutes(serviceRoutes), + + { + path: '', + name: 'home', + component: Home, + meta: { requiresAuth: true } + }, + { + path: '/error404', + name: 'Error404', + component: Error404, + meta: { requiresAuth: false } + }, + ] }, + + // Blank layout for ticket pages { - path: '/:catchAll(.*)*', - name: 'Error404', - component: Error404, - meta: { requiresAuth: false } + path: '/ticket', + component: BlankLayout, + children: protectRoutes(tickerRoutes) }, ];