From 4836b14e3ebfceb1b77addffa1b82d3da8fb616c Mon Sep 17 00:00:00 2001 From: jorgep Date: Thu, 23 Jan 2025 10:52:50 +0100 Subject: [PATCH] feat: refs #7119 update vehicle components and localization, add vehicle type selection --- src/i18n/locale/en.yml | 2 + src/i18n/locale/es.yml | 2 + .../Route/Vehicle/Card/VehicleBasicData.vue | 5 + .../Route/Vehicle/Card/VehicleDescriptor.vue | 2 +- src/pages/Route/Vehicle/Card/VehicleNotes.vue | 7 -- .../Route/Vehicle/Card/VehicleSummary.vue | 2 +- src/pages/Route/Vehicle/VehicleFilter.js | 1 + src/pages/Route/Vehicle/VehicleList.vue | 95 ++++++++++++------- src/pages/Route/Vehicle/locale/en.yml | 3 +- src/pages/Route/Vehicle/locale/es.yml | 9 +- src/router/modules/vehicle.js | 10 -- 11 files changed, 77 insertions(+), 61 deletions(-) delete mode 100644 src/pages/Route/Vehicle/Card/VehicleNotes.vue diff --git a/src/i18n/locale/en.yml b/src/i18n/locale/en.yml index d98409d17..5e108d962 100644 --- a/src/i18n/locale/en.yml +++ b/src/i18n/locale/en.yml @@ -355,6 +355,8 @@ globals: isVies: Vies model: Model fuel: Fuel + active: Active + inactive: Inactive errors: statusUnauthorized: Access denied statusInternalServerError: An internal server error has ocurred diff --git a/src/i18n/locale/es.yml b/src/i18n/locale/es.yml index c03e8e7a7..84d7e194d 100644 --- a/src/i18n/locale/es.yml +++ b/src/i18n/locale/es.yml @@ -357,6 +357,8 @@ globals: isVies: Vies model: Modelo fuel: Combustible + active: Activo + inactive: Inactivo errors: statusUnauthorized: Acceso denegado statusInternalServerError: Ha ocurrido un error interno del servidor diff --git a/src/pages/Route/Vehicle/Card/VehicleBasicData.vue b/src/pages/Route/Vehicle/Card/VehicleBasicData.vue index 822869b50..d7e74ebc5 100644 --- a/src/pages/Route/Vehicle/Card/VehicleBasicData.vue +++ b/src/pages/Route/Vehicle/Card/VehicleBasicData.vue @@ -64,6 +64,11 @@ const bankPolicies = ref([]); :label="$t('globals.model')" :required="true" /> + - + diff --git a/src/pages/Route/Vehicle/Card/VehicleNotes.vue b/src/pages/Route/Vehicle/Card/VehicleNotes.vue deleted file mode 100644 index daf1a126f..000000000 --- a/src/pages/Route/Vehicle/Card/VehicleNotes.vue +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/src/pages/Route/Vehicle/Card/VehicleSummary.vue b/src/pages/Route/Vehicle/Card/VehicleSummary.vue index b72ee88ee..014fd5a59 100644 --- a/src/pages/Route/Vehicle/Card/VehicleSummary.vue +++ b/src/pages/Route/Vehicle/Card/VehicleSummary.vue @@ -75,7 +75,7 @@ const links = { - + [ + { + name: 'isActive', + columnFilter: false, + align: 'center', + }, { name: 'id', label: t('globals.id'), @@ -27,17 +33,6 @@ const columns = computed(() => [ name: 'description', label: t('globals.description'), }, - { - name: 'companyFk', - label: t('globals.company'), - format: (row, dashIfEmpty) => dashIfEmpty(row.company), - columnFilter: { - component: 'select', - name: 'companyFk', - optionLabel: 'code', - options: companies.value, - }, - }, { name: 'tradeMark', label: t('vehicle.tradeMark'), @@ -48,6 +43,36 @@ const columns = computed(() => [ label: t('vehicle.numberPlate'), isTitle: true, }, + { + name: 'vehicleTypeFk', + label: t('globals.type'), + format: (row) => row.type, + columnFilter: { + component: 'select', + name: 'vehicleTypeFk', + options: vehicleTypes.value, + }, + cardVisible: true, + }, + { + name: 'vehicleStateFk', + label: t('globals.state'), + columnFilter: { + component: 'select', + name: 'vehicleStateFk', + optionLabel: 'state', + options: vehicleStates.value, + }, + format: (row, dashIfEmpty) => dashIfEmpty(row.state), + }, + { + name: 'chassis', + label: t('vehicle.chassis'), + }, + { + name: 'leasing', + label: t('vehicle.leasing'), + }, { name: 'warehouseFk', label: t('globals.warehouse'), @@ -60,12 +85,15 @@ const columns = computed(() => [ cardVisible: true, }, { - name: 'chassis', - label: t('vehicle.chassis'), - }, - { - name: 'leasing', - label: t('vehicle.leasing'), + name: 'companyFk', + label: t('globals.company'), + format: (row, dashIfEmpty) => dashIfEmpty(row.company), + columnFilter: { + component: 'select', + name: 'companyFk', + optionLabel: 'code', + options: companies.value, + }, }, { name: 'countryCodeFk', @@ -77,23 +105,6 @@ const columns = computed(() => [ optionLabel: 'code', options: countries.value, }, - cardVisible: true, - }, - { - name: 'isKmTruckRate', - label: t('vehicle.isKmTruckRate'), - }, - { - name: 'vehicleStateFk', - label: t('globals.state'), - columnFilter: { - component: 'select', - name: 'vehicleStateFk', - optionLabel: 'state', - options: vehicleStates.value, - }, - sortable: false, - format: (row, dashIfEmpty) => dashIfEmpty(row.state), }, { align: 'right', @@ -133,11 +144,25 @@ const columns = computed(() => [ @on-fetch="(data) => (vehicleStates = data)" auto-load /> + + > + + diff --git a/src/pages/Route/Vehicle/locale/en.yml b/src/pages/Route/Vehicle/locale/en.yml index 030c454b0..927a9bb2e 100644 --- a/src/pages/Route/Vehicle/locale/en.yml +++ b/src/pages/Route/Vehicle/locale/en.yml @@ -1,10 +1,9 @@ vehicle: tradeMark: Trade Mark - numberPlate: Number Plate + numberPlate: Nº Plate chassis: Chassis leasing: Leasing isKmTruckRate: Trailer - countryCode: Country Code delete: Delete Vehicle supplierCooler: Supplier Cooler vin: VIN diff --git a/src/pages/Route/Vehicle/locale/es.yml b/src/pages/Route/Vehicle/locale/es.yml index 5f3d2132a..8862b52a9 100644 --- a/src/pages/Route/Vehicle/locale/es.yml +++ b/src/pages/Route/Vehicle/locale/es.yml @@ -1,16 +1,15 @@ vehicle: tradeMark: Marca numberPlate: Matrícula - chassis: Número de bastidor - leasing: leasing + chassis: Nº de bastidor + leasing: Leasing isKmTruckRate: Trailer - countryCode: Código de país delete: Eliminar vehículo supplierCooler: Proveedor Frío vin: VIN - ppe: nº Inmovilizado + ppe: Nº Inmovilizado isActive: Activo - nLeasing: Nº Leasing + nLeasing: Nº leasing searchbar: label: Buscar Vehículo info: Buscar por id o matrícula diff --git a/src/router/modules/vehicle.js b/src/router/modules/vehicle.js index 777914c3f..065f519ae 100644 --- a/src/router/modules/vehicle.js +++ b/src/router/modules/vehicle.js @@ -41,16 +41,6 @@ export default { component: () => import('src/pages/Route/Vehicle/Card/VehicleBasicData.vue'), }, - { - name: 'VehicleNotes', - path: 'notes', - meta: { - title: 'notes', - icon: 'vn:notes', - }, - component: () => - import('src/pages/Route/Vehicle/Card/VehicleNotes.vue'), - }, ], }, ],