From 9afa5df0c752b6d39307817b406923f9b3b88f06 Mon Sep 17 00:00:00 2001 From: jorgep Date: Tue, 24 Dec 2024 10:31:37 +0100 Subject: [PATCH 01/45] feat: refs #7119 add VehicleList page and routing configuration --- src/pages/Route/Vehicle/VehicleList.vue | 67 +++++++++++++++++++++++++ src/router/modules/route.js | 17 +++++++ 2 files changed, 84 insertions(+) create mode 100644 src/pages/Route/Vehicle/VehicleList.vue diff --git a/src/pages/Route/Vehicle/VehicleList.vue b/src/pages/Route/Vehicle/VehicleList.vue new file mode 100644 index 000000000..9b092788a --- /dev/null +++ b/src/pages/Route/Vehicle/VehicleList.vue @@ -0,0 +1,67 @@ + + diff --git a/src/router/modules/route.js b/src/router/modules/route.js index 9a7b16df3..787b65d13 100644 --- a/src/router/modules/route.js +++ b/src/router/modules/route.js @@ -18,6 +18,7 @@ export default { 'RouteRoadmap', 'CmrList', 'AgencyList', + 'VehicleList', ], card: ['RouteBasicData', 'RouteTickets', 'RouteLog'], }, @@ -98,6 +99,22 @@ export default { }, ], }, + { + path: '/vehicle', + redirect: { name: 'VehicleList' }, + children: [ + { + path: 'list', + name: 'VehicleList', + meta: { + title: 'vehicleList', + icon: 'directions_list', + }, + component: () => + import('src/pages/Route/Vehicle/VehicleList.vue'), + }, + ], + }, ], }, { -- 2.40.1 From 742fa231f129acbebe19b29b072e0293c107b279 Mon Sep 17 00:00:00 2001 From: jorgep Date: Tue, 24 Dec 2024 13:00:59 +0100 Subject: [PATCH 02/45] feat: refs #7119 add vehicle list localization and update VehicleList component --- src/i18n/locale/en.yml | 1 + src/i18n/locale/es.yml | 1 + src/pages/Route/Vehicle/VehicleList.vue | 79 ++++++++++++++----------- src/router/modules/route.js | 2 +- 4 files changed, 48 insertions(+), 35 deletions(-) diff --git a/src/i18n/locale/en.yml b/src/i18n/locale/en.yml index 4a78811e6..00932a386 100644 --- a/src/i18n/locale/en.yml +++ b/src/i18n/locale/en.yml @@ -304,6 +304,7 @@ globals: wasteRecalc: Waste recaclulate operator: Operator parking: Parking + vehicleList: Vehicle list supplier: Supplier created: Created worker: Worker diff --git a/src/i18n/locale/es.yml b/src/i18n/locale/es.yml index 2bfe7ec4b..a8ae4770e 100644 --- a/src/i18n/locale/es.yml +++ b/src/i18n/locale/es.yml @@ -308,6 +308,7 @@ globals: wasteRecalc: Recalcular mermas operator: Operario parking: Parking + vehicleList: Listado vehículos supplier: Proveedor created: Fecha creación worker: Trabajador diff --git a/src/pages/Route/Vehicle/VehicleList.vue b/src/pages/Route/Vehicle/VehicleList.vue index 9b092788a..fbb8284e2 100644 --- a/src/pages/Route/Vehicle/VehicleList.vue +++ b/src/pages/Route/Vehicle/VehicleList.vue @@ -1,66 +1,77 @@ -- 2.40.1 From 3807e74fe4ccc370e1e98052970f0882707eb1e3 Mon Sep 17 00:00:00 2001 From: jorgep Date: Fri, 27 Dec 2024 10:09:08 +0100 Subject: [PATCH 09/45] feat: refs #7119 enhance VehicleSummary and VehicleList components with summary view functionality --- .../Route/Vehicle/Card/VehicleSummary.vue | 4 +++- src/pages/Route/Vehicle/VehicleList.vue | 22 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/pages/Route/Vehicle/Card/VehicleSummary.vue b/src/pages/Route/Vehicle/Card/VehicleSummary.vue index 3a39e66b8..e7b542fe4 100644 --- a/src/pages/Route/Vehicle/Card/VehicleSummary.vue +++ b/src/pages/Route/Vehicle/Card/VehicleSummary.vue @@ -5,8 +5,10 @@ import CardSummary from 'components/ui/CardSummary.vue'; import VnLv from 'src/components/ui/VnLv.vue'; import VnTitle from 'src/components/common/VnTitle.vue'; +const props = defineProps({ id: { type: [Number, String], default: 0 } }); + const route = useRoute(); -const entityId = computed(() => +route.params.id); +const entityId = computed(() => props.id || +route.params.id); const links = { 'basic-data': `#/vehicle/${entityId.value}/basic-data`, notes: `#/vehicle/${entityId.value}/notes`, diff --git a/src/pages/Route/Vehicle/VehicleList.vue b/src/pages/Route/Vehicle/VehicleList.vue index 5a3850571..6fea52065 100644 --- a/src/pages/Route/Vehicle/VehicleList.vue +++ b/src/pages/Route/Vehicle/VehicleList.vue @@ -4,8 +4,11 @@ import { useI18n } from 'vue-i18n'; import VnTable from 'components/VnTable/VnTable.vue'; import FetchData from 'src/components/FetchData.vue'; import VehicleSearchbar from 'src/pages/Route/Vehicle/VehicleSearchbar.vue'; +import { useSummaryDialog } from 'src/composables/useSummaryDialog'; +import VehicleSummary from 'src/pages/Route/Vehicle/Card/VehicleSummary.vue'; const { t } = useI18n(); +const { viewSummary } = useSummaryDialog(); const warehouses = ref([]); const companies = ref([]); const countries = ref([]); @@ -15,6 +18,10 @@ const columns = computed(() => [ { name: 'id', label: t('globals.id'), + isId: true, + chip: { + condition: () => true, + }, }, { name: 'description', @@ -34,10 +41,12 @@ const columns = computed(() => [ { name: 'tradeMark', label: t('vehicle.tradeMark'), + cardVisible: true, }, { name: 'numberPlate', label: t('vehicle.numberPlate'), + isTitle: true, }, { name: 'warehouseFk', @@ -48,6 +57,7 @@ const columns = computed(() => [ name: 'warehouseFk', options: warehouses.value, }, + cardVisible: true, }, { name: 'chassis', @@ -67,6 +77,7 @@ const columns = computed(() => [ optionLabel: 'code', options: countries.value, }, + cardVisible: true, }, { name: 'isKmTruckRate', @@ -79,6 +90,17 @@ const columns = computed(() => [ sortable: false, format: (row, dashIfEmpty) => dashIfEmpty(row.event?.state?.state), }, + { + align: 'right', + name: 'tableActions', + actions: [ + { + title: t('components.smartCard.openSummary'), + icon: 'preview', + action: (row) => viewSummary(row.id, VehicleSummary), + }, + ], + }, ]);