From cad6b077f066ee15018d2f904698feeb8ef4666d Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Sat, 15 Feb 2025 17:45:06 +0100 Subject: [PATCH 01/66] fix: ticketfilter from and to --- src/components/ui/VnSearchbar.vue | 10 ++++++++++ src/composables/useArrayData.js | 15 +++++++++++---- src/pages/Ticket/TicketList.vue | 3 +++ 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/components/ui/VnSearchbar.vue b/src/components/ui/VnSearchbar.vue index 30e4135e2..98be77d09 100644 --- a/src/components/ui/VnSearchbar.vue +++ b/src/components/ui/VnSearchbar.vue @@ -69,6 +69,10 @@ const props = defineProps({ type: Boolean, default: true, }, + excludeParams: { + type: Object, + default: null, + }, }); const searchText = ref(); @@ -135,6 +139,12 @@ async function search() { }; delete filter.params.search; } + if (props.excludeParams) { + filter.params = { + ...filter.params, + exclude: props.excludeParams, + }; + } await arrayData.applyFilter(filter); searchText.value = undefined; } diff --git a/src/composables/useArrayData.js b/src/composables/useArrayData.js index bd3cecf08..250756c59 100644 --- a/src/composables/useArrayData.js +++ b/src/composables/useArrayData.js @@ -74,12 +74,13 @@ export function useArrayData(key, userOptions) { } } - async function fetch({ append = false, updateRouter = true }) { + async function fetch(fetchOptions) { + let { append = false, updateRouter = true } = fetchOptions; if (!store.url) return; cancelRequest(); canceller = new AbortController(); - const { params, limit } = setCurrentFilter(); + let { params, limit } = setCurrentFilter(); let exprFilter; if (store?.exprBuilder) { @@ -97,7 +98,10 @@ export function useArrayData(key, userOptions) { if (!params?.filter?.order?.length) delete params?.filter?.order; params.filter = JSON.stringify(params.filter); - + if (fetchOptions?.exclude) { + params = { ...params, ...fetchOptions.exclude }; + delete params.exclude; + } store.isLoading = true; const response = await axios.get(store.url, { signal: canceller.signal, @@ -145,8 +149,11 @@ export function useArrayData(key, userOptions) { async function applyFilter({ filter, params }, fetchOptions = {}) { if (filter) store.userFilter = filter; store.filter = {}; + if (params?.exclude) { + fetchOptions = { ...fetchOptions, exclude: params.exclude }; + delete params.exclude; + } if (params) store.userParams = { ...params }; - const response = await fetch(fetchOptions); return response; } diff --git a/src/pages/Ticket/TicketList.vue b/src/pages/Ticket/TicketList.vue index 8df19c0d9..b16472764 100644 --- a/src/pages/Ticket/TicketList.vue +++ b/src/pages/Ticket/TicketList.vue @@ -445,6 +445,9 @@ function setReference(data) { :array-data-props="{ url: 'Tickets/filter', order: ['shippedDate DESC', 'shippedHour ASC', 'zoneLanding ASC', 'id'], + label: t('Search items'), + excludeParams: { ...userParams }, + searchRemoveParams: true, exprBuilder, }" > From 3b3332f15cd6ec6431f01f31fc2f4655353e5676 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Sat, 15 Feb 2025 23:59:22 +0100 Subject: [PATCH 02/66] feat: use clientFK in dialog --- .../Customer/composables/getAddresses.js | 8 +++---- src/pages/Ticket/TicketList.vue | 22 ++++++++++++++++--- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/pages/Customer/composables/getAddresses.js b/src/pages/Customer/composables/getAddresses.js index e65e64455..5f18530e7 100644 --- a/src/pages/Customer/composables/getAddresses.js +++ b/src/pages/Customer/composables/getAddresses.js @@ -1,15 +1,15 @@ import axios from 'axios'; -export async function getAddresses(clientId, _filter = {}) { +export async function getAddresses(clientId, _filter = {}) { if (!clientId) return; const filter = { ..._filter, - fields: ['nickname', 'street', 'city', 'id'], + fields: ['nickname', 'street', 'city', 'id', 'isActive'], where: { isActive: true }, - order: 'nickname ASC', + order: ['isDefaultAddress DESC', 'isActive DESC', 'nickname ASC'], }; const params = { filter: JSON.stringify(filter) }; return await axios.get(`Clients/${clientId}/addresses`, { params, }); -}; \ No newline at end of file +} diff --git a/src/pages/Ticket/TicketList.vue b/src/pages/Ticket/TicketList.vue index b16472764..6490f3b8e 100644 --- a/src/pages/Ticket/TicketList.vue +++ b/src/pages/Ticket/TicketList.vue @@ -1,6 +1,6 @@