From 565ec15589dbd2235b1be953d468609c9ed0eeac Mon Sep 17 00:00:00 2001 From: jorgep Date: Thu, 14 Nov 2024 17:30:54 +0100 Subject: [PATCH 01/68] feat: refs #6919 improve vn-card logic --- src/components/common/VnCard.vue | 18 ++++++------------ src/pages/Account/Alias/Card/AliasCard.vue | 2 +- src/pages/Claim/Card/ClaimCard.vue | 2 +- src/pages/Customer/Card/CustomerCard.vue | 2 +- src/pages/Department/Card/DepartmentCard.vue | 2 +- src/pages/Entry/Card/EntryCard.vue | 2 +- src/pages/InvoiceIn/Card/InvoiceInCard.vue | 2 +- src/pages/InvoiceOut/Card/InvoiceOutCard.vue | 2 +- src/pages/Item/Card/ItemCard.vue | 2 +- src/pages/Item/ItemType/Card/ItemTypeCard.vue | 2 +- src/pages/Order/Card/OrderCard.vue | 2 +- src/pages/Parking/Card/ParkingCard.vue | 2 +- src/pages/Route/Agency/Card/AgencyCard.vue | 2 +- src/pages/Route/Card/RouteCard.vue | 2 +- src/pages/Route/Roadmap/RoadmapCard.vue | 2 +- src/pages/Shelving/Card/ShelvingCard.vue | 2 +- src/pages/Supplier/Card/SupplierCard.vue | 2 +- src/pages/Ticket/Card/TicketCard.vue | 2 +- src/pages/Travel/Card/TravelCard.vue | 2 +- src/pages/Wagon/Card/WagonCard.vue | 2 +- src/pages/Worker/Card/WorkerCard.vue | 3 ++- src/pages/Zone/Card/ZoneCard.vue | 2 +- 22 files changed, 28 insertions(+), 33 deletions(-) diff --git a/src/components/common/VnCard.vue b/src/components/common/VnCard.vue index 0d80f43ce..c030cbe32 100644 --- a/src/components/common/VnCard.vue +++ b/src/components/common/VnCard.vue @@ -10,11 +10,11 @@ import LeftMenu from 'components/LeftMenu.vue'; import RightMenu from 'components/common/RightMenu.vue'; const props = defineProps({ dataKey: { type: String, required: true }, - baseUrl: { type: String, default: undefined }, - customUrl: { type: String, default: undefined }, + url: { type: String, default: undefined }, filter: { type: Object, default: () => {} }, descriptor: { type: Object, required: true }, filterPanel: { type: Object, default: undefined }, + idInWhere: { type: Boolean, default: false }, searchDataKey: { type: String, default: undefined }, searchbarProps: { type: Object, default: undefined }, redirectOnError: { type: Boolean, default: false }, @@ -23,24 +23,18 @@ const props = defineProps({ const stateStore = useStateStore(); const route = useRoute(); const router = useRouter(); -const url = computed(() => { - if (props.baseUrl) { - return `${props.baseUrl}/${route.params.id}`; - } - return props.customUrl; -}); const searchRightDataKey = computed(() => { if (!props.searchDataKey) return route.name; return props.searchDataKey; }); const arrayData = useArrayData(props.dataKey, { - url: url.value, + url: props.url, filter: props.filter, }); onBeforeMount(async () => { try { - if (!props.baseUrl) arrayData.store.filter.where = { id: route.params.id }; + if (props.idInWhere) arrayData.store.filter.where = { id: route.params.id }; await arrayData.fetch({ append: false, updateRouter: false }); } catch { const { matched: matches } = router.currentRoute.value; @@ -49,10 +43,10 @@ onBeforeMount(async () => { } }); -if (props.baseUrl) { +if (!props.idInWhere) { onBeforeRouteUpdate(async (to, from) => { if (to.params.id !== from.params.id) { - arrayData.store.url = `${props.baseUrl}/${to.params.id}`; + arrayData.store.url = `${props.url}/${to.params.id}`; await arrayData.fetch({ append: false, updateRouter: false }); } }); diff --git a/src/pages/Account/Alias/Card/AliasCard.vue b/src/pages/Account/Alias/Card/AliasCard.vue index 65951b3bf..b9676df49 100644 --- a/src/pages/Account/Alias/Card/AliasCard.vue +++ b/src/pages/Account/Alias/Card/AliasCard.vue @@ -8,7 +8,7 @@ const { t } = useI18n();