From b25bd19bb5b21d0fd6ee42c63d5dcbc5ac8e21e5 Mon Sep 17 00:00:00 2001 From: jtubau Date: Tue, 15 Apr 2025 14:59:41 +0200 Subject: [PATCH 01/13] feat: refs #7385 add delivery forecast and delivered fields to route summary and descriptor --- src/pages/Route/Card/RouteDescriptor.vue | 13 +++++++++++++ src/pages/Route/Card/RouteSummary.vue | 14 ++++++++++++++ src/pages/Route/locale/en.yml | 2 ++ src/pages/Route/locale/es.yml | 2 ++ 4 files changed, 31 insertions(+) diff --git a/src/pages/Route/Card/RouteDescriptor.vue b/src/pages/Route/Card/RouteDescriptor.vue index ee42d8e76..67bc88fec 100644 --- a/src/pages/Route/Card/RouteDescriptor.vue +++ b/src/pages/Route/Card/RouteDescriptor.vue @@ -68,6 +68,19 @@ onMounted(async () => { + diff --git a/src/pages/Route/Card/RouteSummary.vue b/src/pages/Route/Card/RouteSummary.vue index 86bdbb5c5..435385f34 100644 --- a/src/pages/Route/Card/RouteSummary.vue +++ b/src/pages/Route/Card/RouteSummary.vue @@ -80,6 +80,20 @@ const ticketColumns = ref([ sortable: false, align: 'left', }, + { + name: 'dated', + label: t('route.delivered'), + field: (row) => dashIfEmpty(toDate(row?.landed)), + sortable: false, + align: 'center', + }, + { + name: 'prevision', + label: t('route.forecast'), + field: (row) => dashIfEmpty(toDate(row?.eta)), + sortable: false, + align: 'center', + }, { name: 'packages', label: t('route.summary.packages'), diff --git a/src/pages/Route/locale/en.yml b/src/pages/Route/locale/en.yml index e7e2d691e..de7af53e8 100644 --- a/src/pages/Route/locale/en.yml +++ b/src/pages/Route/locale/en.yml @@ -70,6 +70,8 @@ route: searchInfo: You can search by route reference dated: Dated preview: Preview + delivered: Delivered + forecast: Forecast cmr: search: Search Cmr searchInfo: You can search Cmr by Id diff --git a/src/pages/Route/locale/es.yml b/src/pages/Route/locale/es.yml index 2785ded31..857bebc17 100644 --- a/src/pages/Route/locale/es.yml +++ b/src/pages/Route/locale/es.yml @@ -71,6 +71,8 @@ route: searchInfo: Puedes buscar por referencia de la ruta dated: Fecha preview: Vista previa + delivered: Entregado + forecast: Pronóstico cmr: list: results: resultados From 2f20abf388819b9754c5791d6556e6666a3fa23c Mon Sep 17 00:00:00 2001 From: jtubau Date: Tue, 15 Apr 2025 15:40:03 +0200 Subject: [PATCH 02/13] refactor: refs #7385 update ticket columns to use 'delivered' and 'forecast' fields in RouteSummary --- src/pages/Route/Card/RouteSummary.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pages/Route/Card/RouteSummary.vue b/src/pages/Route/Card/RouteSummary.vue index 435385f34..17295905b 100644 --- a/src/pages/Route/Card/RouteSummary.vue +++ b/src/pages/Route/Card/RouteSummary.vue @@ -81,16 +81,16 @@ const ticketColumns = ref([ align: 'left', }, { - name: 'dated', + name: 'delivered', label: t('route.delivered'), - field: (row) => dashIfEmpty(toDate(row?.landed)), + field: (row) => dashIfEmpty(toDate(row?.delivered)), sortable: false, align: 'center', }, { - name: 'prevision', + name: 'forecast', label: t('route.forecast'), - field: (row) => dashIfEmpty(toDate(row?.eta)), + field: (row) => dashIfEmpty(toDate(row?.forecast)), sortable: false, align: 'center', }, From c3f60c68bc25abc0f2533fab76adf0dbfdbcefe7 Mon Sep 17 00:00:00 2001 From: jtubau Date: Wed, 23 Apr 2025 11:44:33 +0200 Subject: [PATCH 03/13] feat: refs #7385 add delivered and estimated info in routeTicket --- src/pages/Route/Card/RouteSummary.vue | 58 ------------------- src/pages/Route/RouteTickets.vue | 81 ++++++++++++--------------- 2 files changed, 37 insertions(+), 102 deletions(-) diff --git a/src/pages/Route/Card/RouteSummary.vue b/src/pages/Route/Card/RouteSummary.vue index 17295905b..6c1f51625 100644 --- a/src/pages/Route/Card/RouteSummary.vue +++ b/src/pages/Route/Card/RouteSummary.vue @@ -281,61 +281,3 @@ const ticketColumns = ref([ - -en: - route: - summary: - date: Date - agency: Agency - vehicle: Vehicle - driver: Driver - cost: Cost - started: Started time - finished: Finished time - kmStart: Km start - kmEnd: Km end - volume: Volume - packages: Packages - description: Description - tickets: Tickets - order: Order - street: Street - city: City - pc: PC - client: Client - state: State - m3: m³ - packaging: Packaging - ticket: Ticket - closed: Closed - open: Open - yes: Yes - no: No -es: - route: - summary: - date: Fecha - agency: Agencia - vehicle: Vehículo - driver: Conductor - cost: Costo - started: Hora inicio - finished: Hora fin - kmStart: Km inicio - kmEnd: Km fin - volume: Volumen - packages: Bultos - description: Descripción - tickets: Tickets - order: Orden - street: Dirección fiscal - city: Población - pc: CP - client: Cliente - state: Estado - packaging: Encajado - closed: Cerrada - open: Abierta - yes: Sí - no: No - diff --git a/src/pages/Route/RouteTickets.vue b/src/pages/Route/RouteTickets.vue index 1b9545905..fe2c61aca 100644 --- a/src/pages/Route/RouteTickets.vue +++ b/src/pages/Route/RouteTickets.vue @@ -24,49 +24,63 @@ const selectedRows = ref([]); const columns = computed(() => [ { name: 'order', - label: t('Order'), + label: t('route.ticket.order'), field: (row) => dashIfEmpty(row?.priority), sortable: false, align: 'center', }, { name: 'client', - label: t('Client'), + label: t('route.ticket.client'), field: (row) => row?.nickname, sortable: false, align: 'left', }, { name: 'street', - label: t('Street'), + label: t('route.ticket.street'), field: (row) => row?.street, sortable: false, align: 'left', }, { name: 'pc', - label: t('PC'), + label: t('route.ticket.PC'), field: (row) => row?.postalCode, sortable: false, align: 'center', }, { name: 'city', - label: t('City'), + label: t('route.ticket.city'), field: (row) => row?.city, sortable: false, align: 'left', }, { name: 'warehouse', - label: t('Warehouse'), + label: t('route.ticket.warehouse'), field: (row) => row?.warehouseName, sortable: false, align: 'left', }, + { + name: 'delivered', + label: t('route.ticket.delivered'), + field: (row) => dashIfEmpty(row?.delivered), + sortable: false, + align: 'left', + }, + { + name: 'estimated', + label: t('route.ticket.estimated'), + field: (row) => dashIfEmpty(row?.estimated), + sortable: false, + align: 'left', + }, { name: 'packages', - label: t('Packages'), + label: t('route.ticket.packages'), field: (row) => row?.packages, sortable: false, align: 'center', @@ -80,14 +94,14 @@ const columns = computed(() => [ }, { name: 'packaging', - label: t('Packaging'), + label: t('route.ticket.packaging'), field: (row) => row?.ipt, sortable: false, align: 'center', }, { name: 'ticket', - label: t('Ticket'), + label: t('route.ticket.ticket'), field: (row) => row?.id, sortable: false, align: 'center', @@ -188,8 +202,8 @@ const confirmRemove = (ticket) => { .dialog({ component: VnConfirm, componentProps: { - title: t('Confirm removal from route'), - message: t('Are you sure you want to remove this ticket from the route?'), + title: t('route.ticket.confirmRemoval'), + message: t('route.ticket.confirmRemovalConfirmation'), promise: () => removeTicket(ticket), }, }) @@ -219,7 +233,7 @@ const openSmsDialog = async () => { quasar.dialog({ component: SendSmsDialog, componentProps: { - title: t('Send SMS to the selected tickets'), + title: t('route.ticket.sendSmsTickets'), url: 'Routes/sendSms', destinationFk: clientsId.toString(), destination: clientsPhone.toString(), @@ -240,18 +254,18 @@ const openSmsDialog = async () => { -

{{ t('Select the starting date') }}

+

{{ t('route.ticket.selectStartingDate') }}

- + {{ t('globals.clone') }} @@ -262,7 +276,7 @@ const openSmsDialog = async () => {
- {{ t('Sort routes') }} + {{ t('route.ticket.sortRoutes') }} { :disable="!selectedRows?.length" @click="goToBuscaman()" > - {{ t('Open buscaman') }} + {{ t('route.ticket.openBuscaman') }} { :disable="!selectedRows?.length" @click="deletePriorities" > - {{ t('Delete priority') }} + {{ t('route.ticket.deletePriority') }} { > {{ - t('Renumber all tickets in the order you see on the screen') + t('route.ticket.renumberAllTickets') }} @@ -301,7 +315,7 @@ const openSmsDialog = async () => { :disable="!selectedRows?.length" @click="openSmsDialog" > - {{ t('Send SMS to all clients') }} + {{ t('route.ticket.sendSmsClients') }}
@@ -339,7 +353,7 @@ const openSmsDialog = async () => { @click="setHighestPriority(row, rows)" > - {{ t('Assign highest priority') }} + {{ t('route.ticket.assignHighestPriority') }} { {{ value }} - {{ t('Open buscaman') }} + {{ t('route.ticket.openBuscaman') }} @@ -411,7 +425,7 @@ const openSmsDialog = async () => { @click="openTicketsDialog" > - {{ t('Add ticket') }} + {{ t('route.ticket.addTicket') }}
@@ -432,24 +446,3 @@ const openSmsDialog = async () => { gap: 12px; } - -es: - Order: Orden - Street: Dirección fiscal - City: Población - PC: CP - Client: Cliente - Warehouse: Almacén - Packages: Bultos - Packaging: Encajado - Confirm removal from route: Quitar de la ruta - Are you sure you want to remove this ticket from the route?: ¿Seguro que quieres quitar este ticket de la ruta? - Sort routes: Ordenar rutas - Open buscaman: Abrir buscaman - Delete priority: Borrar orden - Renumber all tickets in the order you see on the screen: Renumerar todos los tickets con el orden que ves por pantalla - Assign highest priority: Asignar máxima prioridad - Send SMS to all clients: Mandar sms a todos los clientes de las rutas - Send SMS to the selected tickets: Enviar SMS a los tickets seleccionados - Add ticket: Añadir ticket - From f4ecf9ad51fe3550b0aaf3ac5e748563dc9ac71e Mon Sep 17 00:00:00 2001 From: jtubau Date: Wed, 23 Apr 2025 11:44:54 +0200 Subject: [PATCH 04/13] refactor: refs #7385 add detailed summary and ticket fields in English and Spanish locales --- src/pages/Route/locale/en.yml | 51 +++++++++++++++++++++++++++++++++++ src/pages/Route/locale/es.yml | 49 +++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) diff --git a/src/pages/Route/locale/en.yml b/src/pages/Route/locale/en.yml index de7af53e8..b9e31effa 100644 --- a/src/pages/Route/locale/en.yml +++ b/src/pages/Route/locale/en.yml @@ -1,6 +1,33 @@ route: filter: Served: Served + summary: + date: Date + agency: Agency + vehicle: Vehicle + driver: Driver + cost: Cost + started: Started time + finished: Finished time + kmStart: Km start + kmEnd: Km end + volume: Volume + packages: Packages + description: Description + tickets: Tickets + order: Order + street: Street + city: City + pc: PC + client: Client + state: State + m3: m³ + packaging: Packaging + ticket: Ticket + closed: Closed + open: Open + yes: Yes + no: No extendedList: selectStartingDate: Select the starting date startingDate: Starting date @@ -90,3 +117,27 @@ route: viewCmr: View CMR downloadCmrs: Download CMRs search: General search + ticket: + order: Order + street: Street + city: City + PC: PC + client: Client + warehouse: Warehouse + delivered: Delivered + estimated: Estimated + packages: Packages + packaging: Packaging + ticket: Ticket + confirmRemoval: Confirm removal from route + confirmRemovalConfirmation: Are you sure you want to remove this ticket from the route? + selectStartingDate: Select the starting date + startingDate: Starting date + sortRoutes: Sort routes + openBuscaman: Open buscaman + deletePriority: Delete priority + renumberAllTickets: Renumber all tickets in the order you see on the screen + assignHighest: Assign highest priority + sendSmsTickets: Send SMS to the selected tickets + sendSmsClients: Send SMS to all clients + addTicket: Add ticket diff --git a/src/pages/Route/locale/es.yml b/src/pages/Route/locale/es.yml index 857bebc17..a2acf26e5 100644 --- a/src/pages/Route/locale/es.yml +++ b/src/pages/Route/locale/es.yml @@ -1,6 +1,31 @@ route: filter: Served: Servida + summary: + date: Fecha + agency: Agencia + vehicle: Vehículo + driver: Conductor + cost: Costo + started: Hora inicio + finished: Hora fin + kmStart: Km inicio + kmEnd: Km fin + volume: Volumen + packages: Bultos + description: Descripción + tickets: Tickets + order: Orden + street: Dirección fiscal + city: Población + pc: CP + client: Cliente + state: Estado + packaging: Encajado + closed: Cerrada + open: Abierta + yes: Sí + no: No extendedList: selectStartingDate: Seleccione la fecha de inicio statingDate: Fecha de inicio @@ -87,3 +112,27 @@ route: shipped: Fecha preparación viewCmr: Ver CMR downloadCmrs: Descargar CMRs + ticket: + order: Orden + street: Dirección fiscal + city: Población + PC: CP + client: Cliente + warehouse: Almacén + delivered: Entregado + estimated: Pronóstico + packages: Bultos + packaging: Encajado + ticket: Ticket + confirmRemoval: Quitar de la ruta + confirmRemovalConfirmation: ¿Seguro que quieres quitar este ticket de la ruta? + selectStartingDate: Seleccionar fecha de inicio + startingDate: F. Inicio + sortRoutes: Ordenar rutas + openBuscaman: Abrir buscaman + deletePriority: Borrar orden + renumberAllTickets: Renumerar todos los tickets con el orden que ves por pantalla + assignHighest: Asignar máxima prioridad + sendSmsTickets: Enviar SMS a los tickets seleccionados + sendSmsClients: Mandar sms a todos los clientes de las rutas + addTicket: Añadir ticket From 22390d9aefa6d5b15f58e1983537c43953270c13 Mon Sep 17 00:00:00 2001 From: jtubau Date: Mon, 28 Apr 2025 08:01:30 +0200 Subject: [PATCH 05/13] refactor: refs #7385 remove unnecessary apostrophes --- src/pages/Route/locale/en.yml | 4 ++-- src/pages/Route/locale/es.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pages/Route/locale/en.yml b/src/pages/Route/locale/en.yml index 089fd1788..bce0946fd 100644 --- a/src/pages/Route/locale/en.yml +++ b/src/pages/Route/locale/en.yml @@ -111,8 +111,8 @@ route: results: results cmrFk: CMR id hasCmrDms: Attached in gestdoc - 'true': 'Yes' - 'false': 'No' + true: Yes + false: No ticketFk: Ticketd id routeFk: Route id countryFk: Country diff --git a/src/pages/Route/locale/es.yml b/src/pages/Route/locale/es.yml index 60fbfa310..d72a6650e 100644 --- a/src/pages/Route/locale/es.yml +++ b/src/pages/Route/locale/es.yml @@ -108,8 +108,8 @@ route: results: resultados cmrFk: Id CMR hasCmrDms: Gestdoc - 'true': Sí - 'false': 'No' + true: Sí + false: No ticketFk: Id ticket routeFk: Id ruta country: País From 41e4cc13b1958d76af56e680974abd2f1c6e6985 Mon Sep 17 00:00:00 2001 From: benjaminedc Date: Fri, 2 May 2025 12:28:55 +0200 Subject: [PATCH 06/13] feat: refs #7549 implement worker selection handling --- src/pages/Claim/Card/ClaimDevelopment.vue | 27 ++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/pages/Claim/Card/ClaimDevelopment.vue b/src/pages/Claim/Card/ClaimDevelopment.vue index d17c6b4e6..0aa94316e 100644 --- a/src/pages/Claim/Card/ClaimDevelopment.vue +++ b/src/pages/Claim/Card/ClaimDevelopment.vue @@ -7,6 +7,7 @@ import FetchData from 'components/FetchData.vue'; import VnSelect from 'components/common/VnSelect.vue'; import { tMobile } from 'composables/tMobile'; import VnSelectWorker from 'src/components/common/VnSelectWorker.vue'; +import axios from 'axios'; const route = useRoute(); @@ -105,6 +106,14 @@ const columns = computed(() => [ align: 'left', }, ]); + +const handleWorker = async (row) => { + if (row.claimResponsibleFk === 11) { + const claim = await axios.get(`Claims/${route.params.id}`); + row.workerFk = claim.data.workerFk; + } else { + } +};