salix-front/src/composables/usePrintService.js

40 lines
1021 B
JavaScript

import { useSession } from './useSession';
import axios from 'axios';
import { useQuasar } from 'quasar';
import { useI18n } from 'vue-i18n';
export function usePrintService() {
const quasar = useQuasar();
const { t } = useI18n();
const { getTokenMultimedia } = useSession();
function sendEmail(path, params) {
return axios.post(path, params).then(() =>
quasar.notify({
message: t('globals.notificationSent'),
type: 'positive',
icon: 'check',
})
);
}
function openReport(path, params, isNewTab = '_self') {
if (typeof params === 'string') params = JSON.parse(params);
params = Object.assign(
{
access_token: getTokenMultimedia(),
},
params
);
const query = new URLSearchParams(params).toString();
window.open(`api/${path}?${query}`, isNewTab);
}
return {
sendEmail,
openReport,
};
}