diff --git a/src/components/common/TableVisibleColumns.vue b/src/components/common/TableVisibleColumns.vue index 7aa696a07..a4e4afafe 100644 --- a/src/components/common/TableVisibleColumns.vue +++ b/src/components/common/TableVisibleColumns.vue @@ -52,7 +52,7 @@ const toggleMarkAll = (val) => { const getConfig = async (url, filter) => { const response = await axios.get(url, { - params: { filter: filter }, + params: { filter: JSON.stringify(filter) }, }); return response.data && response.data.length > 0 ? response.data[0] : null; }; @@ -60,7 +60,7 @@ const getConfig = async (url, filter) => { const fetchViewConfigData = async () => { try { const userConfigFilter = { - where: { tableCode: $props.tableCode, userFk: user.id }, + where: { tableCode: $props.tableCode, userFk: user.value.id }, }; const userConfig = await getConfig('UserConfigViews', userConfigFilter); @@ -74,8 +74,14 @@ const fetchViewConfigData = async () => { const defaultConfig = await getConfig('DefaultViewConfigs', defaultConfigFilter); if (defaultConfig) { + // Si el backend devuelve una configuración por defecto la usamos setUserConfigViewData(defaultConfig.columns); return; + } else { + // Si no hay configuración por defecto mostramos todas las columnas + const defaultColumns = {}; + $props.allColumns.forEach((col) => (defaultColumns[col] = true)); + setUserConfigViewData(defaultColumns); } } catch (err) { console.err('Error fetching config view data', err); diff --git a/src/i18n/locale/en.yml b/src/i18n/locale/en.yml index 75b07801a..aed1568bd 100644 --- a/src/i18n/locale/en.yml +++ b/src/i18n/locale/en.yml @@ -550,6 +550,7 @@ ticket: observation: Notes ticketAdvance: Advance tickets futureTickets: Future tickets + expedition: Expedition purchaseRequest: Purchase request weeklyTickets: Weekly tickets services: Service diff --git a/src/i18n/locale/es.yml b/src/i18n/locale/es.yml index 452e387c9..684da21b9 100644 --- a/src/i18n/locale/es.yml +++ b/src/i18n/locale/es.yml @@ -548,6 +548,7 @@ ticket: observation: Notas ticketAdvance: Adelantar tickets futureTickets: Tickets a futuro + expedition: Expedición purchaseRequest: Petición de compra weeklyTickets: Tickets programados services: Servicios diff --git a/src/pages/Ticket/Card/ExpeditionNewTicket.vue b/src/pages/Ticket/Card/ExpeditionNewTicket.vue new file mode 100644 index 000000000..da775a368 --- /dev/null +++ b/src/pages/Ticket/Card/ExpeditionNewTicket.vue @@ -0,0 +1,78 @@ + + + diff --git a/src/pages/Ticket/Card/TicketExpedition.vue b/src/pages/Ticket/Card/TicketExpedition.vue new file mode 100644 index 000000000..bddfa2bfd --- /dev/null +++ b/src/pages/Ticket/Card/TicketExpedition.vue @@ -0,0 +1,474 @@ + + + diff --git a/src/pages/Ticket/Card/TicketSale.vue b/src/pages/Ticket/Card/TicketSale.vue index 32408bf67..84f598d3c 100644 --- a/src/pages/Ticket/Card/TicketSale.vue +++ b/src/pages/Ticket/Card/TicketSale.vue @@ -774,6 +774,5 @@ es: Continue anyway?: ¿Continuar de todas formas? You are going to delete lines of the ticket: Vas a eliminar lineas del ticket Add item: Añadir artículo - Select lines to see the options: Selecciona líneas para ver las opciones Transfer lines: Transferir líneas diff --git a/src/pages/Ticket/locale/en.yml b/src/pages/Ticket/locale/en.yml index 39aed4af7..6788b4b44 100644 --- a/src/pages/Ticket/locale/en.yml +++ b/src/pages/Ticket/locale/en.yml @@ -93,6 +93,25 @@ futureTickets: moveTicketSuccess: Tickets moved successfully! searchInfo: Search future tickets by date futureTicket: Future tickets +expedition: + id: Expedition + item: Item + name: Name + packageType: Package type + counter: Counter + externalId: externalId + created: Created + state: State + historyAction: Status log + newTicketWithRoute: New ticket with route + newTicketWithoutRoute: New ticket without route + landed: Landed + routeId: Route id + deleteExpedition: Delete expedition + expeditionRemoved: Expedition removed + removeExpeditionSubtitle: Are you sure you want to delete this expedition? + worker: Worker + move: Move basicData: next: Next back: Back diff --git a/src/pages/Ticket/locale/es.yml b/src/pages/Ticket/locale/es.yml index d5b50efc5..a7006beea 100644 --- a/src/pages/Ticket/locale/es.yml +++ b/src/pages/Ticket/locale/es.yml @@ -164,5 +164,25 @@ ticketSale: shipped: F. Envío agency: Agencia address: Consignatario +expedition: + id: Expedición + item: Artículo + name: Nombre + packageType: Package type + counter: Contador + externalId: externalId + created: Fecha creación + state: Estado + historyAction: Historial de estados + newTicketWithRoute: Nuevo ticket con ruta + newTicketWithoutRoute: Nuevo ticket sin ruta + landed: F. entrega + routeId: Id ruta + deleteExpedition: Eliminar expedición + expeditionRemoved: Expedición eliminada + removeExpeditionSubtitle: ¿Está seguro de eliminar esta expedición? + worker: Trabajador + move: Mover Search ticket: Buscar tickets You can search by ticket id or alias: Puedes buscar por id o alias del ticket +Select lines to see the options: Selecciona líneas para ver las opciones diff --git a/src/router/modules/ticket.js b/src/router/modules/ticket.js index 1e635470b..7966ffa9a 100644 --- a/src/router/modules/ticket.js +++ b/src/router/modules/ticket.js @@ -14,15 +14,16 @@ export default { main: ['TicketList', 'TicketAdvance', 'TicketWeekly', 'TicketFuture'], card: [ 'TicketBasicData', - 'TicketBoxing', - 'TicketSms', + 'TicketPurchaseRequest', 'TicketSale', 'TicketLog', - 'TicketPurchaseRequest', + 'TicketExpedition', 'TicketService', - 'TicketTracking', 'TicketVolume', 'TicketNotes', + 'TicketTracking', + 'TicketBoxing', + 'TicketSms', ], }, children: [ @@ -70,8 +71,8 @@ export default { component: () => import('src/pages/Ticket/TicketFuture.vue'), }, { - path: 'advance', name: 'TicketAdvance', + path: 'advance', meta: { title: 'ticketAdvance', icon: 'keyboard_double_arrow_left', @@ -142,12 +143,48 @@ export default { }, component: () => import('src/pages/Ticket/Card/TicketLog.vue'), }, + { + path: 'observation', + name: 'TicketNotes', + meta: { + title: 'notes', + icon: 'vn:notes', + }, + component: () => import('src/pages/Ticket/Card/TicketNotes.vue'), + }, + { + path: 'volume', + name: 'TicketVolume', + meta: { + title: 'volume', + icon: 'vn:volume', + }, + component: () => import('src/pages/Ticket/Card/TicketVolume.vue'), + }, + { + path: 'expedition', + name: 'TicketExpedition', + meta: { + title: 'expedition', + icon: 'vn:package', + }, + component: () => import('src/pages/Ticket/Card/TicketExpedition.vue'), + }, + { + path: 'service', + name: 'TicketService', + meta: { + title: 'services', + icon: 'vn:services', + }, + component: () => import('src/pages/Ticket/Card/TicketService.vue'), + }, { path: 'boxing', name: 'TicketBoxing', meta: { title: 'boxing', - icon: 'vn:package', + icon: 'science', }, component: () => import('src/pages/Ticket/Card/TicketBoxing.vue'), }, @@ -160,34 +197,6 @@ export default { }, component: () => import('src/pages/Ticket/Card/TicketSms.vue'), }, - - { - path: 'service', - name: 'TicketService', - meta: { - title: 'services', - icon: 'vn:services', - }, - component: () => import('src/pages/Ticket/Card/TicketService.vue'), - }, - { - path: 'volume', - name: 'TicketVolume', - meta: { - title: 'volume', - icon: 'vn:volume', - }, - component: () => import('src/pages/Ticket/Card/TicketVolume.vue'), - }, - { - path: 'observation', - name: 'TicketNotes', - meta: { - title: 'notes', - icon: 'vn:notes', - }, - component: () => import('src/pages/Ticket/Card/TicketNotes.vue'), - }, ], }, ],