fix: handle multiple changes
gitea/salix-front/pipeline/pr-master This commit looks good Details

This commit is contained in:
Javier Segarra 2025-02-20 21:16:05 +01:00
parent 7563ce6472
commit a3828ab869
1 changed files with 11 additions and 8 deletions

View File

@ -174,11 +174,19 @@ const getSaleTotal = (sale) => {
return price - discount;
};
const getRowUpdateInputEvents = (sale) => ({
'keyup.enter': () => {
changeQuantity(sale);
},
blur: () => {
changeQuantity(sale);
},
});
const resetChanges = async () => {
arrayData.fetch({ append: false });
tableRef.value.reload();
};
const rowToUpdate = ref(null);
const changeQuantity = async (sale) => {
if (
!sale.itemFk ||
@ -196,11 +204,8 @@ const changeQuantity = async (sale) => {
const updateQuantity = async (sale) => {
try {
let { quantity, id } = sale;
if (!rowToUpdate.value) return;
rowToUpdate.value = null;
sale.isNew = false;
const params = { quantity: quantity };
await axios.post(`Sales/${id}/updateQuantity`, params);
await axios.post(`Sales/${id}/updateQuantity`, { quantity });
notify('globals.dataSaved', 'positive');
tableRef.value.reload();
} catch (e) {
@ -816,9 +821,7 @@ watch(
v-if="row.isNew || isTicketEditable"
type="number"
v-model.number="row.quantity"
@blur="changeQuantity(row)"
@keyup.enter.stop="changeQuantity(row)"
@update:model-value="() => (rowToUpdate = row)"
v-on="getRowUpdateInputEvents(row)"
@focus="edit.oldQuantity = row.quantity"
/>
<span v-else>{{ row.quantity }}</span>