From 3bfbed9e545c1c1462c59ef2ac2ed7d40a4f2030 Mon Sep 17 00:00:00 2001 From: carlossa Date: Mon, 10 Jun 2024 13:19:09 +0200 Subject: [PATCH 001/255] refs #7529 create WorkerPIT --- src/pages/Worker/Card/WorkerPit.vue | 112 ++++++++++++++++++++++++++++ src/router/modules/worker.js | 9 +++ 2 files changed, 121 insertions(+) create mode 100644 src/pages/Worker/Card/WorkerPit.vue diff --git a/src/pages/Worker/Card/WorkerPit.vue b/src/pages/Worker/Card/WorkerPit.vue new file mode 100644 index 000000000..6e088ba76 --- /dev/null +++ b/src/pages/Worker/Card/WorkerPit.vue @@ -0,0 +1,112 @@ + + + + + +es: + familySituation: Situación familiar + disabilityGrades: Discapacidad + geographicMobilityDate: Movilidad geografica + childPension: Pensión hijos + spousePension: Pensión cónyuge + isDependend: Ayuda / Movilidad reducida + spouseNif: NIF cónyuge + hasHousingPaymentBefore: Pagos vivienda anterior 2011 + hasHousingPaymentAfter: Pagos vivienda posterior 2011 + hasExtendedWorking: Prolongación actividad laboral + diff --git a/src/router/modules/worker.js b/src/router/modules/worker.js index 927d11802..14b0708ac 100644 --- a/src/router/modules/worker.js +++ b/src/router/modules/worker.js @@ -176,6 +176,15 @@ export default { }, component: () => import('src/pages/Worker/Card/WorkerLocker.vue'), }, + { + name: 'WorkerPit', + path: 'pit', + meta: { + title: 'pit', + icon: 'lock', + }, + component: () => import('src/pages/Worker/Card/WorkerPit.vue'), + }, ], }, ], From 657dbc67615af7372b1dac8d1b93f004933369b9 Mon Sep 17 00:00:00 2001 From: carlossa Date: Thu, 13 Jun 2024 08:24:36 +0200 Subject: [PATCH 002/255] refs #7529 route --- src/router/modules/worker.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/router/modules/worker.js b/src/router/modules/worker.js index 14b0708ac..77b2586fa 100644 --- a/src/router/modules/worker.js +++ b/src/router/modules/worker.js @@ -23,6 +23,7 @@ export default { 'WorkerDms', 'WorkerTimeControl', 'WorkerLocker', + 'WorkerPit', ], }, children: [ From 87bce8fc216a9ed0ff9f0e67e7ca6b0944857b69 Mon Sep 17 00:00:00 2001 From: carlossa Date: Wed, 18 Sep 2024 12:08:38 +0200 Subject: [PATCH 003/255] refs #7529 fix workerPit --- src/i18n/locale/en.yml | 1 + src/i18n/locale/es.yml | 1 + src/pages/Worker/Card/WorkerPit.vue | 28 +++++++++++++++++++++++----- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/i18n/locale/en.yml b/src/i18n/locale/en.yml index e27dc7bd4..499b40537 100644 --- a/src/i18n/locale/en.yml +++ b/src/i18n/locale/en.yml @@ -272,6 +272,7 @@ globals: clientsActionsMonitor: Clients and actions serial: Serial medical: Mutual + pit: IRPF supplier: Supplier created: Created worker: Worker diff --git a/src/i18n/locale/es.yml b/src/i18n/locale/es.yml index ed34c8761..34f45b3ca 100644 --- a/src/i18n/locale/es.yml +++ b/src/i18n/locale/es.yml @@ -275,6 +275,7 @@ globals: clientsActionsMonitor: Clientes y acciones serial: Facturas por serie medical: Mutua + pit: IRPF supplier: Proveedor created: Fecha creación worker: Trabajador diff --git a/src/pages/Worker/Card/WorkerPit.vue b/src/pages/Worker/Card/WorkerPit.vue index 6e088ba76..e01878340 100644 --- a/src/pages/Worker/Card/WorkerPit.vue +++ b/src/pages/Worker/Card/WorkerPit.vue @@ -24,11 +24,7 @@ const toCustomerAddressCreate = () => { @on-fetch="(data) => (disabilityGradesOptions = data)" auto-load /> - + + + + + + + + @@ -109,4 +116,15 @@ es: hasHousingPaymentBefore: Pagos vivienda anterior 2011 hasHousingPaymentAfter: Pagos vivienda posterior 2011 hasExtendedWorking: Prolongación actividad laboral +en: + familySituation: Family Situation + disabilityGrades: Disability Grades + geographicMobilityDate: Geographic Mobility Date + childPension: Child Pension + spousePension: Spouse Pension + isDependend: Dependent Support / Reduced Mobility + spouseNif: Spouse NIF (Tax ID) + hasHousingPaymentBefore: Housing Payments Before 2011 + hasHousingPaymentAfter: Housing Payments After 2011 + hasExtendedWorking: Extended Work Activity From ee2f80e9bba8c9369780d03e21a69161c9f598fd Mon Sep 17 00:00:00 2001 From: carlossa Date: Thu, 19 Sep 2024 10:25:22 +0200 Subject: [PATCH 004/255] refs #7529 crudModel workerPit --- src/pages/Worker/Card/WorkerPit.vue | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/pages/Worker/Card/WorkerPit.vue b/src/pages/Worker/Card/WorkerPit.vue index e01878340..4a6cd12df 100644 --- a/src/pages/Worker/Card/WorkerPit.vue +++ b/src/pages/Worker/Card/WorkerPit.vue @@ -8,6 +8,7 @@ import FormModel from 'src/components/FormModel.vue'; import VnRow from 'components/ui/VnRow.vue'; import VnInput from 'src/components/common/VnInput.vue'; import VnSelect from 'src/components/common/VnSelect.vue'; +import CrudModel from 'components/CrudModel.vue'; const route = useRoute(); const { t } = useI18n(); @@ -91,17 +92,29 @@ const toCustomerAddressCreate = () => { - - + + + From 40f7ccf42b6d6e9ba505c20dec199c8dff5d52cc Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Wed, 2 Oct 2024 14:58:02 +0200 Subject: [PATCH 005/255] perf: refs #7404 #7679 improve create --- src/components/CrudModel.vue | 2 +- src/pages/Item/ItemFixedPrice.vue | 123 ++++++++++++++++++++---------- 2 files changed, 84 insertions(+), 41 deletions(-) diff --git a/src/components/CrudModel.vue b/src/components/CrudModel.vue index 0386e037b..3b95f0b35 100644 --- a/src/components/CrudModel.vue +++ b/src/components/CrudModel.vue @@ -246,7 +246,7 @@ function getChanges() { for (const [i, row] of formData.value.entries()) { if (!row[pk]) { creates.push(row); - } else if (originalData.value) { + } else if (originalData.value[i]) { const data = getDifferences(originalData.value[i], row); if (!isEmpty(data)) { updates.push({ diff --git a/src/pages/Item/ItemFixedPrice.vue b/src/pages/Item/ItemFixedPrice.vue index fddf154a2..2a7c3a522 100644 --- a/src/pages/Item/ItemFixedPrice.vue +++ b/src/pages/Item/ItemFixedPrice.vue @@ -150,6 +150,14 @@ const columns = computed(() => [ icon: 'delete', action: (row) => confirmRemove(row), isPrimary: true, + // show: (row) => !validations({ row }), + // }, + // { + // title: t('save'), + // icon: 'save', + // action: (row) => upsertFixedPrice(row), + // isPrimary: true, + // show: (row) => validations({ row }), }, ], }, @@ -221,13 +229,41 @@ const updateMinPrice = async (value, props) => { }); }; +const validations = ({ row, rowIndex, col }) => { + const isNew = !row.id; + // Si la row no tiene id significa que fue agregada con addRow y no se ha guardado en la base de datos + // Si isNew es falso no se checkea si el valor es igual a la original + if (!isNew) + // if (fixedPricesOriginalData.value[rowIndex][col.field] == row[col.field]) + return false; + + const requiredFields = [ + 'itemFk', + 'started', + 'ended', + 'rate2', + 'rate3', + 'warehouseFk', + ]; + const isValid = requiredFields.every( + (field) => row[field] !== null && row[field] !== undefined + ); + return isValid; +}; const upsertPrice = async (props, resetMinPrice = false) => { try { - const { row } = props; - if (tableRef.value.CrudModelRef.getChanges().updates.length > 0) { - if (resetMinPrice) row.hasMinPrice = 0; - await upsertFixedPrice(row); + const isValid = validations({ ...props }); + if (!isValid) { + // notify(t('globals.fillRequiredFields'), 'negative'); + return; } + const { row } = props; + const changes = tableRef.value.CrudModelRef.getChanges(); + if (changes?.updates?.length > 0) { + if (resetMinPrice) row.hasMinPrice = 0; + } + const data = await upsertFixedPrice(row); + tableRef.value.CrudModelRef.formData[props.rowIndex] = data; } catch (err) { console.error('Error editing price', err); } @@ -264,39 +300,39 @@ function checkLastVisibleRow() { const addRow = (original = null) => { let copy = null; - if (!original) { - const today = Date.vnNew(); - const millisecsInDay = 86400000; - const daysInWeek = 7; - const nextWeek = new Date(today.getTime() + daysInWeek * millisecsInDay); + // if (!original) { + const today = Date.vnNew(); + const millisecsInDay = 86400000; + const daysInWeek = 7; + const nextWeek = new Date(today.getTime() + daysInWeek * millisecsInDay); - copy = { - id: 0, - started: today, - ended: nextWeek, - hasMinPrice: 0, - $index: 0, - }; - } else - copy = { - $index: original.$index - 1, - itemFk: original.itemFk, - name: original.name, - subName: original.subName, - value5: original.value5, - value6: original.value6, - value7: original.value7, - value8: original.value8, - value9: original.value9, - value10: original.value10, - warehouseFk: original.warehouseFk, - rate2: original.rate2, - rate3: original.rate3, - hasMinPrice: original.hasMinPrice, - minPrice: original.minPrice, - started: Date.vnNew(), - ended: Date.vnNew(), - }; + copy = { + id: 0, + started: today, + ended: nextWeek, + hasMinPrice: 0, + $index: 0, + }; + // } else + // copy = { + // $index: original.$index - 1, + // itemFk: original.itemFk, + // name: original.name, + // subName: original.subName, + // value5: original.value5, + // value6: original.value6, + // value7: original.value7, + // value8: original.value8, + // value9: original.value9, + // value10: original.value10, + // warehouseFk: original.warehouseFk, + // rate2: original.rate2, + // rate3: original.rate3, + // hasMinPrice: original.hasMinPrice, + // minPrice: original.minPrice, + // started: Date.vnNew(), + // ended: Date.vnNew(), + // }; return { original, copy }; }; @@ -436,10 +472,6 @@ function handleOnDataSave({ CrudModelRef }) { auto-load :is-editable="true" :right-search="false" - :table="{ - 'row-key': 'id', - selection: 'multiple', - }" :crud-model="{ paginate: false, }" @@ -585,7 +617,18 @@ function handleOnDataSave({ CrudModelRef }) { + Date: Wed, 2 Oct 2024 22:49:26 +0200 Subject: [PATCH 006/255] test: #7679 ItemFixedPrice --- src/pages/Item/ItemFixedPrice.vue | 1 - .../integration/item/ItemFixedPrice.spec.js | 35 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 test/cypress/integration/item/ItemFixedPrice.spec.js diff --git a/src/pages/Item/ItemFixedPrice.vue b/src/pages/Item/ItemFixedPrice.vue index 2a7c3a522..97532bf40 100644 --- a/src/pages/Item/ItemFixedPrice.vue +++ b/src/pages/Item/ItemFixedPrice.vue @@ -476,7 +476,6 @@ function handleOnDataSave({ CrudModelRef }) { paginate: false, }" v-model:selected="rowsSelected" - :row-click="saveOnRowChange" :create-as-dialog="false" :create="{ onDataSaved: handleOnDataSave, diff --git a/test/cypress/integration/item/ItemFixedPrice.spec.js b/test/cypress/integration/item/ItemFixedPrice.spec.js new file mode 100644 index 000000000..343ef13f6 --- /dev/null +++ b/test/cypress/integration/item/ItemFixedPrice.spec.js @@ -0,0 +1,35 @@ +/* ==== Test Created with Cypress Studio ==== */ +describe('Worker Create', () => { + beforeEach(() => { + cy.viewport(1280, 720); + cy.login('developer'); + cy.visit('/#/item/fixed-price', { timeout: 5000 }); + cy.waitForElement('.q-table'); + }); + it('start', function () { + cy.get( + '.q-header > .q-toolbar > :nth-child(1) > .q-btn__content > .q-icon' + ).click(); + cy.get('.q-gutter-x-sm > .q-btn > .q-btn__content > .q-icon').click(); + cy.get('.q-page-sticky > div > .q-btn > .q-btn__content > .q-icon').click(); + cy.selectOption( + '.q-virtual-scroll__content > :nth-child(2) > :nth-child(1)', + '#15' + ); + cy.get('.q-virtual-scroll__content > :nth-child(2) > :nth-child(3)').type('1'); + cy.get('.q-virtual-scroll__content > :nth-child(2) > :nth-child(4)').type('2'); + cy.selectOption( + '.q-virtual-scroll__content > :nth-child(2) > :nth-child(8)', + 'Warehouse One' + ); + cy.get('.q-notification__message').should('have.text', 'Data saved'); + + cy.get( + '.q-virtual-scroll__content > :nth-child(2) > .text-right > .q-btn > .q-btn__content > .q-icon' + ).click(); + cy.get( + '.q-card__actions > .q-btn--unelevated > .q-btn__content > .block' + ).click(); + cy.get('.q-notification__message').should('have.text', 'Data saved'); + }); +}); From 477404f00a6a1f7bc6b0847a93dc74a29fe02db5 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Wed, 2 Oct 2024 22:50:57 +0200 Subject: [PATCH 007/255] test: #7679 ItemFixedPrice --- test/cypress/integration/item/ItemFixedPrice.spec.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/cypress/integration/item/ItemFixedPrice.spec.js b/test/cypress/integration/item/ItemFixedPrice.spec.js index 343ef13f6..21e141a6a 100644 --- a/test/cypress/integration/item/ItemFixedPrice.spec.js +++ b/test/cypress/integration/item/ItemFixedPrice.spec.js @@ -1,12 +1,12 @@ -/* ==== Test Created with Cypress Studio ==== */ -describe('Worker Create', () => { +/// +describe('Handle Items FixedPrice', () => { beforeEach(() => { cy.viewport(1280, 720); cy.login('developer'); cy.visit('/#/item/fixed-price', { timeout: 5000 }); cy.waitForElement('.q-table'); }); - it('start', function () { + it('Create and delete', function () { cy.get( '.q-header > .q-toolbar > :nth-child(1) > .q-btn__content > .q-icon' ).click(); From dc13096bc19e1cf8d269a0734bc89b9d2dd20991 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Wed, 9 Oct 2024 00:50:53 +0200 Subject: [PATCH 008/255] perf: remove comments --- src/pages/Item/ItemFixedPrice.vue | 49 ++----------------------------- 1 file changed, 3 insertions(+), 46 deletions(-) diff --git a/src/pages/Item/ItemFixedPrice.vue b/src/pages/Item/ItemFixedPrice.vue index 97532bf40..0390df2a9 100644 --- a/src/pages/Item/ItemFixedPrice.vue +++ b/src/pages/Item/ItemFixedPrice.vue @@ -150,14 +150,6 @@ const columns = computed(() => [ icon: 'delete', action: (row) => confirmRemove(row), isPrimary: true, - // show: (row) => !validations({ row }), - // }, - // { - // title: t('save'), - // icon: 'save', - // action: (row) => upsertFixedPrice(row), - // isPrimary: true, - // show: (row) => validations({ row }), }, ], }, @@ -219,8 +211,6 @@ const getRowUpdateInputEvents = (props, resetMinPrice, inputType = 'text') => { }; const updateMinPrice = async (value, props) => { - // El checkbox hasMinPrice se encuentra en la misma columna que el input hasMinPrice - // Por lo tanto le mandamos otro objeto con las mismas propiedades pero con el campo 'field' cambiado props.row.hasMinPrice = value; await upsertPrice({ row: props.row, @@ -229,13 +219,9 @@ const updateMinPrice = async (value, props) => { }); }; -const validations = ({ row, rowIndex, col }) => { +const validations = ({ row }) => { const isNew = !row.id; - // Si la row no tiene id significa que fue agregada con addRow y no se ha guardado en la base de datos - // Si isNew es falso no se checkea si el valor es igual a la original - if (!isNew) - // if (fixedPricesOriginalData.value[rowIndex][col.field] == row[col.field]) - return false; + if (!isNew) return false; const requiredFields = [ 'itemFk', @@ -254,7 +240,6 @@ const upsertPrice = async (props, resetMinPrice = false) => { try { const isValid = validations({ ...props }); if (!isValid) { - // notify(t('globals.fillRequiredFields'), 'negative'); return; } const { row } = props; @@ -278,13 +263,6 @@ async function upsertFixedPrice(row) { } } -async function saveOnRowChange(row) { - if (rowsSelected.value.length > 1) return; - if (rowsSelected.value[0]?.id === row.id) return; - else if (rowsSelected.value.length === 1) await upsertPrice(rowsSelected.value[0]); - rowsSelected.value = [row]; -} - function checkLastVisibleRow() { let lastVisibleRow = null; @@ -300,7 +278,6 @@ function checkLastVisibleRow() { const addRow = (original = null) => { let copy = null; - // if (!original) { const today = Date.vnNew(); const millisecsInDay = 86400000; const daysInWeek = 7; @@ -313,26 +290,6 @@ const addRow = (original = null) => { hasMinPrice: 0, $index: 0, }; - // } else - // copy = { - // $index: original.$index - 1, - // itemFk: original.itemFk, - // name: original.name, - // subName: original.subName, - // value5: original.value5, - // value6: original.value6, - // value7: original.value7, - // value8: original.value8, - // value9: original.value9, - // value10: original.value10, - // warehouseFk: original.warehouseFk, - // rate2: original.rate2, - // rate3: original.rate3, - // hasMinPrice: original.hasMinPrice, - // minPrice: original.minPrice, - // started: Date.vnNew(), - // ended: Date.vnNew(), - // }; return { original, copy }; }; @@ -345,7 +302,7 @@ function highlightNewRow({ $index: index }) { row.classList.add('highlight'); setTimeout(() => { row.classList.remove('highlight'); - }, 3000); // Duración de la animación en milisegundos + }, 3000); } } const openEditTableCellDialog = () => { From fb7087d38a09d13eb2706fe39efc24e75501d075 Mon Sep 17 00:00:00 2001 From: jorgep Date: Tue, 15 Oct 2024 10:26:07 +0200 Subject: [PATCH 009/255] fix: refs #7229 download file --- src/composables/downloadFile.js | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/composables/downloadFile.js b/src/composables/downloadFile.js index 12639dcd6..f46697fb1 100644 --- a/src/composables/downloadFile.js +++ b/src/composables/downloadFile.js @@ -1,11 +1,28 @@ import { useSession } from 'src/composables/useSession'; import { getUrl } from './getUrl'; +import axios from 'axios'; +import { exportFile } from 'quasar'; const { getTokenMultimedia } = useSession(); const token = getTokenMultimedia(); export async function downloadFile(id, model = 'dms', urlPath = '/downloadFile', url) { - let appUrl = await getUrl('', 'lilium'); - appUrl = appUrl.replace('/#/', ''); - window.open(url ?? `${appUrl}/api/${model}/${id}${urlPath}?access_token=${token}`); + try { + const appUrl = (await getUrl('', 'lilium')).replace('/#/', ''); + const response = await axios.get( + url ?? `${appUrl}/${model}/${id}${urlPath}?access_token=${token}`, + { responseType: 'blob' } + ); + + const contentDisposition = response.headers['content-disposition']; + const matches = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/.exec(contentDisposition); + const filename = + matches != null && matches[1] + ? matches[1].replace(/['"]/g, '') + : 'downloaded-file'; + + exportFile(filename, response.data); + } catch (error) { + console.error('Error downloading the file', error); + } } From b82453582a9e25f25d65ffe27ee1ae3a2af62de1 Mon Sep 17 00:00:00 2001 From: carlossa Date: Thu, 17 Oct 2024 07:44:31 +0200 Subject: [PATCH 010/255] fix: refs #7304 7304 clean warning --- src/components/ui/VnAvatar.vue | 2 +- src/pages/Customer/Card/CustomerBasicData.vue | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/ui/VnAvatar.vue b/src/components/ui/VnAvatar.vue index 1deb105db..2423f8ba7 100644 --- a/src/components/ui/VnAvatar.vue +++ b/src/components/ui/VnAvatar.vue @@ -6,7 +6,7 @@ import { useColor } from 'src/composables/useColor'; import { getCssVar } from 'quasar'; const $props = defineProps({ - workerId: { type: Number, required: true }, + workerId: { type: Number, default: null }, description: { type: String, default: null }, title: { type: String, default: null }, color: { type: String, default: null }, diff --git a/src/pages/Customer/Card/CustomerBasicData.vue b/src/pages/Customer/Card/CustomerBasicData.vue index d31669b43..3743a4b76 100644 --- a/src/pages/Customer/Card/CustomerBasicData.vue +++ b/src/pages/Customer/Card/CustomerBasicData.vue @@ -155,7 +155,6 @@ const exprBuilder = (param, value) => { url="Clients" :input-debounce="0" :label="t('customer.basicData.previousClient')" - :options="clients" :rules="validate('client.transferorFk')" emit-value map-options From 1aefad58e916b5ed9065c1413883013987de9281 Mon Sep 17 00:00:00 2001 From: carlossa Date: Fri, 18 Oct 2024 14:05:38 +0200 Subject: [PATCH 011/255] fix: refs #7529 fix front --- src/pages/Worker/Card/WorkerPit.vue | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/pages/Worker/Card/WorkerPit.vue b/src/pages/Worker/Card/WorkerPit.vue index 4a6cd12df..ac3e75026 100644 --- a/src/pages/Worker/Card/WorkerPit.vue +++ b/src/pages/Worker/Card/WorkerPit.vue @@ -13,7 +13,7 @@ import CrudModel from 'components/CrudModel.vue'; const route = useRoute(); const { t } = useI18n(); const router = useRouter(); - +const disabilityGradesOptions = ref(); const toCustomerAddressCreate = () => { router.push({ name: 'CustomerAddressCreate' }); }; @@ -21,11 +21,16 @@ const toCustomerAddressCreate = () => { From 18593cc3f9d780b005a0e6ac59e01b9b8a4b985e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Andr=C3=A9s?= Date: Tue, 12 Nov 2024 16:27:40 +0100 Subject: [PATCH 021/255] feat: refs #8087 refs#8087 Redadas en travel --- src/pages/Entry/EntryList.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Entry/EntryList.vue b/src/pages/Entry/EntryList.vue index e9179c239..a9c25af43 100644 --- a/src/pages/Entry/EntryList.vue +++ b/src/pages/Entry/EntryList.vue @@ -221,7 +221,7 @@ onMounted(async () => { t('entry.list.tableVisibleColumns.isExcludedFromAvailable') }} - + {{ t('globals.raid', { daysInForward: row.daysInForward }) From 4572817699a53b23bbba17b001a4f492af877534 Mon Sep 17 00:00:00 2001 From: jorgep Date: Tue, 12 Nov 2024 16:37:59 +0100 Subject: [PATCH 022/255] feat: refs #8087 reactive data --- src/pages/Travel/Card/TravelBasicData.vue | 7 +--- src/pages/Travel/Card/TravelCard.vue | 29 +---------------- src/pages/Travel/Card/TravelDescriptor.vue | 38 +++------------------- src/pages/Travel/Card/TravelFilter.js | 29 +++++++++++++++++ 4 files changed, 35 insertions(+), 68 deletions(-) create mode 100644 src/pages/Travel/Card/TravelFilter.js diff --git a/src/pages/Travel/Card/TravelBasicData.vue b/src/pages/Travel/Card/TravelBasicData.vue index f71bcf72c..8d6b54cc8 100644 --- a/src/pages/Travel/Card/TravelBasicData.vue +++ b/src/pages/Travel/Card/TravelBasicData.vue @@ -21,12 +21,7 @@ const agenciesOptions = ref([]); @on-fetch="(data) => (agenciesOptions = data)" auto-load /> - +