From dcd681b6569f4bf35c206950138bd894c7c28c50 Mon Sep 17 00:00:00 2001
From: jorgep <jorgep@verdnatura.es>
Date: Mon, 18 Nov 2024 16:10:04 +0100
Subject: [PATCH] feat: refs #6919 sync account

---
 src/components/common/VnCard.vue          | 7 +++----
 src/pages/Account/AccountList.vue         | 5 ++---
 src/pages/Account/Card/AccountCard.vue    | 3 +++
 src/pages/Account/Card/AccountSummary.vue | 6 +-----
 4 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/src/components/common/VnCard.vue b/src/components/common/VnCard.vue
index c37b25675..7b1205b8e 100644
--- a/src/components/common/VnCard.vue
+++ b/src/components/common/VnCard.vue
@@ -49,11 +49,10 @@ onBeforeMount(async () => {
 
 onBeforeRouteUpdate(async (to, from) => {
     if (to.params.id !== from.params.id) {
-        arrayData.store.url = !regex.test(props.url)
-            ? `${props.url}/${to.params.id}`
-            : props.url.replace(regex, `/${to.params.id}`);
+        if (props.idInWhere) arrayData.store.filter.where = { id: to.params.id };
+        else arrayData.store.url = `${props.url}/${to.params.id}`;
 
-        await arrayData.fetch({ append: false, updateRouter: false });
+        await arrayData.fetch({ updateRouter: false });
     }
 });
 </script>
diff --git a/src/pages/Account/AccountList.vue b/src/pages/Account/AccountList.vue
index 0195da0cd..9a60e2ebc 100644
--- a/src/pages/Account/AccountList.vue
+++ b/src/pages/Account/AccountList.vue
@@ -8,13 +8,12 @@ import { useSummaryDialog } from 'src/composables/useSummaryDialog';
 import AccountFilter from './AccountFilter.vue';
 import RightMenu from 'src/components/common/RightMenu.vue';
 import exprBuilder from './AccountExprBuilder.js';
+import filter from './Card/AccountFilter.js';
 
 const { t } = useI18n();
 const { viewSummary } = useSummaryDialog();
 const tableRef = ref();
-const filter = {
-    include: { relation: 'role', scope: { fields: ['id', 'name'] } },
-};
+
 const columns = computed(() => [
     {
         align: 'left',
diff --git a/src/pages/Account/Card/AccountCard.vue b/src/pages/Account/Card/AccountCard.vue
index b252b2074..ea9f903d4 100644
--- a/src/pages/Account/Card/AccountCard.vue
+++ b/src/pages/Account/Card/AccountCard.vue
@@ -17,6 +17,9 @@ import filter from './AccountFilter.js';
             label: $t('account.search'),
             info: $t('account.searchInfo'),
             exprBuilder,
+            filter: {
+                include: { relation: 'role', scope: { fields: ['id', 'name'] } },
+            },
         }"
     />
 </template>
diff --git a/src/pages/Account/Card/AccountSummary.vue b/src/pages/Account/Card/AccountSummary.vue
index 5a21e18a5..38fe2e3f9 100644
--- a/src/pages/Account/Card/AccountSummary.vue
+++ b/src/pages/Account/Card/AccountSummary.vue
@@ -7,6 +7,7 @@ import CardSummary from 'components/ui/CardSummary.vue';
 import VnLv from 'src/components/ui/VnLv.vue';
 
 import { useArrayData } from 'src/composables/useArrayData';
+import filter from './AccountFilter.js';
 
 const route = useRoute();
 const { t } = useI18n();
@@ -21,11 +22,6 @@ const { store } = useArrayData('Account');
 const account = ref(store.data);
 
 const entityId = computed(() => $props.id || route.params.id);
-const filter = {
-    where: { id: entityId },
-    fields: ['id', 'nickname', 'name', 'role'],
-    include: { relation: 'role', scope: { fields: ['id', 'name'] } },
-};
 </script>
 
 <template>