From ea55b422716c37c853a72ed2a2313bccc276c858 Mon Sep 17 00:00:00 2001 From: Gadha2311 Date: Mon, 7 Jul 2025 15:24:31 +0530 Subject: [PATCH] fix: add item group functionality to modern POS --- src/pages/POS/ModernPOS.vue | 95 ++++++++++++++++++------------------- src/pages/POS/POS.vue | 4 ++ 2 files changed, 49 insertions(+), 50 deletions(-) diff --git a/src/pages/POS/ModernPOS.vue b/src/pages/POS/ModernPOS.vue index 0da0306a..1d402d08 100644 --- a/src/pages/POS/ModernPOS.vue +++ b/src/pages/POS/ModernPOS.vue @@ -293,50 +293,39 @@ " style="height: calc(100vh - 6rem)" > -
+
- + emitEvent('handleItemSearch', item.target.value as string, true) " - @change="(item: string) =>itemSearchTerm= item" + @change="(item: string) => emitEvent('handleItemSearch', item)" /> - - -
@@ -344,27 +333,27 @@ v-if="tableView" :items="items" :item-qty-map="itemQuantityMap as ItemQtyMap" - @add-item="(item) => emitEvent('addItem', item)" + @add-item="(item:string) => emitEvent('addItem', item)" /> -
-
- +
+ +
@@ -388,7 +377,6 @@ import CouponCodeModal from './CouponCodeModal.vue'; import POSQuickActions from './POSQuickActions.vue'; import OpenPOSShiftModal from './OpenPOSShiftModal.vue'; import SavedInvoiceModal from './SavedInvoiceModal.vue'; -import Barcode from 'src/components/Controls/Barcode.vue'; import ClosePOSShiftModal from './ClosePOSShiftModal.vue'; import LoyaltyProgramModal from './LoyaltyProgramModal.vue'; import ReturnSalesInvoiceModal from './ReturnSalesInvoiceModal.vue'; @@ -398,7 +386,6 @@ import { POSItem, PosEmits, ItemQtyMap } from 'src/components/POS/types'; import { SalesInvoice } from 'models/baseModels/SalesInvoice/SalesInvoice'; import ModernPOSItemsGrid from 'src/components/POS/Modern/ModernPOSItemsGrid.vue'; import ModernPOSItemsTable from 'src/components/POS/Modern/ModernPOSItemsTable.vue'; -import WeightEnabledBarcode from 'src/components/Controls/WeightEnabledBarcode.vue'; import FloatingLabelFloatInput from 'src/components/POS/FloatingLabelFloatInput.vue'; import { SalesInvoiceItem } from 'models/baseModels/SalesInvoiceItem/SalesInvoiceItem'; import FloatingLabelCurrencyInput from 'src/components/POS/FloatingLabelCurrencyInput.vue'; @@ -410,7 +397,6 @@ export default defineComponent({ components: { Link, Button, - Barcode, AlertModal, PaymentModal, KeyboardModal, @@ -424,7 +410,6 @@ export default defineComponent({ ClosePOSShiftModal, LoyaltyProgramModal, ModernPOSItemsTable, - WeightEnabledBarcode, FloatingLabelFloatInput, ReturnSalesInvoiceModal, FloatingLabelCurrencyInput, @@ -454,6 +439,14 @@ export default defineComponent({ type: Number, default: 0, }, + itemSearchTerm: { + type: String, + default: '', + }, + selectedItemGroup: { + type: String, + default: '', + }, loyaltyProgram: { type: String, default: '', @@ -490,9 +483,11 @@ export default defineComponent({ 'toggleModal', 'setCustomer', 'clearValues', + 'setItemGroup', 'setPaidAmount', 'setCouponsCount', 'routeToSinvList', + 'handleItemSearch', 'setLoyaltyPoints', 'setPaymentMethod', 'setTransferRefNo', @@ -512,7 +507,7 @@ export default defineComponent({ selectedItemField: '', selectedItemRow: {} as SalesInvoiceItem, - itemSearchTerm: '', + itemGroupFilter: '', }; }, computed: { diff --git a/src/pages/POS/POS.vue b/src/pages/POS/POS.vue index 472eecfd..e842c8dc 100644 --- a/src/pages/POS/POS.vue +++ b/src/pages/POS/POS.vue @@ -71,6 +71,8 @@ :loyalty-points="loyaltyPoints" :open-alert-modal="openAlertModal" :default-customer="defaultCustomer" + :item-search-term="itemSearchTerm" + :selected-item-group="selectedItemGroup" :is-pos-shift-open="isPosShiftOpen" :items="(items as [] as POSItem[])" :sinv-doc="(sinvDoc as SalesInvoice)" @@ -93,6 +95,8 @@ @clear-values="clearValues" @set-customer="setCustomer" @toggle-modal="toggleModal" + @set-item-group="setItemGroup" + @handle-item-search="handleItemSearch" @set-paid-amount="setPaidAmount" @set-payment-method="setPaymentMethod" @set-coupons-count="setCouponsCount"