diff --git a/src/composables/usePrintService.js b/src/composables/usePrintService.js index e96e26e2..05077083 100644 --- a/src/composables/usePrintService.js +++ b/src/composables/usePrintService.js @@ -5,8 +5,7 @@ import { useQuasar } from 'quasar'; export function usePrintService() { const quasar = useQuasar(); - const userStore = useUserStore(); - const token = userStore.token; + const { getTokenMultimedia } = useUserStore(); function sendEmail(path, params) { return axios.post(path, params).then(() => @@ -18,17 +17,17 @@ export function usePrintService() { ); } - function openReport(path, params) { + function openReport(path, params, isNewTab = '_self') { + if (typeof params === 'string') params = JSON.parse(params); params = Object.assign( { - access_token: token + access_token: getTokenMultimedia() }, params ); const query = new URLSearchParams(params).toString(); - - window.open(`api/${path}?${query}`); + window.open(`api/${path}?${query}`, isNewTab); } return { diff --git a/src/pages/Ecomerce/TicketView.vue b/src/pages/Ecomerce/TicketView.vue index a164514a..b04dad63 100644 --- a/src/pages/Ecomerce/TicketView.vue +++ b/src/pages/Ecomerce/TicketView.vue @@ -5,17 +5,16 @@ import { useI18n } from 'vue-i18n'; import TicketDetails from 'src/pages/Ecomerce/TicketDetails.vue'; -import { useUserStore } from 'stores/user'; import { useAppStore } from 'stores/app'; import { storeToRefs } from 'pinia'; +import { usePrintService } from 'src/composables/usePrintService'; const { t } = useI18n(); const jApi = inject('jApi'); const route = useRoute(); -const userStore = useUserStore(); const appStore = useAppStore(); const { isHeaderMounted } = storeToRefs(appStore); -const { user, token } = storeToRefs(userStore); +const { openReport } = usePrintService(); const ticket = ref({}); const rows = ref([]); @@ -38,16 +37,8 @@ onMounted(async () => { ); }); -const onPrintClick = () => { - const params = new URLSearchParams({ - access_token: token.value, - recipientId: user.value.id, - type: 'deliveryNote' - }); - window.open( - `/api/Tickets/${ticket.value.id}/delivery-note-pdf?${params.toString()}` - ); -}; +const onPrintClick = () => + openReport(`Tickets/${ticket.value.id}/delivery-note-pdf`, {}, '_blank');