From f3f0c0e88c3cdfc5ca187e8e23fcf63290e459b9 Mon Sep 17 00:00:00 2001 From: alexm Date: Wed, 15 Jan 2025 14:59:44 +0100 Subject: [PATCH 01/10] feat(Order): refs #7984 add currency in sections --- src/components/VnTable/VnColumn.vue | 4 ++ src/components/common/VnCardBeta.vue | 2 + src/components/common/VnSelectCompany.vue | 43 ++++++++++++ src/components/common/VnSelectCurrency.vue | 44 +++++++++++++ src/components/ui/CatalogItem.vue | 12 ++-- src/components/ui/VnCurrency.vue | 52 +++++++++++++++ src/i18n/locale/en.yml | 1 + src/i18n/locale/es.yml | 1 + src/pages/Order/Card/OrderBasicData.vue | 6 ++ src/pages/Order/Card/OrderCard.vue | 5 ++ .../Order/Card/OrderCatalogItemDialog.vue | 21 +++--- src/pages/Order/Card/OrderDescriptor.vue | 26 +++++--- src/pages/Order/Card/OrderLines.vue | 65 +++++++++++++++---- src/pages/Order/OrderList.vue | 10 +++ 14 files changed, 257 insertions(+), 35 deletions(-) create mode 100644 src/components/common/VnSelectCompany.vue create mode 100644 src/components/common/VnSelectCurrency.vue create mode 100644 src/components/ui/VnCurrency.vue diff --git a/src/components/VnTable/VnColumn.vue b/src/components/VnTable/VnColumn.vue index 9e9bfad69..fa686bc55 100644 --- a/src/components/VnTable/VnColumn.vue +++ b/src/components/VnTable/VnColumn.vue @@ -12,6 +12,7 @@ import VnInputDate from 'components/common/VnInputDate.vue'; import VnInputTime from 'components/common/VnInputTime.vue'; import VnComponent from 'components/common/VnComponent.vue'; import VnUserLink from 'components/ui/VnUserLink.vue'; +import VnCurrency from '../ui/VnCurrency.vue'; const model = defineModel(undefined, { required: true }); const $props = defineProps({ @@ -131,6 +132,9 @@ const defaultComponents = { userLink: { component: markRaw(VnUserLink), }, + currency: { + component: markRaw(VnCurrency), + }, }; const value = computed(() => { diff --git a/src/components/common/VnCardBeta.vue b/src/components/common/VnCardBeta.vue index 349956be9..a1f07ff17 100644 --- a/src/components/common/VnCardBeta.vue +++ b/src/components/common/VnCardBeta.vue @@ -12,6 +12,7 @@ const props = defineProps({ baseUrl: { type: String, default: undefined }, customUrl: { type: String, default: undefined }, filter: { type: Object, default: () => {} }, + userFilter: { type: Object, default: () => {} }, descriptor: { type: Object, required: true }, filterPanel: { type: Object, default: undefined }, searchDataKey: { type: String, default: undefined }, @@ -32,6 +33,7 @@ const url = computed(() => { const arrayData = useArrayData(props.dataKey, { url: url.value, filter: props.filter, + userFilter: props.userFilter, }); onBeforeMount(async () => { diff --git a/src/components/common/VnSelectCompany.vue b/src/components/common/VnSelectCompany.vue new file mode 100644 index 000000000..15dea27cf --- /dev/null +++ b/src/components/common/VnSelectCompany.vue @@ -0,0 +1,43 @@ + + + diff --git a/src/components/common/VnSelectCurrency.vue b/src/components/common/VnSelectCurrency.vue new file mode 100644 index 000000000..ae3066bcb --- /dev/null +++ b/src/components/common/VnSelectCurrency.vue @@ -0,0 +1,44 @@ + + + diff --git a/src/components/ui/CatalogItem.vue b/src/components/ui/CatalogItem.vue index 9670d9b68..9f37b4755 100644 --- a/src/components/ui/CatalogItem.vue +++ b/src/components/ui/CatalogItem.vue @@ -6,8 +6,7 @@ import VnLv from 'components/ui/VnLv.vue'; import VnImg from 'src/components/ui/VnImg.vue'; import OrderCatalogItemDialog from 'pages/Order/Card/OrderCatalogItemDialog.vue'; import ItemDescriptorProxy from 'src/pages/Item/Card/ItemDescriptorProxy.vue'; - -import { toCurrency } from 'filters/index'; +import VnCurrency from './VnCurrency.vue'; const DEFAULT_PRICE_KG = 0; @@ -61,7 +60,7 @@ const card = toRef(props, 'item');

{{ card.available }} {{ t('to') }} - {{ toCurrency(card.price) }} +

@@ -81,7 +80,12 @@ const card = toRef(props, 'item');

{{ t('price-kg') }} - {{ toCurrency(card.priceKg) || DEFAULT_PRICE_KG }} +

diff --git a/src/components/ui/VnCurrency.vue b/src/components/ui/VnCurrency.vue new file mode 100644 index 000000000..b2ad67736 --- /dev/null +++ b/src/components/ui/VnCurrency.vue @@ -0,0 +1,52 @@ + + + diff --git a/src/i18n/locale/en.yml b/src/i18n/locale/en.yml index e1ec62175..bd7039a65 100644 --- a/src/i18n/locale/en.yml +++ b/src/i18n/locale/en.yml @@ -130,6 +130,7 @@ globals: medium: Medium big: Big email: Email + currency: Currency pageTitles: logIn: Login addressEdit: Update address diff --git a/src/i18n/locale/es.yml b/src/i18n/locale/es.yml index 4b4f6f552..4db785a43 100644 --- a/src/i18n/locale/es.yml +++ b/src/i18n/locale/es.yml @@ -132,6 +132,7 @@ globals: medium: Mediano/a big: Grande email: Correo + currency: Moneda pageTitles: logIn: Inicio de sesión addressEdit: Modificar consignatario diff --git a/src/pages/Order/Card/OrderBasicData.vue b/src/pages/Order/Card/OrderBasicData.vue index 8594a05f4..5fb5a4e15 100644 --- a/src/pages/Order/Card/OrderBasicData.vue +++ b/src/pages/Order/Card/OrderBasicData.vue @@ -10,6 +10,8 @@ import VnSelect from 'components/common/VnSelect.vue'; import VnInput from 'components/common/VnInput.vue'; import VnInputDate from 'components/common/VnInputDate.vue'; import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue'; +import VnSelectCompany from 'src/components/common/VnSelectCompany.vue'; +import VnSelectCurrency from 'src/components/common/VnSelectCurrency.vue'; const { t } = useI18n(); const route = useRoute(); @@ -176,6 +178,10 @@ const onClientChange = async (clientId) => { " /> + + + + diff --git a/src/pages/Order/Card/OrderCatalogItemDialog.vue b/src/pages/Order/Card/OrderCatalogItemDialog.vue index 163b036eb..b9741161f 100644 --- a/src/pages/Order/Card/OrderCatalogItemDialog.vue +++ b/src/pages/Order/Card/OrderCatalogItemDialog.vue @@ -7,6 +7,7 @@ import { useRoute } from 'vue-router'; import useNotify from 'composables/useNotify'; import VnInputNumber from 'src/components/common/VnInputNumber.vue'; import { useState } from 'src/composables/useState'; +import VnCurrency from 'src/components/ui/VnCurrency.vue'; const { t } = useI18n(); const { notify } = useNotify(); @@ -73,10 +74,10 @@ const canAddToOrder = () => { - + {{ price.warehouse }} - + - + @@ -117,12 +124,6 @@ const canAddToOrder = () => { - - es: noAmount: La cantidad no puede ser 0 diff --git a/src/pages/Order/Card/OrderDescriptor.vue b/src/pages/Order/Card/OrderDescriptor.vue index 0d5f0146f..212b5ae55 100644 --- a/src/pages/Order/Card/OrderDescriptor.vue +++ b/src/pages/Order/Card/OrderDescriptor.vue @@ -10,6 +10,7 @@ import CardDescriptor from 'components/ui/CardDescriptor.vue'; import VnLv from 'src/components/ui/VnLv.vue'; import FetchData from 'components/FetchData.vue'; import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue'; +import VnCurrency from 'src/components/ui/VnCurrency.vue'; const DEFAULT_ITEMS = 0; @@ -69,19 +70,19 @@ const getConfirmationValue = (isConfirmed) => { return t(isConfirmed ? 'globals.confirmed' : 'order.summary.notConfirmed'); }; -const orderTotal = computed(() => state.get('orderTotal') ?? 0); -const total = ref(0); +function setTotal(response) { + total.value = response; + state.set('orderTotal', response); +} +const orderTotal = computed(() => state.get('orderTotal')); +const total = ref(); - -- 2.40.1 From 3c6a4c1e168d4a0535faba6a54eea65d3aea21f0 Mon Sep 17 00:00:00 2001 From: alexm Date: Mon, 20 Jan 2025 14:07:05 +0100 Subject: [PATCH 02/10] feat: refs #7984 add currency in ticket basic-data --- src/components/common/VnSelectCurrency.vue | 15 +++- src/components/ui/VnCurrency.vue | 24 ++++--- src/composables/useVnConfirm.js | 2 +- src/pages/Order/Card/OrderBasicData.vue | 32 +-------- src/pages/Order/Card/OrderCard.vue | 30 +++++++- .../Ticket/Card/BasicData/TicketBasicData.vue | 68 ++++++++++++++----- .../Card/BasicData/TicketBasicDataForm.vue | 9 ++- .../Card/BasicData/TicketBasicDataView.vue | 8 ++- src/pages/Ticket/TicketList.vue | 68 ++++++++++--------- 9 files changed, 155 insertions(+), 101 deletions(-) diff --git a/src/components/common/VnSelectCurrency.vue b/src/components/common/VnSelectCurrency.vue index ae3066bcb..4968fe677 100644 --- a/src/components/common/VnSelectCurrency.vue +++ b/src/components/common/VnSelectCurrency.vue @@ -6,7 +6,7 @@ import { ref } from 'vue'; import { watch } from 'vue'; const model = defineModel({ - type: [String, Number, Object], + type: Number, default: null, }); @@ -16,8 +16,12 @@ const clientId = defineModel('clientId', { }); const currencyList = ref([]); + +const emit = defineEmits(['newValue']); + onMounted(async () => { currencyList.value = (await axios.get('Currencies')).data; + emitCurrency(model.value); }); watch( @@ -30,6 +34,14 @@ watch( model.value = data.defaultCurrencyFk; } ); + +function emitCurrency(id) { + if (!id) return; + emit( + 'newValue', + currencyList.value?.find((c) => c.id == id) + ); +} diff --git a/src/components/ui/VnCurrency.vue b/src/components/ui/VnCurrency.vue index b2ad67736..b4b7622b0 100644 --- a/src/components/ui/VnCurrency.vue +++ b/src/components/ui/VnCurrency.vue @@ -27,26 +27,28 @@ const $props = defineProps({ description: 'find currency code in array data model', }, }); - +const arrayData = $props.arrayDataModel && useArrayData($props.arrayDataModel); const foreignValue = computed(() => $props.model?.[$props.foreignField]); const localValue = computed(() => $props.model?.[$props.localField]); -const currency = computed(() => $props.currencyCode ?? currencyCodeModel.value); +const currency = computed( + () => $props.currencyCode ?? arrayData.store.data?.currency?.code +); const toCurrencyLabel = computed(() => toCurrency(foreignValue.value ?? localValue.value, currency.value) ); const currencyCodeModel = ref(); -onMounted(() => { - if ($props.arrayDataModel) { - const arrayData = useArrayData($props.arrayDataModel); - currencyCodeModel.value = arrayData.store.data?.currency?.code; - } -}); +// onMounted(() => { +// if ($props.arrayDataModel) { +// currencyCodeModel.value = arrayData.store.data?.currency?.code; +// } +// }); diff --git a/src/composables/useVnConfirm.js b/src/composables/useVnConfirm.js index 4438ad11d..f334b4eec 100644 --- a/src/composables/useVnConfirm.js +++ b/src/composables/useVnConfirm.js @@ -22,7 +22,7 @@ export function useVnConfirm() { { customHTML: () => h(component, props) } ), }).onOk(async () => { - if (successFn) successFn(); + if (successFn) await successFn(); }); }; diff --git a/src/pages/Order/Card/OrderBasicData.vue b/src/pages/Order/Card/OrderBasicData.vue index 5fb5a4e15..c9d0f6ca6 100644 --- a/src/pages/Order/Card/OrderBasicData.vue +++ b/src/pages/Order/Card/OrderBasicData.vue @@ -16,7 +16,7 @@ import VnSelectCurrency from 'src/components/common/VnSelectCurrency.vue'; const { t } = useI18n(); const route = useRoute(); const state = useState(); -const ORDER_MODEL = 'order'; +const ORDER_MODEL = 'Order'; const isNew = Boolean(!route.params.id); const clientList = ref([]); @@ -56,33 +56,6 @@ const fetchOrderDetails = (order) => { fetchAgencyList(order?.landed, order?.addressFk); }; -const orderFilter = { - include: [ - { relation: 'agencyMode', scope: { fields: ['name'] } }, - { - relation: 'address', - scope: { fields: ['nickname'] }, - }, - { relation: 'rows', scope: { fields: ['id'] } }, - { - relation: 'client', - scope: { - fields: [ - 'salesPersonFk', - 'name', - 'isActive', - 'isFreezed', - 'isTaxDataChecked', - ], - include: { - relation: 'salesPersonUser', - scope: { fields: ['id', 'name'] }, - }, - }, - }, - ], -}; - const onClientChange = async (clientId) => { const { data } = await axios.get(`Clients/${clientId}`); await fetchAddressList(data.defaultAddressFk); @@ -93,12 +66,9 @@ const onClientChange = async (clientId) => {
diff --git a/src/pages/Ticket/Card/BasicData/TicketBasicData.vue b/src/pages/Ticket/Card/BasicData/TicketBasicData.vue index c6a85c287..8c1ab43ed 100644 --- a/src/pages/Ticket/Card/BasicData/TicketBasicData.vue +++ b/src/pages/Ticket/Card/BasicData/TicketBasicData.vue @@ -9,6 +9,7 @@ import FetchData from 'components/FetchData.vue'; import { useStateStore } from 'stores/useStateStore'; import { toCurrency } from 'filters/index'; import { useRole } from 'src/composables/useRole'; +import VnCurrency from 'src/components/ui/VnCurrency.vue'; const haveNegatives = defineModel('haveNegatives', { type: Boolean, required: true }); const formData = defineModel({ type: Object, required: true }); @@ -18,7 +19,7 @@ const { t } = useI18n(); const { hasAny } = useRole(); const ticketUpdateActions = ref(null); -const rows = computed(() => formData.value?.sale?.items || []); +const rows = computed(() => formData.value?.ticket?.sales || []); const columns = computed(() => [ { @@ -83,20 +84,6 @@ const loadDefaultTicketAction = () => { formData.value.option = isSalesAssistant ? 'mana' : 'renewPrices'; }; -const totalPrice = computed(() => { - return rows.value.reduce((acc, item) => acc + item.price * item.quantity, 0); -}); - -const totalNewPrice = computed(() => { - return rows.value.reduce( - (acc, item) => acc + item.component.newPrice * item.quantity, - 0 - ); -}); - -const totalDifference = computed(() => { - return rows.value.reduce((acc, item) => acc + item.component?.difference || 0, 0); -}); const showMovableColumn = computed(() => (haveDifferences.value > 0 ? ['movable'] : [])); const haveDifferences = computed(() => formData.value.sale?.haveDifferences); async function ticketHaveNegatives() { @@ -141,17 +128,34 @@ onMounted(async () => { {{ t('basicData.price') }}: - {{ toCurrency(totalPrice) }} + - {{ t('basicData.newPrice') }}: {{ toCurrency(totalNewPrice) }} + {{ t('basicData.newPrice') }}: + - {{ t('basicData.difference') }}: {{ toCurrency(totalDifference) }} + {{ t('basicData.difference') }}: + @@ -244,5 +248,33 @@ onMounted(async () => { /> + + + diff --git a/src/pages/Ticket/Card/BasicData/TicketBasicDataForm.vue b/src/pages/Ticket/Card/BasicData/TicketBasicDataForm.vue index cf4481537..7ee52f852 100644 --- a/src/pages/Ticket/Card/BasicData/TicketBasicDataForm.vue +++ b/src/pages/Ticket/Card/BasicData/TicketBasicDataForm.vue @@ -15,6 +15,7 @@ import useNotify from 'src/composables/useNotify.js'; import { useAcl } from 'src/composables/useAcl'; import { useValidator } from 'src/composables/useValidator'; import { toTimeFormat } from 'filters/date.js'; +import VnSelectCurrency from 'src/components/common/VnSelectCurrency.vue'; const formData = defineModel({ type: Object, @@ -357,7 +358,7 @@ async function getZone(options) { :rules="validate('basicData.alias')" /> - + + + + { zoneId: formData.value.zoneFk, warehouseId: formData.value.warehouseFk, shipped: formData.value.shipped, + currencyId: formData.value.currencyFk, }; const { data } = await axios.post( `tickets/${formData.value.id}/priceDifference`, params ); - formData.value.sale = data; + formData.value.ticket = data; }; const submit = async () => { @@ -102,6 +103,7 @@ const submit = async () => { option: formData.value.option, isWithoutNegatives: formData.value.withoutNegatives, withWarningAccept: formData.value.withWarningAccept, + currencyFk: formData.value.currencyFk, keepPrice: false, }; @@ -119,7 +121,7 @@ const submit = async () => { const submitWithNegatives = async () => { formData.value.withWarningAccept = true; - submit(); + await submit(); }; const onNextStep = async () => { @@ -136,7 +138,7 @@ const onNextStep = async () => { t('basicData.negativesConfirmMessage'), submitWithNegatives ); - else submit(); + else await submit(); } }; diff --git a/src/pages/Ticket/TicketList.vue b/src/pages/Ticket/TicketList.vue index 64cf3d649..5ea0e619c 100644 --- a/src/pages/Ticket/TicketList.vue +++ b/src/pages/Ticket/TicketList.vue @@ -22,6 +22,8 @@ import { toTimeFormat } from 'src/filters/date'; import InvoiceOutDescriptorProxy from 'src/pages/InvoiceOut/Card/InvoiceOutDescriptorProxy.vue'; import TicketProblems from 'src/components/TicketProblems.vue'; import VnSection from 'src/components/common/VnSection.vue'; +import VnSelectCompany from 'src/components/common/VnSelectCompany.vue'; +import VnSelectCurrency from 'src/components/common/VnSelectCurrency.vue'; const route = useRoute(); const router = useRouter(); @@ -636,43 +638,45 @@ function setReference(data) { -
- -
+
-
- -
+
-
- -
+
+ + -- 2.40.1 From f076c62baba39f4248aa49558c5f8322f73feb48 Mon Sep 17 00:00:00 2001 From: alexm Date: Tue, 21 Jan 2025 15:09:40 +0100 Subject: [PATCH 03/10] feat: refs #7984 add currency in sale --- src/pages/Ticket/Card/TicketDescriptor.vue | 1 + src/pages/Ticket/Card/TicketSale.vue | 47 +++++++++++++++++----- src/router/modules/ticket.js | 2 +- 3 files changed, 40 insertions(+), 10 deletions(-) diff --git a/src/pages/Ticket/Card/TicketDescriptor.vue b/src/pages/Ticket/Card/TicketDescriptor.vue index 4e77b633f..3f1b51070 100644 --- a/src/pages/Ticket/Card/TicketDescriptor.vue +++ b/src/pages/Ticket/Card/TicketDescriptor.vue @@ -94,6 +94,7 @@ const filter = { ], }, }, + { relation: 'currency' }, ], }; diff --git a/src/pages/Ticket/Card/TicketSale.vue b/src/pages/Ticket/Card/TicketSale.vue index 8aa785c74..18df2fd37 100644 --- a/src/pages/Ticket/Card/TicketSale.vue +++ b/src/pages/Ticket/Card/TicketSale.vue @@ -25,6 +25,7 @@ import axios from 'axios'; import VnTable from 'src/components/VnTable/VnTable.vue'; import VnUsesMana from 'src/components/ui/VnUsesMana.vue'; import VnConfirm from 'src/components/ui/VnConfirm.vue'; +import VnCurrency from 'src/components/ui/VnCurrency.vue'; const route = useRoute(); const router = useRouter(); @@ -622,7 +623,7 @@ watch( - +
{{ t('ticketSale.subtotal') }}: - {{ toCurrency(store.data?.totalWithoutVat) }} + {{ t('ticketSale.tax') }}: - {{ - toCurrency(store.data?.totalWithVat - store.data?.totalWithoutVat) - }} + {{ t('basicData.total') }}: - {{ toCurrency(store.data?.totalWithVat) }} +
@@ -798,7 +817,7 @@ watch( - diff --git a/src/pages/Order/Card/OrderFilter.js b/src/pages/Order/Card/OrderFilter.js index 3e521b92c..b6eee1e69 100644 --- a/src/pages/Order/Card/OrderFilter.js +++ b/src/pages/Order/Card/OrderFilter.js @@ -22,5 +22,8 @@ export default { }, }, }, + { + relation: 'currency', + }, ], }; diff --git a/src/pages/Ticket/Card/BasicData/TicketBasicData.vue b/src/pages/Ticket/Card/BasicData/TicketBasicData.vue index 8acd4c7cb..09f851e57 100644 --- a/src/pages/Ticket/Card/BasicData/TicketBasicData.vue +++ b/src/pages/Ticket/Card/BasicData/TicketBasicData.vue @@ -20,7 +20,7 @@ const { t } = useI18n(); const { hasAny } = useRole(); const ticketUpdateActions = ref(null); -const rows = computed(() => formData.value?.ticket?.sales || []); +const rows = computed(() => formData.value?.sale?.sales || []); const columns = computed(() => [ { @@ -91,7 +91,7 @@ async function ticketHaveNegatives() { let _haveNegatives = false; let haveNotNegatives = false; formData.value.withoutNegatives = false; - formData.value?.sale?.items.forEach((item) => { + formData.value?.sale?.sales.forEach((item) => { if (item.quantity > item.movable) _haveNegatives = true; else haveNotNegatives = true; }); @@ -130,7 +130,7 @@ onMounted(async () => { {{ t('basicData.price') }}: { {{ t('basicData.newPrice') }}: { {{ t('basicData.difference') }}: { zoneId: ticket.value.zoneFk, warehouseId: ticket.value.warehouseFk, shipped: ticket.value.shipped, - currencyId: formData.value.currencyFk, + currencyId: ticket.value.currencyFk, }; const { data } = await axios.post( `tickets/${ticket.value.id}/priceDifference`, @@ -69,7 +68,7 @@ const submit = async () => { option: ticket.value.option, isWithoutNegatives: ticket.value.withoutNegatives, withWarningAccept: ticket.value.withWarningAccept, - currencyFk: formData.value.currencyFk, + currencyFk: ticket.value.currencyFk, keepPrice: false, }; diff --git a/src/pages/Ticket/Card/TicketDescriptor.vue b/src/pages/Ticket/Card/TicketDescriptor.vue index ed515191d..87ae8b8f6 100644 --- a/src/pages/Ticket/Card/TicketDescriptor.vue +++ b/src/pages/Ticket/Card/TicketDescriptor.vue @@ -11,6 +11,7 @@ import { toDateTimeFormat } from 'src/filters/date'; import filter from './TicketFilter.js'; import TicketProblems from 'src/components/TicketProblems.vue'; import axios from 'axios'; +import useCardDescription from 'src/composables/useCardDescription'; const $props = defineProps({ id: { diff --git a/src/pages/Ticket/Card/TicketSale.vue b/src/pages/Ticket/Card/TicketSale.vue index e75da4d02..4e0ba772e 100644 --- a/src/pages/Ticket/Card/TicketSale.vue +++ b/src/pages/Ticket/Card/TicketSale.vue @@ -310,7 +310,10 @@ const changePrice = async (sale) => { } }; const updatePrice = async (sale, newPrice) => { - await axios.post(`Sales/${sale.id}/updatePrice`, { newPrice }); + await axios.post(`Sales/${sale.id}/updatePrice`, { + newPrice, + isForeign: user.value.foreignCurrency, + }); sale.price = newPrice; edit.value = { ...DEFAULT_EDIT }; notify('globals.dataSaved', 'positive'); @@ -739,7 +742,7 @@ watch( {{ row?.item?.subName.toUpperCase() }}
- + import axios from 'axios'; -import { computed, ref, onBeforeMount, watch, onMounted, markRaw } from 'vue'; +import { computed, ref, onBeforeMount, watch, onMounted } from 'vue'; import { useRoute, useRouter } from 'vue-router'; import { useStateStore } from 'stores/useStateStore'; import { useI18n } from 'vue-i18n'; -import { QChip, useQuasar } from 'quasar'; -import { toDate, dashIfEmpty } from 'src/filters/index'; +import { useQuasar } from 'quasar'; +import { toDate, toCurrency, dashIfEmpty } from 'src/filters/index'; import useNotify from 'src/composables/useNotify'; import TicketSummary from './Card/TicketSummary.vue'; import { useSummaryDialog } from 'src/composables/useSummaryDialog'; @@ -470,10 +470,6 @@ function setReference(data) { dialogData.value.value.description = newDescription; } - -function isLittle(row) { - return row.totalWithVat > 0 && row.totalWithVat < 50; -}