Merge pull request 'HOTFIX: ticketSale keyup.enter' (!1009) from hotfix_ticketSale_enter into master
gitea/salix-front/pipeline/head This commit looks good Details

Reviewed-on: #1009
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
This commit is contained in:
Javier Segarra 2024-11-28 10:03:40 +00:00
commit 1bbce5f828
1 changed files with 25 additions and 25 deletions

View File

@ -181,17 +181,34 @@ const resetChanges = async () => {
arrayData.fetch({ append: false }); arrayData.fetch({ append: false });
tableRef.value.reload(); tableRef.value.reload();
}; };
const rowToUpdate = ref(null);
const changeQuantity = async (sale) => {
canProceed.value = await isSalePrepared(sale);
if (!canProceed.value) return;
if (
!sale.itemFk ||
sale.quantity == null ||
edit.value?.oldQuantity === sale.quantity
)
return;
if (!sale.id) return addSale(sale);
const updateQuantity = async (sale) => {
const params = { quantity: sale.quantity };
try { try {
await axios.post(`Sales/${sale.id}/updateQuantity`, params); if (!rowToUpdate.value) return;
rowToUpdate.value = null;
await updateQuantity(sale);
} catch (e) { } catch (e) {
sale.quantity = tableRef.value.CrudModelRef.originalData.find( const { quantity } = tableRef.value.CrudModelRef.originalData.find(
(s) => s.id === sale.id (s) => s.id === sale.id
).quantity; );
sale.quantity = quantity;
throw e; throw e;
} }
};
const updateQuantity = async ({ quantity, id }) => {
const params = { quantity: quantity };
await axios.post(`Sales/${id}/updateQuantity`, params);
notify('globals.dataSaved', 'positive'); notify('globals.dataSaved', 'positive');
}; };
@ -219,19 +236,6 @@ const addSale = async (sale) => {
window.location.reload(); window.location.reload();
}; };
const changeQuantity = async (sale) => {
canProceed.value = await isSalePrepared(sale);
if (!canProceed.value) return;
if (
!sale.itemFk ||
sale.quantity == null ||
edit.value?.oldQuantity === sale.quantity
)
return;
if (!sale.id) return addSale(sale);
await updateQuantity(sale);
};
const updateConcept = async (sale) => { const updateConcept = async (sale) => {
canProceed.value = await isSalePrepared(sale); canProceed.value = await isSalePrepared(sale);
if (!canProceed.value) return; if (!canProceed.value) return;
@ -768,16 +772,12 @@ watch(
</template> </template>
<template #column-quantity="{ row }"> <template #column-quantity="{ row }">
<VnInput <VnInput
v-if="row.isNew" v-if="row.isNew || isTicketEditable"
v-model.number="row.quantity"
type="number" type="number"
@blur="changeQuantity(row)"
@focus="edit.oldQuantity = row.quantity"
/>
<VnInput
v-else-if="isTicketEditable"
v-model.number="row.quantity" v-model.number="row.quantity"
@blur="changeQuantity(row)" @blur="changeQuantity(row)"
@keyup.enter="changeQuantity(row)"
@update:model-value="() => (rowToUpdate = row)"
@focus="edit.oldQuantity = row.quantity" @focus="edit.oldQuantity = row.quantity"
/> />
<span v-else>{{ row.quantity }}</span> <span v-else>{{ row.quantity }}</span>