From 583a774d7da9a4639253ce6f9586b4d173fede79 Mon Sep 17 00:00:00 2001 From: alexm Date: Wed, 22 Jan 2025 15:04:50 +0100 Subject: [PATCH] feat(Ticket): refs #7984 add currency --- src/components/ui/VnCurrency.vue | 38 ++++++--- src/components/ui/VnUsesMana.vue | 2 +- src/pages/Customer/Card/CustomerBasicData.vue | 10 ++- .../components/CustomerSummaryTable.vue | 18 ++++- .../Card/InvoiceInDescriptorMenu.vue | 11 ++- src/pages/Order/Card/OrderDescriptor.vue | 2 +- src/pages/Order/OrderList.vue | 6 +- .../Ticket/Card/BasicData/TicketBasicData.vue | 5 +- src/pages/Ticket/Card/TicketEditMana.vue | 2 +- src/pages/Ticket/Card/TicketPicture.vue | 13 ++- src/pages/Ticket/Card/TicketSale.vue | 10 +-- src/pages/Ticket/Card/TicketSummary.vue | 81 ++++++++++++++----- src/pages/Ticket/TicketList.vue | 46 ++++++----- 13 files changed, 162 insertions(+), 82 deletions(-) diff --git a/src/components/ui/VnCurrency.vue b/src/components/ui/VnCurrency.vue index b4b7622b0..b3ea821fd 100644 --- a/src/components/ui/VnCurrency.vue +++ b/src/components/ui/VnCurrency.vue @@ -14,8 +14,8 @@ const $props = defineProps({ default: undefined, }, foreignField: { - type: String, - default: 'foreignPrice', + type: [String, undefined], + default: undefined, }, localField: { type: String, @@ -27,22 +27,36 @@ const $props = defineProps({ description: 'find currency code in array data model', }, }); + +const foreignFieldComputed = ref(); const arrayData = $props.arrayDataModel && useArrayData($props.arrayDataModel); -const foreignValue = computed(() => $props.model?.[$props.foreignField]); +const foreignValue = ref(); const localValue = computed(() => $props.model?.[$props.localField]); const currency = computed( - () => $props.currencyCode ?? arrayData.store.data?.currency?.code -); -const toCurrencyLabel = computed(() => - toCurrency(foreignValue.value ?? localValue.value, currency.value) + () => $props.currencyCode ?? arrayData.store.data?.currency?.code, ); +const toCurrencyLabel = ref(); const currencyCodeModel = ref(); -// onMounted(() => { -// if ($props.arrayDataModel) { -// currencyCodeModel.value = arrayData.store.data?.currency?.code; -// } -// }); +onMounted(() => { + // if ($props.arrayDataModel) { + // currencyCodeModel.value = arrayData.store.data?.currency?.code; + // } + foreignFieldComputed.value = + $props.foreignField ?? + 'foreign' + + $props.localField.charAt(0).toUpperCase() + + $props.localField.slice(1); + foreignValue.value = $props.model[foreignFieldComputed.value]; + getLabel(); +}); + +function getLabel() { + toCurrencyLabel.value = toCurrency( + foreignValue.value ?? localValue.value, + currency.value, + ); +}