Transaktion #{{ orderId }}
From 800253699cb7fad85ce12a7594d98edcad76398b Mon Sep 17 00:00:00 2001 From: Jepp9350 <2jepp9350@gmail.com> Date: Tue, 25 Feb 2025 17:57:08 +0100 Subject: [PATCH] Add related items support and improve POS UI/UX Introduced support for related items in orders by enabling nested relationships through the `related_item_id` parameter. Enhanced the POS interface with better UI elements, such as reusable components (`ProductBox`, `WhiteBox`) and dynamic labels for buttons. Debugging tools and query parameter support for `order_id`, `step`, and `customer_id` were also added to streamline the process flow. --- src/assets/main.css | 10 ++ src/components/displays/PopperDefault.vue | 17 ++ src/components/displays/boxes/ProductBox.vue | 136 ++++++++++++++ .../department/pos/PosDepartmentMVP.vue | 31 +++- .../department/pos/PosOrderItemsCurrent.vue | 167 ++++++++++++++++-- .../department/pos/PosSelectedCustomer.vue | 9 +- .../pos/steps/PosDepartmentStep2.vue | 21 ++- .../pos/steps/PosDepartmentStep3.vue | 43 +++-- .../department/pos/SelectProductsFormPOS.vue | 128 +++++++++++--- .../forms/department/pos/buttons/NextStep.vue | 6 +- src/components/menus/MenuDefault.vue | 2 +- src/components/shop/OrdersItems.vue | 5 +- src/components/shop/POSDepartmentProcess.vue | 13 ++ 13 files changed, 529 insertions(+), 59 deletions(-) create mode 100644 src/components/displays/boxes/ProductBox.vue diff --git a/src/assets/main.css b/src/assets/main.css index f835f25b..e37b8572 100644 --- a/src/assets/main.css +++ b/src/assets/main.css @@ -3,4 +3,14 @@ } textarea.has-sharp-edges { border-radius: 0; +} + +.pos-addon-popper { + padding: 0.5rem; + background-color: #fbfcfe; + opacity: 0.9; + border: 3px solid #68696b; + min-width: 250px; + min-height: 100px; + text-align: center; } \ No newline at end of file diff --git a/src/components/displays/PopperDefault.vue b/src/components/displays/PopperDefault.vue index 8885b686..3209b097 100644 --- a/src/components/displays/PopperDefault.vue +++ b/src/components/displays/PopperDefault.vue @@ -66,6 +66,23 @@ export const popperBox = (title, content, data_key = null) => { `; }; +export const popperBoxProductAddonHtml = (id, name, price, description, classes = '') => { + + let html = `
${name} / ${price} Kr.
`; + html += `No. ${id}
`; + // If the description is set (and isn't empty), show it + if (description && description !== '' && description !== ' ') { + html += `${description}
`; + } + // Otherwise, show a placeholder + else { + html += `No description available
`; + } + html += `{{ name }}
++ No. {{ id }}
+{{ description }}
+ ++
{{ price }} Kr.
++ + +
+ + + +
+