From b623332c3156cc895c8e4779db5d513e3c276b14 Mon Sep 17 00:00:00 2001 From: Jepp9350 <2jepp9350@gmail.com> Date: Mon, 19 May 2025 15:20:29 +0200 Subject: [PATCH] **Add ICS handling, mobile menu toggle, and vehicle management** Introduce ICS calendar support with parsing and fetching utilities. Improve mobile menu functionality with toggle expansion. Add vehicle management enhancements, including XLVask vehicle types and usage logs. Minor adjustments made to product and booking types, visual refinements, and new routes added. --- src/components/displays/boxes/ProductBox.vue | 2 +- .../pos/displays/PayWithStripeButton.vue | 16 ++ .../pos/steps/PosDepartmentStep3.vue | 1 + .../departmentTimeBookingsTypesTable.vue | 13 ++ .../department/pos/SelectProductsFormPOS.vue | 23 +- .../buttons/PrintInvoiceFromOrderItems.vue | 65 ++++++ src/components/menus/MenuDefault.vue | 2 +- src/components/session/token/SessionUser.vue | 4 +- .../Objects/DepartmentTimeBookingsTypes.vue | 43 +++- .../SessionUser/Objects/ObjectsGlobal.vue | 5 +- .../Objects/XLVaskVehicleTypes.vue | 165 +++++++++++++ src/components/shop/Products.vue | 2 +- .../timebookings/TimeBookingsCalendar.vue | 5 +- .../timebookings/displays/Calendar.vue | 11 +- .../displays/CalendarController.vue | 64 ++++- src/router.js | 7 + src/views/dashboards/DefaultPageWrapper.vue | 43 +++- .../modules/Pos/DepartmentPosOrder.vue | 2 + .../time-bookings/DepartmentTimeBookings.vue | 3 +- .../modules/DepartmentModulesSetup.vue | 16 ++ .../displays/xlvask/XLVaskVehiclesTable.vue | 35 +++ .../superUserDashboard/vehicle/Vehicle.vue | 19 ++ .../vehicle/displays/XLVaskUsageLog.vue | 221 ++++++++++++++++++ 23 files changed, 738 insertions(+), 29 deletions(-) create mode 100644 src/components/forms/department/pos/buttons/PrintInvoiceFromOrderItems.vue create mode 100644 src/components/session/token/SessionUser/Objects/XLVaskVehicleTypes.vue create mode 100644 src/views/dashboards/superUserDashboard/vehicle/Vehicle.vue create mode 100644 src/views/dashboards/superUserDashboard/vehicle/displays/XLVaskUsageLog.vue diff --git a/src/components/displays/boxes/ProductBox.vue b/src/components/displays/boxes/ProductBox.vue index cd1f2995..6cc34839 100644 --- a/src/components/displays/boxes/ProductBox.vue +++ b/src/components/displays/boxes/ProductBox.vue @@ -163,7 +163,7 @@ const isAddonRestricted = (addon) => {
-
+
Product image
diff --git a/src/components/displays/department/pos/displays/PayWithStripeButton.vue b/src/components/displays/department/pos/displays/PayWithStripeButton.vue index afb29a8b..4fcb6502 100644 --- a/src/components/displays/department/pos/displays/PayWithStripeButton.vue +++ b/src/components/displays/department/pos/displays/PayWithStripeButton.vue @@ -16,10 +16,15 @@ const props = defineProps({ type: Number, required: true, }, + order_items: { + type: Array, + required: true, + }, }); import { Colors } from "@/ThemeConfig.vue"; import NextStep from "@/components/forms/department/pos/buttons/NextStep.vue"; +import PrintInvoiceFromOrderItems from "@/components/forms/department/pos/buttons/PrintInvoiceFromOrderItems.vue"; // Readers variables const readers = ref([]); @@ -376,6 +381,17 @@ const showPaymentDetails = (paymentIntent) => {
+ + {{ error }}
diff --git a/src/components/displays/department/pos/steps/PosDepartmentStep3.vue b/src/components/displays/department/pos/steps/PosDepartmentStep3.vue index c6e491b6..095eb242 100644 --- a/src/components/displays/department/pos/steps/PosDepartmentStep3.vue +++ b/src/components/displays/department/pos/steps/PosDepartmentStep3.vue @@ -60,6 +60,7 @@ import PayWithStripeButton from "@/components/displays/department/pos/displays/P label="Betal med Stripe" :departmentId="department_id" :order_id="order_id" + v-bind:order_items="order_items" />
diff --git a/src/components/displays/department/timebookings/departmentTimeBookingsTypesTable.vue b/src/components/displays/department/timebookings/departmentTimeBookingsTypesTable.vue index b39bd007..f115d4c3 100644 --- a/src/components/displays/department/timebookings/departmentTimeBookingsTypesTable.vue +++ b/src/components/displays/department/timebookings/departmentTimeBookingsTypesTable.vue @@ -33,6 +33,7 @@ const hasUpdatePermission = () => { {{su_object.columns.id.label}} + {{su_object.columns.product.label}} {{su_object.columns.name.label}} {{su_object.columns.description.label}} {{su_object.columns.duration.label}} @@ -42,6 +43,18 @@ const hasUpdatePermission = () => { {{obj.id}} + + {
- - + + + + + +
diff --git a/src/components/forms/department/pos/buttons/PrintInvoiceFromOrderItems.vue b/src/components/forms/department/pos/buttons/PrintInvoiceFromOrderItems.vue new file mode 100644 index 00000000..b0dc733b --- /dev/null +++ b/src/components/forms/department/pos/buttons/PrintInvoiceFromOrderItems.vue @@ -0,0 +1,65 @@ + + + + + \ No newline at end of file diff --git a/src/components/menus/MenuDefault.vue b/src/components/menus/MenuDefault.vue index e9e39b79..0710e044 100644 --- a/src/components/menus/MenuDefault.vue +++ b/src/components/menus/MenuDefault.vue @@ -177,7 +177,7 @@ const isDemo = false; :style="{ 'background-color': Colors.menus.parentBackgroundColor, 'color': Colors.menus.parentTextColor }" > -