diff --git a/src/i18n/locale/en.yml b/src/i18n/locale/en.yml index 5b667555e..0b77a95ca 100644 --- a/src/i18n/locale/en.yml +++ b/src/i18n/locale/en.yml @@ -530,6 +530,7 @@ ticket: customerCard: Customer card ticketList: Ticket List newOrder: New Order + ticketClaimed: Claimed ticket boxing: expedition: Expedition created: Created diff --git a/src/i18n/locale/es.yml b/src/i18n/locale/es.yml index 3f004485d..ad826c071 100644 --- a/src/i18n/locale/es.yml +++ b/src/i18n/locale/es.yml @@ -537,6 +537,7 @@ ticket: customerCard: Ficha del cliente ticketList: Listado de tickets newOrder: Nuevo pedido + ticketClaimed: Ticket reclamado boxing: expedition: Expedición created: Creado diff --git a/src/pages/Ticket/Card/TicketDescriptor.vue b/src/pages/Ticket/Card/TicketDescriptor.vue index c5f3233b1..ba66c0df4 100644 --- a/src/pages/Ticket/Card/TicketDescriptor.vue +++ b/src/pages/Ticket/Card/TicketDescriptor.vue @@ -11,6 +11,7 @@ import { toDateTimeFormat } from 'src/filters/date'; import filter from './TicketFilter.js'; import FetchData from 'src/components/FetchData.vue'; import TicketProblems from 'src/components/TicketProblems.vue'; +import axios from 'axios'; const $props = defineProps({ id: { @@ -31,23 +32,37 @@ const entityId = computed(() => { return $props.id || route.params.id; }); const problems = ref({}); +const originalTicket = ref(); function ticketFilter(ticket) { return JSON.stringify({ clientFk: ticket.clientFk }); } +async function getClaims() { + const userFilter = { where: { refundTicketFk: entityId.value } }; + const { data } = await axios.get(`TicketRefunds`, { + params: { filter: JSON.stringify(userFilter) }, + }); + if (!data) return; + originalTicket.value = data[0]?.originalTicketFk; +} +async function getProblems() { + const { data } = await axios.get(`Tickets/${entityId.value}/getTicketProblems`); + if (!data) return; + problems.value = data[0]; +} +function getInfo() { + getClaims(); + getProblems(); +} </script> <template> - <FetchData - :url="`Tickets/${entityId}/getTicketProblems`" - auto-load - @on-fetch="(data) => ([problems] = data)" - /> <CardDescriptor :url="`Tickets/${entityId}`" :filter="filter" data-key="Ticket" :summary="$props.summary" + @on-fetch="getInfo" width="lg-width" > <template #menu="{ entity }"> @@ -129,6 +144,15 @@ function ticketFilter(ticket) { > <QTooltip>{{ t('ticket.card.newOrder') }}</QTooltip> </QBtn> + <QBtn + v-if="originalTicket" + size="md" + icon="vn:claims" + color="primary" + :to="{ name: 'TicketCard', params: { id: originalTicket } }" + > + <QTooltip>{{ t('ticket.card.ticketClaimed') }}</QTooltip> + </QBtn> </QCardActions> </template> </CardDescriptor>