From a6a27237341f27db158378a45d064b6458d33139 Mon Sep 17 00:00:00 2001 From: alexm Date: Mon, 27 Jan 2025 14:21:09 +0100 Subject: [PATCH 01/44] feat: refs #8463 cardDescriptorBeta --- src/components/common/VnCardBeta.vue | 75 +++-- src/components/ui/CardDescriptorBeta.vue | 262 ++++++++++++++++++ src/pages/Order/Card/OrderCard.vue | 30 ++ src/pages/Order/Card/OrderDescriptor.vue | 45 +-- src/pages/Order/Card/OrderDescriptorProxy.vue | 7 +- src/pages/Order/Card/OrderSummary.vue | 3 +- 6 files changed, 358 insertions(+), 64 deletions(-) create mode 100644 src/components/ui/CardDescriptorBeta.vue diff --git a/src/components/common/VnCardBeta.vue b/src/components/common/VnCardBeta.vue index a1f07ff1730..2579bf623fb 100644 --- a/src/components/common/VnCardBeta.vue +++ b/src/components/common/VnCardBeta.vue @@ -1,5 +1,5 @@ diff --git a/src/components/ui/CardDescriptorBeta.vue b/src/components/ui/CardDescriptorBeta.vue new file mode 100644 index 00000000000..b2bac234d55 --- /dev/null +++ b/src/components/ui/CardDescriptorBeta.vue @@ -0,0 +1,262 @@ + + + + + + + diff --git a/src/pages/Order/Card/OrderCard.vue b/src/pages/Order/Card/OrderCard.vue index 823815f59b9..b371509c62a 100644 --- a/src/pages/Order/Card/OrderCard.vue +++ b/src/pages/Order/Card/OrderCard.vue @@ -1,12 +1,42 @@ diff --git a/src/pages/Order/Card/OrderDescriptor.vue b/src/pages/Order/Card/OrderDescriptor.vue index 0d5f0146f7b..4c2384f9207 100644 --- a/src/pages/Order/Card/OrderDescriptor.vue +++ b/src/pages/Order/Card/OrderDescriptor.vue @@ -6,10 +6,11 @@ import { toCurrency, toDate } from 'src/filters'; import { useState } from 'src/composables/useState'; import useCardDescription from 'src/composables/useCardDescription'; -import CardDescriptor from 'components/ui/CardDescriptor.vue'; import VnLv from 'src/components/ui/VnLv.vue'; import FetchData from 'components/FetchData.vue'; import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue'; +import OrderCard from './OrderCard.vue'; +import CardDescriptorBeta from 'src/components/ui/CardDescriptorBeta.vue'; const DEFAULT_ITEMS = 0; @@ -26,37 +27,13 @@ const state = useState(); const { t } = useI18n(); const data = ref(useCardDescription()); const getTotalRef = ref(); +const total = ref(0); const entityId = computed(() => { return $props.id || route.params.id; }); -const filter = { - include: [ - { relation: 'agencyMode', scope: { fields: ['name'] } }, - { - relation: 'address', - scope: { fields: ['nickname'] }, - }, - { relation: 'rows', scope: { fields: ['id'] } }, - { - relation: 'client', - scope: { - fields: [ - 'salesPersonFk', - 'name', - 'isActive', - 'isFreezed', - 'isTaxDataChecked', - ], - include: { - relation: 'salesPersonUser', - scope: { fields: ['id', 'name'] }, - }, - }, - }, - ], -}; +const orderTotal = computed(() => state.get('orderTotal') ?? 0); const setData = (entity) => { if (!entity) return; @@ -68,9 +45,6 @@ const setData = (entity) => { const getConfirmationValue = (isConfirmed) => { return t(isConfirmed ? 'globals.confirmed' : 'order.summary.notConfirmed'); }; - -const orderTotal = computed(() => state.get('orderTotal') ?? 0); -const total = ref(0); diff --git a/src/pages/Order/Card/OrderDescriptorProxy.vue b/src/pages/Order/Card/OrderDescriptorProxy.vue index 04ebb054a23..7b3d1a8713f 100644 --- a/src/pages/Order/Card/OrderDescriptorProxy.vue +++ b/src/pages/Order/Card/OrderDescriptorProxy.vue @@ -12,6 +12,11 @@ const $props = defineProps({ diff --git a/src/pages/Order/Card/OrderSummary.vue b/src/pages/Order/Card/OrderSummary.vue index a289688e47e..bef97bc0fde 100644 --- a/src/pages/Order/Card/OrderSummary.vue +++ b/src/pages/Order/Card/OrderSummary.vue @@ -13,6 +13,7 @@ import FetchedTags from 'components/ui/FetchedTags.vue'; import VnTitle from 'src/components/common/VnTitle.vue'; import ItemDescriptorProxy from 'src/pages/Item/Card/ItemDescriptorProxy.vue'; import OrderDescriptorMenu from 'pages/Order/Card/OrderDescriptorMenu.vue'; +import OrderDescriptorProxy from './OrderDescriptorProxy.vue'; const { t } = useI18n(); const route = useRoute(); @@ -106,7 +107,7 @@ async function handleConfirm() { From ee3ebc51f1866efd0fc5b7db8facb3250c1bfc29 Mon Sep 17 00:00:00 2001 From: jtubau Date: Tue, 25 Feb 2025 15:27:01 +0100 Subject: [PATCH 02/44] test: refs #8621 add e2e tests for cmrList --- .../integration/route/cmr/cmrList.spec.js | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 test/cypress/integration/route/cmr/cmrList.spec.js diff --git a/test/cypress/integration/route/cmr/cmrList.spec.js b/test/cypress/integration/route/cmr/cmrList.spec.js new file mode 100644 index 00000000000..fc437f21809 --- /dev/null +++ b/test/cypress/integration/route/cmr/cmrList.spec.js @@ -0,0 +1,87 @@ +describe('Cmr list', () => { + const getLinkSelector = (colField) => + `tr:first-child > [data-col-field="${colField}"] > .no-padding > .link`; + + const selectors = { + ticket: getLinkSelector('ticketFk'), + client: getLinkSelector('clientFk'), + lastRowSelectCheckBox: + '.q-virtual-scroll__content > tr:last-child > :nth-child(1) > .q-checkbox', + downloadBtn: '#subToolbar > .q-btn', + viewCmr: 'tableAction-0', + summaryPopupBtn: '.header > :nth-child(2) > .q-btn__content > .q-icon', + summaryPopupHeader: '.summaryHeader > :nth-child(2)', + summaryHeader: '.summaryHeader', + descriptorId: '.q-item > .q-item__label', + descriptorTitle: '.q-item__label--header > .title > span', + summaryGoToSummaryBtn: '.header > .q-icon', + descriptorGoToSummaryBtn: '.descriptor > .header > a[href] > .q-btn', + }; + + const data = { + ticket: '2', + client: 'Bruce Wayne', + }; + + beforeEach(() => { + cy.viewport(1920, 1080); + cy.login('developer'); + cy.visit('/#/route/cmr'); + cy.typeSearchbar('{enter}'); + }); + + it('Should download selected cmr', () => { + const downloadsFolder = Cypress.config('downloadsFolder'); + cy.get(selectors.lastRowSelectCheckBox).click(); + cy.get(selectors.downloadBtn).click(); + cy.wait(3000); + + const fileName = 'cmrs.zip'; + cy.readFile(`${downloadsFolder}/${fileName}`).should('exist'); + }); + + it('Should open selected cmr pdf', () => { + cy.window().then((win) => { + cy.stub(win, 'open').as('windowOpen'); + }); + cy.get(selectors.lastRowSelectCheckBox).click(); + cy.dataCy(selectors.viewCmr).last().click(); + cy.get('@windowOpen').should('be.calledWithMatch', '\/api\/Cmrs\/3'); + }); + + describe('Ticket pop-ups', () => { + it('Should redirect to the ticket summary from the ticket descriptor pop-up', () => { + cy.get(selectors.ticket).click(); + cy.get(selectors.descriptorId).should('contain', data.ticket); + cy.get(selectors.descriptorGoToSummaryBtn).click(); + cy.get(selectors.summaryHeader).should('contain', data.client); + }); + + it('Should redirect to the ticket summary from summary pop-up from the ticket descriptor pop-up', () => { + cy.get(selectors.ticket).click(); + cy.get(selectors.descriptorId).should('contain', data.ticket); + cy.get(selectors.summaryPopupBtn).click(); + cy.get(selectors.summaryPopupHeader).should('contain', data.client); + cy.get(selectors.summaryGoToSummaryBtn).click(); + cy.get(selectors.summaryHeader).should('contain', data.client); + }); + }); + + describe('Client pop-ups', () => { + it('Should redirect to the client summary from the client descriptor pop-up', () => { + cy.get(selectors.client).click(); + cy.get(selectors.descriptorTitle).should('contain', data.client); + cy.get(selectors.descriptorGoToSummaryBtn).click(); + cy.get(selectors.summaryHeader).should('contain', data.client); + }); + + it('Should redirect to the client summary from summary pop-up from the client descriptor pop-up', () => { + cy.get(selectors.client).click(); + cy.get(selectors.descriptorTitle).should('contain', data.client); + cy.get(selectors.summaryPopupBtn).click(); + cy.get(selectors.summaryHeader).should('contain', data.client); + cy.get(selectors.summaryGoToSummaryBtn).click(); + cy.get(selectors.summaryHeader).should('contain', data.client); + }); + }); +}); From 083e68c291d97d83fe9f08e1fe028c9db6fd5dd9 Mon Sep 17 00:00:00 2001 From: jtubau Date: Wed, 26 Feb 2025 09:09:19 +0100 Subject: [PATCH 03/44] test: refs #8621 add functionality to remove filters in cmrList e2e tests --- test/cypress/integration/route/cmr/cmrList.spec.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/cypress/integration/route/cmr/cmrList.spec.js b/test/cypress/integration/route/cmr/cmrList.spec.js index fc437f21809..6bcbfc84205 100644 --- a/test/cypress/integration/route/cmr/cmrList.spec.js +++ b/test/cypress/integration/route/cmr/cmrList.spec.js @@ -16,6 +16,7 @@ describe('Cmr list', () => { descriptorTitle: '.q-item__label--header > .title > span', summaryGoToSummaryBtn: '.header > .q-icon', descriptorGoToSummaryBtn: '.descriptor > .header > a[href] > .q-btn', + removeFilter: '.q-chip__icon--remove', }; const data = { @@ -28,6 +29,7 @@ describe('Cmr list', () => { cy.login('developer'); cy.visit('/#/route/cmr'); cy.typeSearchbar('{enter}'); + cy.get(selectors.removeFilter).click(); }); it('Should download selected cmr', () => { From 15e44174badf8fcd351dfff19747589c579f9b39 Mon Sep 17 00:00:00 2001 From: jtubau Date: Wed, 26 Feb 2025 12:08:40 +0100 Subject: [PATCH 04/44] refactor: refs #8621 update column names in RouteList and add formatting for agency and vehicle fields --- src/pages/Route/RouteList.vue | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pages/Route/RouteList.vue b/src/pages/Route/RouteList.vue index 9dad8ba22b5..899b3b8c356 100644 --- a/src/pages/Route/RouteList.vue +++ b/src/pages/Route/RouteList.vue @@ -56,8 +56,9 @@ const columns = computed(() => [ }, { align: 'left', - name: 'agencyName', + name: 'agencyModeFk', label: t('route.Agency'), + format: (row) => row?.agencyName, cardVisible: true, component: 'select', attrs: { @@ -74,8 +75,9 @@ const columns = computed(() => [ }, { align: 'left', - name: 'vehiclePlateNumber', + name: 'vehicleFk', label: t('route.Vehicle'), + format: (row) => row?.vehiclePlateNumber, cardVisible: true, component: 'select', attrs: { @@ -155,6 +157,7 @@ const columns = computed(() => [ - + \ No newline at end of file From 6a0c58631c4e8d997b93f9f7ebaecdfd7bb53ff5 Mon Sep 17 00:00:00 2001 From: jtubau Date: Wed, 12 Mar 2025 12:34:03 +0100 Subject: [PATCH 05/44] fix: refs #8621 test for date input selector --- src/pages/Route/RouteList.vue | 30 +++++++------------ .../route/routeExtendedList.spec.js | 2 +- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/src/pages/Route/RouteList.vue b/src/pages/Route/RouteList.vue index db52dcf6d98..f8234c7db84 100644 --- a/src/pages/Route/RouteList.vue +++ b/src/pages/Route/RouteList.vue @@ -39,28 +39,24 @@ const columns = computed(() => [ width: '25px', }, { - name: 'workerFk', - label: t('gloabls.worker'), - component: markRaw(VnSelectWorker), - create: true, - format: (row, dashIfEmpty) => dashIfEmpty(row.travelRef), - columnFilter: false, - width: '100px', - }, - { + align: 'left', name: 'workerFk', label: t('globals.worker'), - visible: false, + component: markRaw(VnSelectWorker), + create: true, cardVisible: true, + format: (row, dashIfEmpty) => dashIfEmpty(row.travelRef), + columnFilter: false, }, { - name: 'agencyName', + align: 'left', + name: 'agencyModeFk', label: t('globals.agency'), - visible: false, + format: (row) => row?.agencyName, cardVisible: true, }, { - label: t('globals.Agency'), + label: t('globals.agency'), name: 'agencyModeFk', component: 'select', attrs: { @@ -78,17 +74,13 @@ const columns = computed(() => [ { align: 'left', name: 'vehicleFk', - label: t('route.Vehicle'), + label: t('globals.vehicle'), format: (row) => row?.vehiclePlateNumber, cardVisible: true, }, - { - name: 'vehiclePlateNumber', - label: t('globals.vehicle'), - }, { name: 'vehicleFk', - label: t('globals.Vehicle'), + label: t('globals.vehicle'), cardVisible: true, component: 'select', attrs: { diff --git a/test/cypress/integration/route/routeExtendedList.spec.js b/test/cypress/integration/route/routeExtendedList.spec.js index 237729107de..b46ce3ba257 100644 --- a/test/cypress/integration/route/routeExtendedList.spec.js +++ b/test/cypress/integration/route/routeExtendedList.spec.js @@ -120,7 +120,7 @@ describe('Route extended list', () => { it('Should clone selected route', () => { cy.get(selectors.lastRowSelectCheckBox).click(); cy.get(selectors.cloneBtn).click(); - cy.dataCy('route.Starting date_inputDate').type('10-05-2001'); + cy.dataCy('Starting date_inputDate').type('10-05-2001'); cy.get('.q-card__actions > .q-btn--standard > .q-btn__content').click(); cy.validateContent(selectors.date, '05/10/2001'); }); From 4d8fb8eb5beaa82573170c8d278f4c351fff4d2f Mon Sep 17 00:00:00 2001 From: alexm Date: Thu, 13 Mar 2025 09:01:15 +0100 Subject: [PATCH 06/44] refactor: refs #8463 simplify creating VnDescriptor --- src/components/common/VnCard.vue | 26 +- src/components/ui/CardDescriptorBeta.vue | 256 ++----------------- src/components/ui/VnDescriptor.vue | 298 +++++++++++++++++++++++ src/pages/Order/Card/OrderDescriptor.vue | 9 +- 4 files changed, 333 insertions(+), 256 deletions(-) create mode 100644 src/components/ui/VnDescriptor.vue diff --git a/src/components/common/VnCard.vue b/src/components/common/VnCard.vue index 620dc2ad2cb..dfa51c8c486 100644 --- a/src/components/common/VnCard.vue +++ b/src/components/common/VnCard.vue @@ -1,12 +1,15 @@ diff --git a/src/components/ui/CardDescriptorBeta.vue b/src/components/ui/CardDescriptorBeta.vue index b2bac234d55..86f756a7b08 100644 --- a/src/components/ui/CardDescriptorBeta.vue +++ b/src/components/ui/CardDescriptorBeta.vue @@ -1,262 +1,38 @@ - - - - + " + /> + + + + diff --git a/src/components/ui/VnDescriptor.vue b/src/components/ui/VnDescriptor.vue new file mode 100644 index 00000000000..0aad3544849 --- /dev/null +++ b/src/components/ui/VnDescriptor.vue @@ -0,0 +1,298 @@ + + + + + + + + + en: + globals: + copyId: Copy ID + es: + globals: + copyId: Copiar ID + diff --git a/src/pages/Order/Card/OrderDescriptor.vue b/src/pages/Order/Card/OrderDescriptor.vue index 133d328c044..15e8cf070c2 100644 --- a/src/pages/Order/Card/OrderDescriptor.vue +++ b/src/pages/Order/Card/OrderDescriptor.vue @@ -4,8 +4,6 @@ import { useRoute } from 'vue-router'; import { useI18n } from 'vue-i18n'; import { toCurrency, toDate } from 'src/filters'; import { useState } from 'src/composables/useState'; -import filter from './OrderFilter.js'; -import CardDescriptor from 'components/ui/CardDescriptor.vue'; import VnLv from 'src/components/ui/VnLv.vue'; import FetchData from 'components/FetchData.vue'; import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue'; @@ -57,14 +55,11 @@ const getConfirmationValue = (isConfirmed) => { /> diff --git a/src/pages/Worker/WorkerFilter.vue b/src/pages/Worker/WorkerFilter.vue index 8210ba0e33b..44dfd32b4cb 100644 --- a/src/pages/Worker/WorkerFilter.vue +++ b/src/pages/Worker/WorkerFilter.vue @@ -35,7 +35,7 @@ const getLocale = (label) => { diff --git a/src/pages/Zone/ZoneDeliveryPanel.vue b/src/pages/Zone/ZoneDeliveryPanel.vue index a8cb05afccc..fc5c04b41bb 100644 --- a/src/pages/Zone/ZoneDeliveryPanel.vue +++ b/src/pages/Zone/ZoneDeliveryPanel.vue @@ -95,8 +95,7 @@ watch( :filter-options="['code']" hide-selected dense - outlined - rounded + filled map-key="geoFk" data-cy="ZoneDeliveryDaysPostcodeSelect" > @@ -128,8 +127,7 @@ watch( option-label="name" hide-selected dense - outlined - rounded + filled data-cy="ZoneDeliveryDaysAgencySelect" /> diff --git a/test/cypress/integration/vnComponent/VnLog.spec.js b/test/cypress/integration/vnComponent/VnLog.spec.js index e857457a7d1..ae0013150ce 100644 --- a/test/cypress/integration/vnComponent/VnLog.spec.js +++ b/test/cypress/integration/vnComponent/VnLog.spec.js @@ -25,7 +25,7 @@ describe('VnLog', () => { it('should show claimDescriptor', () => { cy.dataCy('iconLaunch-claimFk').first().click(); - cy.dataCy('cardDescriptor_subtitle').contains('1'); + cy.dataCy('vnDescriptor_subtitle').contains('1'); cy.dataCy('iconLaunch-claimFk').first().click(); }); }); diff --git a/test/cypress/integration/worker/workerPda.spec.js b/test/cypress/integration/worker/workerPda.spec.js index 31ec19eda0e..2623e81cf42 100644 --- a/test/cypress/integration/worker/workerPda.spec.js +++ b/test/cypress/integration/worker/workerPda.spec.js @@ -1,23 +1,80 @@ describe('WorkerPda', () => { - const select = '[data-cy="pda-dialog-select"]'; + const deviceId = 4; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/worker/1110/pda`); }); - it('assign pda', () => { - cy.addBtnClick(); - cy.get(select).click(); - cy.get(select).type('{downArrow}{enter}'); - cy.get('.q-notification__message').should('have.text', 'Data created'); + it('assign and delete pda', () => { + creatNewPDA(); + cy.checkNotification('Data created'); + cy.visit(`/#/worker/1110/pda`); + removeNewPDA(); + cy.checkNotification('PDA deallocated'); }); - it('delete pda', () => { - cy.get('.btn-delete').click(); - cy.get( - '.q-card__actions > .q-btn--unelevated > .q-btn__content > .block' - ).click(); - cy.get('.q-notification__message').should('have.text', 'PDA deallocated'); + it('send and download pdf to docuware', () => { + //Send + cy.intercept('POST', '/api/Docuwares/upload-pda-pdf', (req) => { + req.reply({ + statusCode: 200, + body: {}, + }); + }); + + creatNewPDA(); + + cy.dataCy('workerPda-send').click(); + cy.clickConfirm(); + cy.checkNotification('PDF sended to signed'); + + //Download + cy.intercept('POST', /\/api\/Docuwares\/Jones%20Jessica\/checkFile/, (req) => { + req.reply({ + statusCode: 200, + body: { + id: deviceId, + state: 'Firmado', + }, + }); + }); + cy.get('#st-actions').contains('refresh').click(); + cy.intercept('GET', '/api/Docuwares/download-pda-pdf**', (req) => { + req.reply({ + statusCode: 200, + body: {}, + }); + }); + + cy.dataCy('workerPda-download').click(); + removeNewPDA(); }); + + it('send 2 pdfs to docuware', () => { + cy.intercept('POST', '/api/Docuwares/upload-pda-pdf', (req) => { + req.reply({ + statusCode: 200, + body: {}, + }); + }); + + creatNewPDA(); + creatNewPDA(2); + cy.selectRows([1, 2]); + cy.get('#st-actions').contains('Send').click(); + cy.checkNotification('PDF sended to signed'); + + removeNewPDA(); + }); + + function creatNewPDA(id = deviceId) { + cy.addBtnClick(); + cy.selectOption('[data-cy="pda-dialog-select"]', id); + cy.saveCard(); + } + + function removeNewPDA() { + cy.dataCy('workerPda-remove').first().click(); + cy.clickConfirm(); + } }); diff --git a/test/cypress/support/commands.js b/test/cypress/support/commands.js index de25959b2ca..fe8d38e7999 100755 --- a/test/cypress/support/commands.js +++ b/test/cypress/support/commands.js @@ -371,7 +371,7 @@ Cypress.Commands.add('validateContent', (selector, expectedValue) => { }); Cypress.Commands.add('openActionsDescriptor', () => { - cy.get('[data-cy="cardDescriptor"] [data-cy="descriptor-more-opts"]').click(); + cy.get('[data-cy="vnDescriptor"] [data-cy="descriptor-more-opts"]').click(); }); Cypress.Commands.add('openUserPanel', () => { @@ -466,16 +466,16 @@ Cypress.Commands.add('validateDescriptor', (toCheck = {}) => { const popupSelector = popup ? '[role="menu"] ' : ''; - if (title) cy.get(`${popupSelector}[data-cy="cardDescriptor_title"]`).contains(title); + if (title) cy.get(`${popupSelector}[data-cy="vnDescriptor_title"]`).contains(title); if (description) - cy.get(`${popupSelector}[data-cy="cardDescriptor_description"]`).contains( + cy.get(`${popupSelector}[data-cy="vnDescriptor_description"]`).contains( description, ); if (subtitle) - cy.get(`${popupSelector}[data-cy="cardDescriptor_subtitle"]`).contains(subtitle); + cy.get(`${popupSelector}[data-cy="vnDescriptor_subtitle"]`).contains(subtitle); for (const index in listbox) - cy.get(`${popupSelector}[data-cy="cardDescriptor_listbox"] > *`) + cy.get(`${popupSelector}[data-cy="vnDescriptor_listbox"] > *`) .eq(index) .should('contain.text', listbox[index]); }); From 88c61c8a856b79bd289efaaa022ead0b26f1334c Mon Sep 17 00:00:00 2001 From: alexm Date: Mon, 24 Mar 2025 14:27:18 +0100 Subject: [PATCH 44/44] fix: warmFix quasar build async function --- src/composables/downloadFile.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/composables/downloadFile.js b/src/composables/downloadFile.js index 302836e09e9..0c4e8edb653 100644 --- a/src/composables/downloadFile.js +++ b/src/composables/downloadFile.js @@ -5,18 +5,19 @@ import { exportFile } from 'quasar'; const { getTokenMultimedia } = useSession(); const token = getTokenMultimedia(); -const appUrl = (await getUrl('', 'lilium')).replace('/#/', ''); export async function downloadFile(id, model = 'dms', urlPath = '/downloadFile', url) { + const appUrl = await getAppUrl(); const response = await axios.get( url ?? `${appUrl}/api/${model}/${id}${urlPath}?access_token=${token}`, - { responseType: 'blob' } + { responseType: 'blob' }, ); download(response); } export async function downloadDocuware(url, params) { + const appUrl = await getAppUrl(); const response = await axios.get(`${appUrl}/api/` + url, { responseType: 'blob', params, @@ -32,3 +33,7 @@ function download(response) { exportFile(filename, response.data); } + +async function getAppUrl() { + return (await getUrl('', 'lilium')).replace('/#/', ''); +}