diff --git a/src/components/POS/Classic/ItemsGrid.vue b/src/components/POS/Classic/ItemsGrid.vue index 0081f134..8847e941 100644 --- a/src/components/POS/Classic/ItemsGrid.vue +++ b/src/components/POS/Classic/ItemsGrid.vue @@ -63,7 +63,7 @@

@@ -81,14 +81,14 @@ export default defineComponent({ props: { items: Array, itemQtyMap: Object, - isErpSync: { - type: Boolean, - default: false, + itemVisibility: { + type: String, + default: 'Inventory Items', }, }, computed: { ratio() { - if (this.isErpSync) { + if (this.itemVisibility === 'ERP Sync Items') { return [1, 1.5, 0.8]; } return [1, 1, 1, 0.7]; @@ -119,7 +119,7 @@ export default defineComponent({ }, ] as Field[]; - if (!this.isErpSync) { + if (this.itemVisibility !== 'ERP Sync Items') { fields.splice(2, 0, { fieldname: 'availableQty', label: 'Qty', diff --git a/src/components/POS/Modern/ModernPOSItemsGrid.vue b/src/components/POS/Modern/ModernPOSItemsGrid.vue index cf30ee13..9df82aad 100644 --- a/src/components/POS/Modern/ModernPOSItemsGrid.vue +++ b/src/components/POS/Modern/ModernPOSItemsGrid.vue @@ -66,7 +66,7 @@

@@ -113,7 +113,7 @@ :key="df.fieldname" size="large" :df="df" - :value="row[df.fieldname]" + :value="(row as POSItem)[df.fieldname as keyof POSItem]" :readOnly="true" /> @@ -137,14 +137,14 @@ export default defineComponent({ props: { items: Array, itemQtyMap: Object, - isErpSync: { - type: Boolean, - default: false, + itemVisibility: { + type: String, + default: 'Inventory Items', }, }, computed: { ratio() { - if (this.isErpSync) { + if (this.itemVisibility === 'ERP Sync Items') { return [1, 1.5, 0.8]; } return [1, 1, 1, 0.7]; @@ -175,7 +175,7 @@ export default defineComponent({ }, ] as Field[]; - if (!this.isErpSync) { + if (this.itemVisibility !== 'ERP Sync Items') { fields.splice(2, 0, { fieldname: 'availableQty', label: t`Qty`, diff --git a/src/pages/POS/ClassicPOS.vue b/src/pages/POS/ClassicPOS.vue index 335f5cd2..23832681 100644 --- a/src/pages/POS/ClassicPOS.vue +++ b/src/pages/POS/ClassicPOS.vue @@ -134,7 +134,7 @@ v-if="tableView" :items="items" :item-qty-map="itemQuantityMap as ItemQtyMap" - :is-erp-sync="isErpSync" + :item-visibility="itemVisibility" @add-item="(item) => emitEvent('addItem', item)" /> @@ -142,7 +142,7 @@ v-else :items="items" :item-qty-map="itemQuantityMap as ItemQtyMap" - :is-erp-sync="isErpSync" + :item-visibility="itemVisibility" @add-item="(item) => emitEvent('addItem', item)" /> @@ -485,9 +485,9 @@ export default defineComponent({ type: Array as PropType, default: () => [], }, - isErpSync: { - type: Boolean, - default: false, + itemVisibility: { + type: String, + default: 'Inventory Items', }, profile: { type: Object as PropType, diff --git a/src/pages/POS/ModernPOS.vue b/src/pages/POS/ModernPOS.vue index df46a2fe..71723617 100644 --- a/src/pages/POS/ModernPOS.vue +++ b/src/pages/POS/ModernPOS.vue @@ -345,7 +345,7 @@ v-if="tableView" :items="items" :item-qty-map="itemQuantityMap as ItemQtyMap" - :is-erp-sync="isErpSync" + :item-visibility="itemVisibility" @add-item="(item:string) => emitEvent('addItem', item)" /> @@ -353,7 +353,7 @@ v-else :items="items" :item-qty-map="itemQuantityMap as ItemQtyMap" - :is-erp-sync="isErpSync" + :item-visibility="itemVisibility" @add-item="(item:string) => emitEvent('addItem', item)" /> @@ -491,9 +491,9 @@ export default defineComponent({ type: Array as PropType, default: () => [], }, - isErpSync: { - type: Boolean, - default: false, + itemVisibility: { + type: String, + default: 'Inventory Items', }, profile: { type: Object as PropType, diff --git a/src/pages/POS/POS.vue b/src/pages/POS/POS.vue index 038d190e..154a85dd 100644 --- a/src/pages/POS/POS.vue +++ b/src/pages/POS/POS.vue @@ -27,7 +27,7 @@ :selected-item-group="selectedItemGroup" :is-pos-shift-open="isPosShiftOpen" :items="(items as [] as POSItem[])" - :is-erp-sync="isErpSync" + :item-visibility="itemVisibility" :sinv-doc="(sinvDoc as SalesInvoice)" :disable-pay-button="disablePayButton" :open-payment-modal="openPaymentModal" @@ -84,7 +84,7 @@ :selected-item-group="selectedItemGroup" :is-pos-shift-open="isPosShiftOpen" :items="(items as [] as POSItem[])" - :is-erp-sync="isErpSync" + :item-visibility="itemVisibility" :sinv-doc="(sinvDoc as SalesInvoice)" :disable-pay-button="disablePayButton" :open-payment-modal="openPaymentModal" @@ -169,6 +169,7 @@ import { getItemRateFromPriceList, getItemVisibility, } from 'models/helpers'; +import { ItemVisibility } from 'src/components/POS/types'; import { POSItem, ItemQtyMap, @@ -264,7 +265,7 @@ export default defineComponent({ quickQtyKeyUpHandler: null as ((e: KeyboardEvent) => void) | null, selectedItemForBatch: '' as string, pendingBatchItem: null as { item: POSItem; quantity: number } | null, - isErpSyncValue: false, + itemVisibilityValue: 'Inventory Items' as ItemVisibility, }; }, computed: { @@ -274,8 +275,8 @@ export default defineComponent({ return !!fyo.singles.AccountingSettings?.enableDiscounting; }, isPosShiftOpen: () => !!fyo.singles.POSSettings?.isShiftOpen, - isErpSync() { - return this.isErpSyncValue; + itemVisibility() { + return this.itemVisibilityValue; }, disablePayButton(): boolean { if (!this.sinvDoc.items?.length || !this.sinvDoc.party) { @@ -301,7 +302,7 @@ export default defineComponent({ async mounted() { await this.setItems(); await this.loadPOSProfile(); - this.isErpSyncValue = !!fyo.singles.AccountingSettings?.enableERPNextSync; + this.itemVisibilityValue = await getItemVisibility(this.fyo); }, async activated() { toggleSidebar(false);