Merge pull request 'HOTFIX: ticketSale keyup.enter' (!1009) from hotfix_ticketSale_enter into master
gitea/salix-front/pipeline/head This commit looks good
Details
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:
commit
1bbce5f828
|
@ -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>
|
||||||
|
|
Loading…
Reference in New Issue