From dcd681b6569f4bf35c206950138bd894c7c28c50 Mon Sep 17 00:00:00 2001 From: jorgep 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 }); } }); 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'] } }, + }, }" /> 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'] } }, -};