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(); -