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);