diff --git a/models/baseModels/Invoice/Invoice.ts b/models/baseModels/Invoice/Invoice.ts index 24fb654c..2acebd1b 100644 --- a/models/baseModels/Invoice/Invoice.ts +++ b/models/baseModels/Invoice/Invoice.ts @@ -711,6 +711,8 @@ export abstract class Invoice extends Transactional { } let quantity = returnedItem.quantity; + const transferQuantity = quantity / (item.unitConversionFactor as number); + let serialNumber: string | undefined = returnedItem.serialNumbers?.join('\n'); @@ -734,7 +736,7 @@ export abstract class Invoice extends Transactional { serialNumber, name: undefined, quantity: quantity, - transferQuantity: quantity, + transferQuantity, }); } diff --git a/src/components/POS/Classic/SelectedItemRow.vue b/src/components/POS/Classic/SelectedItemRow.vue index d92fecd7..cc579f49 100644 --- a/src/components/POS/Classic/SelectedItemRow.vue +++ b/src/components/POS/Classic/SelectedItemRow.vue @@ -97,7 +97,7 @@ size="medium" :border="true" :show-label="true" - :value="row.transferQuantity" + :value="getDisplayTransferQuantity()" @change="(value:string) => row.set('transferQuantity', value)" :read-only="isReadOnly" /> @@ -305,9 +305,9 @@ export default defineComponent({ }, async mounted() { - this.$watch('row.quantity', (newVal: number) => { - this.setQuantity(newVal); - }); + // this.$watch('row.quantity', (newVal: number) => { + // this.setQuantity(newVal); + // }); const posProfileName = this.fyo.singles.POSSettings?.posProfile; if (posProfileName) { @@ -348,6 +348,21 @@ export default defineComponent({ ); }, + getDisplayTransferQuantity() { + const transferQty = this.row.transferQuantity; + + if (!this.isUOMConversionEnabled) { + return transferQty; + } + + const hasValidQuantity = transferQty && transferQty; + + if (this.row.isReturn && hasValidQuantity) { + return -Math.abs(transferQty); + } + + return transferQty; + }, showAvlQuantityInBatch() { const itemVisibility = this.fyo.singles.POSSettings?.itemVisibility;