fix: reload table when apply discount

This commit is contained in:
Javier Segarra 2025-02-18 00:40:13 +01:00
parent 75f6a31c8c
commit 6bb758b88c
1 changed files with 21 additions and 19 deletions

View File

@ -57,7 +57,7 @@ const canProceed = ref();
watch(
() => route.params.id,
() => tableRef.value.reload()
() => tableRef.value.reload(),
);
const columns = computed(() => [
@ -133,7 +133,7 @@ const columns = computed(() => [
align: 'left',
label: t('globals.amount'),
name: 'amount',
format: (row) => parseInt(row.amount * row.quantity),
format: (row) => toCurrency(getSaleTotal(row)),
},
{
align: 'left',
@ -200,7 +200,7 @@ const changeQuantity = async (sale) => {
await updateQuantity(sale);
} catch (e) {
const { quantity } = tableRef.value.CrudModelRef.originalData.find(
(s) => s.id === sale.id
(s) => s.id === sale.id,
);
sale.quantity = quantity;
throw e;
@ -331,8 +331,7 @@ const updateDiscount = async (sales, newDiscount = null) => {
};
await axios.post(`Tickets/${route.params.id}/updateDiscount`, params);
notify('globals.dataSaved', 'positive');
for (let sale of sales) sale.discount = _newDiscount;
edit.value = { ...DEFAULT_EDIT };
tableRef.value.reload();
};
const getNewPrice = computed(() => {
@ -505,7 +504,7 @@ async function isSalePrepared(item) {
componentProps: {
title: t('Item prepared'),
message: t(
'This item is already prepared. Do you want to continue?'
'This item is already prepared. Do you want to continue?',
),
data: item,
},
@ -527,7 +526,7 @@ watch(
if (newItemFk) {
updateItem(newRow.value);
}
}
},
);
</script>
@ -597,7 +596,7 @@ watch(
openConfirmationModal(
t('Continue anyway?'),
t('You are going to delete lines of the ticket'),
removeSales
removeSales,
)
"
>
@ -826,21 +825,24 @@ watch(
:mana-code="manaCode"
@save="changeDiscount(row)"
>
<VnInput
v-model.number="edit.discount"
:label="t('ticketSale.discount')"
type="number"
/>
<div v-if="usesMana" class="column q-gutter-y-sm q-mt-sm">
<VnUsesMana :mana-code="manaCode" />
</div>
<template #default="{ popup }">
<VnInput
autofocus
@keyup.enter="
() => {
changeDiscount(row);
popup.hide();
}
"
v-model.number="edit.discount"
:label="t('ticketSale.discount')"
type="number"
/>
</template>
</TicketEditManaProxy>
</template>
<span v-else>{{ toPercentage(row.discount / 100) }}</span>
</template>
<template #column-amount="{ row }">
{{ toCurrency(row.quantity * row.price) }}
</template>
</VnTable>
<QPageSticky :offset="[20, 20]" style="z-index: 2">