From 7b33efeb95eb11c49d4f08b2e6fa1321ebf8c252 Mon Sep 17 00:00:00 2001 From: pablone <pablone@verdnatura.es> Date: Thu, 6 Mar 2025 13:48:50 +0100 Subject: [PATCH 1/6] fix: update EntryDescriptor and EntryList templates for improved filtering --- src/pages/Entry/Card/EntryDescriptor.vue | 3 +-- src/pages/Entry/EntryList.vue | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/pages/Entry/Card/EntryDescriptor.vue b/src/pages/Entry/Card/EntryDescriptor.vue index 69b300cb2..313ed3d72 100644 --- a/src/pages/Entry/Card/EntryDescriptor.vue +++ b/src/pages/Entry/Card/EntryDescriptor.vue @@ -146,9 +146,8 @@ async function deleteEntry() { <template> <CardDescriptor - ref="entryDescriptorRef" :url="`Entries/${entityId}`" - :userFilter="entryFilter" + :filter="entryFilter" title="supplier.nickname" data-key="Entry" width="lg-width" diff --git a/src/pages/Entry/EntryList.vue b/src/pages/Entry/EntryList.vue index f66151cc9..f9d751d3e 100644 --- a/src/pages/Entry/EntryList.vue +++ b/src/pages/Entry/EntryList.vue @@ -283,7 +283,7 @@ onBeforeMount(async () => { </script> <template> - <VnSection :data-key="dataKey" prefix="entry"> + <VnSection :data-key="dataKey" prefix="entry" url="Entries/filter"> <template #advanced-menu> <EntryFilter :data-key="dataKey" /> </template> From 1c41a6bf4920e4a6f545ab039c2650bf51adc53d Mon Sep 17 00:00:00 2001 From: pablone <pablone@verdnatura.es> Date: Thu, 6 Mar 2025 13:58:10 +0100 Subject: [PATCH 2/6] fix: update EntryList template to use array-data-props for URL configuration --- src/pages/Entry/EntryList.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/pages/Entry/EntryList.vue b/src/pages/Entry/EntryList.vue index f9d751d3e..dd8a28c8b 100644 --- a/src/pages/Entry/EntryList.vue +++ b/src/pages/Entry/EntryList.vue @@ -283,7 +283,11 @@ onBeforeMount(async () => { </script> <template> - <VnSection :data-key="dataKey" prefix="entry" url="Entries/filter"> + <VnSection + :data-key="dataKey" + prefix="entry" + :array-data-props="{url='Entries/filter'}" + > <template #advanced-menu> <EntryFilter :data-key="dataKey" /> </template> From 1987b5109bc1ae4b7d04d727f8d93b7c7e4acfa1 Mon Sep 17 00:00:00 2001 From: pablone <pablone@verdnatura.es> Date: Thu, 6 Mar 2025 14:06:31 +0100 Subject: [PATCH 3/6] fix: correct syntax for array-data-props in EntryList template --- src/pages/Entry/EntryList.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Entry/EntryList.vue b/src/pages/Entry/EntryList.vue index dd8a28c8b..3b5434cb8 100644 --- a/src/pages/Entry/EntryList.vue +++ b/src/pages/Entry/EntryList.vue @@ -286,7 +286,7 @@ onBeforeMount(async () => { <VnSection :data-key="dataKey" prefix="entry" - :array-data-props="{url='Entries/filter'}" + :array-data-props="{ url: 'Entries/filter' }" > <template #advanced-menu> <EntryFilter :data-key="dataKey" /> From 4359acc406ec9325fcfc3648d7ba51edb6e7bcbe Mon Sep 17 00:00:00 2001 From: Javier Segarra <jsegarra@verdnatura.es> Date: Thu, 6 Mar 2025 23:51:30 +0100 Subject: [PATCH 4/6] fix: emiOptions bug --- src/pages/Order/OrderList.vue | 27 +++++++++++++++------------ src/pages/Ticket/TicketList.vue | 15 ++++++++++----- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/pages/Order/OrderList.vue b/src/pages/Order/OrderList.vue index 091275e32..2a1997f21 100644 --- a/src/pages/Order/OrderList.vue +++ b/src/pages/Order/OrderList.vue @@ -156,9 +156,7 @@ const columns = computed(() => [ onMounted(async () => { if (!route.query) return; if (route.query?.createForm) { - const query = JSON.parse(route.query?.createForm); - formInitialData.value = query; - await onClientSelected({ ...formInitialData.value, clientFk: query?.clientFk }); + await onClientSelected(JSON.parse(route.query?.createForm)); } else if (route.query?.table) { const query = JSON.parse(route.query?.table); const clientFk = query?.clientFk; @@ -177,7 +175,6 @@ watch( tableRef.value.create.formInitialData = formInitialData.value; } }, - { immediate: true }, ); async function onClientSelected({ clientFk }, formData = {}) { @@ -191,13 +188,17 @@ async function onClientSelected({ clientFk }, formData = {}) { addressOptions.value = data; formData.defaultAddressFk = data[0].client.defaultAddressFk; formData.addressId = formData.defaultAddressFk; - - formInitialData.value = { addressId: formData.addressId, clientFk }; + formInitialData.value = { ...formData, clientFk }; await fetchAgencies(formData); } -async function fetchAgencies({ landed, addressId }) { - if (!landed || !addressId) return (agencyList.value = []); +async function fetchAgencies(formData) { + const { landed, addressId } = formData; + if (!landed || !addressId) { + formData.defaultAddressFk = formInitialData.value.defaultAddressFk; + + return (agencyList.value = []); + } const { data } = await axios.get('Agencies/landsThatDay', { params: { @@ -220,6 +221,11 @@ const getDateColor = (date) => { if (difference == 0) return 'bg-warning'; if (difference < 0) return 'bg-success'; }; + +const isDefaultAddress = (opt, data) => { + const addressId = data.defaultAddressFk ?? data.addressId; + return addressId === opt.id && opt.isActive; +}; </script> <template> @@ -310,10 +316,7 @@ const getDateColor = (date) => { > <QItemSection style="min-width: min-content" avatar> <QIcon - v-if=" - scope.opt.isActive && - data.defaultAddressFk === scope.opt.id - " + v-if="isDefaultAddress(scope.opt, data)" size="sm" color="grey" name="star" diff --git a/src/pages/Ticket/TicketList.vue b/src/pages/Ticket/TicketList.vue index b2e13fcb6..dfaabc848 100644 --- a/src/pages/Ticket/TicketList.vue +++ b/src/pages/Ticket/TicketList.vue @@ -54,8 +54,7 @@ onBeforeMount(() => { onMounted(async () => { if (!route.query) return; if (route.query?.createForm) { - formInitialData.value = JSON.parse(route.query?.createForm); - await onClientSelected(formInitialData.value); + await onClientSelected(JSON.parse(route.query?.createForm)); } else if (route.query?.table) { const query = route.query?.table; const clientId = +JSON.parse(query)?.clientFk; @@ -273,12 +272,18 @@ const fetchAddresses = async (formData) => { return; } const { data } = await getAddresses(formData.clientId); - formInitialData.value = { clientId: formData.clientId }; - if (!data) return; + + if (!data) { + formInitialData.value = { clientId: formData.clientId }; + return; + } addressesOptions.value = data; selectedClient.value = data[0].client; formData.addressId = selectedClient.value.defaultAddressFk; - formInitialData.value.addressId = formData.addressId; + formInitialData.value = { + clientId: formData.clientId, + addressId: formData.addressId, + }; }; watch( () => route.query.table, From 287d592a949e88e4d589a88d9bf2e3f4d30f86dd Mon Sep 17 00:00:00 2001 From: pablone <pablone@verdnatura.es> Date: Fri, 7 Mar 2025 07:43:57 +0100 Subject: [PATCH 5/6] fix: update filter prop to user-filter in CustomerMandates component --- src/pages/Customer/Card/CustomerMandates.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Customer/Card/CustomerMandates.vue b/src/pages/Customer/Card/CustomerMandates.vue index 66cb44bc2..8f895ba2e 100644 --- a/src/pages/Customer/Card/CustomerMandates.vue +++ b/src/pages/Customer/Card/CustomerMandates.vue @@ -65,7 +65,7 @@ const columns = computed(() => [ <VnTable data-key="Mandates" url="Mandates" - :filter="filter" + :user-filter="filter" auto-load :columns="columns" class="full-width q-mt-md" From 3a104fb51eabba55f85e09492a85b1dbd2cde250 Mon Sep 17 00:00:00 2001 From: carlossa <carlossa@verdnatura.es> Date: Mon, 10 Mar 2025 07:29:20 +0100 Subject: [PATCH 6/6] fix: refs #8727 hotfix customerMandate --- src/pages/Customer/Card/CustomerMandates.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Customer/Card/CustomerMandates.vue b/src/pages/Customer/Card/CustomerMandates.vue index 8f895ba2e..81a643142 100644 --- a/src/pages/Customer/Card/CustomerMandates.vue +++ b/src/pages/Customer/Card/CustomerMandates.vue @@ -16,7 +16,6 @@ const filter = { { relation: 'mandateType', scope: { fields: ['id', 'code'] } }, { relation: 'company', scope: { fields: ['id', 'code'] } }, ], - where: { clientFk: route.params.id }, order: ['created DESC'], limit: 20, }; @@ -66,6 +65,7 @@ const columns = computed(() => [ data-key="Mandates" url="Mandates" :user-filter="filter" + :filter="{ where: { clientFk: route.params.id } }" auto-load :columns="columns" class="full-width q-mt-md"