diff --git a/src/pages/Customer/Card/CustomerMandates.vue b/src/pages/Customer/Card/CustomerMandates.vue index 66cb44bc273..81a643142d7 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, }; @@ -65,7 +64,8 @@ const columns = computed(() => [ <VnTable data-key="Mandates" url="Mandates" - :filter="filter" + :user-filter="filter" + :filter="{ where: { clientFk: route.params.id } }" auto-load :columns="columns" class="full-width q-mt-md" diff --git a/src/pages/Entry/Card/EntryDescriptor.vue b/src/pages/Entry/Card/EntryDescriptor.vue index 69b300cb2a6..313ed3d728b 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 f66151cc96c..3b5434cb83c 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"> + <VnSection + :data-key="dataKey" + prefix="entry" + :array-data-props="{ url: 'Entries/filter' }" + > <template #advanced-menu> <EntryFilter :data-key="dataKey" /> </template> diff --git a/src/pages/Order/OrderList.vue b/src/pages/Order/OrderList.vue index 091275e32ea..2a1997f2101 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 b2e13fcb60c..dfaabc84840 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,