diff --git a/src/pages/Claim/Card/ClaimDevelopment.vue b/src/pages/Claim/Card/ClaimDevelopment.vue index 636c68bc9..10bc3367e 100644 --- a/src/pages/Claim/Card/ClaimDevelopment.vue +++ b/src/pages/Claim/Card/ClaimDevelopment.vue @@ -7,6 +7,8 @@ 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'; +import { useArrayData } from 'composables/useArrayData'; const route = useRoute(); @@ -19,6 +21,7 @@ const claimResponsibles = ref([]); const claimRedeliveries = ref([]); const selected = ref([]); const saveButtonRef = ref(); +const arrayData = useArrayData('Claim'); const developmentsFilter = computed(() => { return { @@ -105,6 +108,32 @@ const columns = computed(() => [ align: 'left', }, ]); + +const handleWorker = async (row) => { + const { claimResponsibleFk } = row; + + if (!claimResponsibleFk) { + row.workerFk = null; + return; + } + + const commercialResponsible = claimResponsibles?.value?.find( + (responsible) => responsible.code === 'com', + ); + + const claim = arrayData.store.data; + + if (claimResponsibleFk === commercialResponsible?.id) { + row.workerFk = claim.workerFk; + return; + } + + const { data } = await axios.get( + `ClaimDevelopments/${claim.ticketFk}/getResponsible/${claimResponsibleFk}`, + ); + + row.workerFk = data?.userFk ?? null; +}; diff --git a/src/pages/Route/Card/RouteSummary.vue b/src/pages/Route/Card/RouteSummary.vue index 7e345d69a..fa1d2e4a6 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: 'delivered', + label: t('route.delivered'), + field: (row) => dashIfEmpty(toDate(row?.delivered)), + sortable: false, + align: 'center', + }, + { + name: 'forecast', + label: t('route.forecast'), + field: (row) => dashIfEmpty(toDate(row?.forecast)), + sortable: false, + align: 'center', + }, { name: 'packages', label: t('route.summary.packages'), @@ -267,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 - diff --git a/src/pages/Route/locale/en.yml b/src/pages/Route/locale/en.yml index 842fbf6d4..94ab3f84c 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 @@ -77,3 +104,47 @@ 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 + params: + results: results + cmrFk: CMR id + hasCmrDms: Attached in gestdoc + true: Yes + false: No + ticketFk: Ticketd id + routeFk: Route id + countryFk: Country + clientFk: Client id + warehouseFk: Warehouse + shipped: Preparation date + 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 064ad4cfa..283ab08f0 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 @@ -78,13 +103,15 @@ route: searchInfo: Puedes buscar por referencia de la ruta dated: Fecha preview: Vista previa + delivered: Entregado + forecast: Pronóstico cmr: list: results: resultados cmrFk: Id CMR hasCmrDms: Gestdoc - 'true': Sí - 'false': 'No' + true: Sí + false: No ticketFk: Id ticket routeFk: Id ruta country: País @@ -93,3 +120,27 @@ route: shipped: F. 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