From dd0917a57daa6404570965dfb61ae3b06dd57cbd Mon Sep 17 00:00:00 2001 From: provira Date: Fri, 3 Jan 2025 07:37:47 +0100 Subject: [PATCH 1/5] refactor: refs #8322 changed Wagon component to use VnSection/VnCardBeta --- src/pages/Wagon/Card/WagonCard.vue | 4 +- src/pages/Wagon/WagonList.vue | 161 ++++++++++++++++------------- src/router/modules/wagon.js | 47 ++++++--- 3 files changed, 123 insertions(+), 89 deletions(-) diff --git a/src/pages/Wagon/Card/WagonCard.vue b/src/pages/Wagon/Card/WagonCard.vue index ed6c83778..8dadca85c 100644 --- a/src/pages/Wagon/Card/WagonCard.vue +++ b/src/pages/Wagon/Card/WagonCard.vue @@ -1,6 +1,6 @@ diff --git a/src/pages/Wagon/WagonList.vue b/src/pages/Wagon/WagonList.vue index f306c4c8d..9ee68bcf0 100644 --- a/src/pages/Wagon/WagonList.vue +++ b/src/pages/Wagon/WagonList.vue @@ -8,6 +8,7 @@ import VnTable from 'src/components/VnTable/VnTable.vue'; import { computed, ref } from 'vue'; import VnSelect from 'src/components/common/VnSelect.vue'; import VnInput from 'src/components/common/VnInput.vue'; +import VnSection from 'src/components/common/VnSection.vue'; const quasar = useQuasar(); const arrayData = useArrayData('WagonList'); @@ -15,6 +16,7 @@ const store = arrayData.store; const router = useRouter(); const { t } = useI18n(); const tableRef = ref(); +const dataKey = 'WagonList'; const filter = { include: { relation: 'type', @@ -92,79 +94,90 @@ async function remove(row) { diff --git a/src/router/modules/wagon.js b/src/router/modules/wagon.js index 4a322d305..d0f4b2281 100644 --- a/src/router/modules/wagon.js +++ b/src/router/modules/wagon.js @@ -1,34 +1,55 @@ import { RouterView } from 'vue-router'; +const wagonCard = { + + name: 'WagonCard', + path: ':id', + component: () => import('src/pages/Ticket/Card/WagonCard.vue'), + redirect: { name: 'WagonSummary' }, + meta: { + //main: ['WagonList', 'WagonTypeList', 'WagonCounter', 'WagonTray'], + menu: [], + }, + children: [ + {}, + ], +}; + export default { - path: '/wagon', name: 'Wagon', + path: '/wagon', meta: { title: 'wagons', icon: 'vn:trolley', moduleName: 'Wagon', + keyBinding: 'w', + menu: ['WagonList', 'WagonTypeList', 'WagonCounter', 'WagonTray'], }, component: RouterView, redirect: { name: 'WagonMain' }, - menus: { - main: ['WagonList', 'WagonTypeList', 'WagonCounter', 'WagonTray'], - card: [], - }, children: [ { - path: '/wagon', + path: '', name: 'WagonMain', component: () => import('src/components/common/VnModule.vue'), - redirect: { name: 'WagonList' }, + redirect: { name: 'WagonIndexMain' }, children: [ { - path: 'list', - name: 'WagonList', - meta: { - title: 'list', - icon: 'vn:trolley', - }, + path: '', + name: 'WagonIndexMain', + redirect: { name: 'WagonList' }, component: () => import('src/pages/Wagon/WagonList.vue'), + children: [ + { + name: 'WagonList', + path: 'list', + meta: { + title: 'list', + icon: 'view_list', + }, + }, + + ] }, { path: 'create', From 94918011e6e256ed736c7d66c55377b7bd4daad3 Mon Sep 17 00:00:00 2001 From: alexm Date: Thu, 6 Mar 2025 13:22:02 +0100 Subject: [PATCH 2/5] refactor: refs #8322 update WagonCard component and routing structure --- src/pages/Wagon/Card/WagonCard.vue | 2 +- src/pages/Wagon/WagonList.vue | 192 ++++++++++++++--------------- src/router/modules/wagon.js | 100 ++++++--------- 3 files changed, 136 insertions(+), 158 deletions(-) diff --git a/src/pages/Wagon/Card/WagonCard.vue b/src/pages/Wagon/Card/WagonCard.vue index a8c8f2c88..1694dad7b 100644 --- a/src/pages/Wagon/Card/WagonCard.vue +++ b/src/pages/Wagon/Card/WagonCard.vue @@ -2,5 +2,5 @@ import VnCardBeta from 'src/components/common/VnCardBeta.vue'; diff --git a/src/pages/Wagon/WagonList.vue b/src/pages/Wagon/WagonList.vue index fd603243f..ce8ad5e97 100644 --- a/src/pages/Wagon/WagonList.vue +++ b/src/pages/Wagon/WagonList.vue @@ -77,112 +77,110 @@ function navigate(id) { } async function remove(row) { - try { - await axios.delete(`Wagons/${row.id}`).then(async () => { - quasar.notify({ - message: t('wagon.list.removeItem'), - type: 'positive', - }); - store.data.splice(store.data.indexOf(row), 1); - window.location.reload(); + await axios.delete(`Wagons/${row.id}`).then(async () => { + quasar.notify({ + message: t('wagon.list.removeItem'), + type: 'positive', }); - } catch (error) { - // - } + store.data.splice(store.data.indexOf(row), 1); + window.location.reload(); + }); } - es: Create new wagon: Crear nuevo vagón - \ No newline at end of file + diff --git a/src/router/modules/wagon.js b/src/router/modules/wagon.js index d0f4b2281..9c0dceed4 100644 --- a/src/router/modules/wagon.js +++ b/src/router/modules/wagon.js @@ -1,17 +1,23 @@ import { RouterView } from 'vue-router'; const wagonCard = { - name: 'WagonCard', path: ':id', - component: () => import('src/pages/Ticket/Card/WagonCard.vue'), - redirect: { name: 'WagonSummary' }, + component: () => import('src/pages/Wagon/Card/WagonCard.vue'), + redirect: { name: 'WagonEdit' }, meta: { - //main: ['WagonList', 'WagonTypeList', 'WagonCounter', 'WagonTray'], - menu: [], + menu: ['WagonEdit'], }, children: [ - {}, + { + path: 'edit', + name: 'WagonEdit', + meta: { + title: 'wagonEdit', + icon: 'edit', + }, + component: () => import('src/pages/Wagon/WagonCreate.vue'), + }, ], }; @@ -23,7 +29,7 @@ export default { icon: 'vn:trolley', moduleName: 'Wagon', keyBinding: 'w', - menu: ['WagonList', 'WagonTypeList', 'WagonCounter', 'WagonTray'], + menu: ['WagonList', 'WagonTypeList', 'WagonCounter'], }, component: RouterView, redirect: { name: 'WagonMain' }, @@ -48,26 +54,8 @@ export default { icon: 'view_list', }, }, - - ] - }, - { - path: 'create', - name: 'WagonCreate', - meta: { - title: 'wagonCreate', - icon: 'create', - }, - component: () => import('src/pages/Wagon/WagonCreate.vue'), - }, - { - path: ':id/edit', - name: 'WagonEdit', - meta: { - title: 'wagonEdit', - icon: 'edit', - }, - component: () => import('src/pages/Wagon/WagonCreate.vue'), + wagonCard, + ], }, { path: 'counter', @@ -78,40 +66,32 @@ export default { }, component: () => import('src/pages/Wagon/WagonCounter.vue'), }, - ], - }, - { - path: '/wagon/type', - name: 'WagonTypeMain', - component: () => import('src/components/common/VnModule.vue'), - redirect: { name: 'WagonTypeList' }, - children: [ { - path: 'list', - name: 'WagonTypeList', - meta: { - title: 'typesList', - icon: 'view_list', - }, - component: () => import('src/pages/Wagon/Type/WagonTypeList.vue'), - }, - { - path: 'create', - name: 'WagonTypeCreate', - meta: { - title: 'typeCreate', - icon: 'create', - }, - component: () => import('src/pages/Wagon/Type/WagonTypeList.vue'), - }, - { - path: ':id/edit', - name: 'WagonTypeEdit', - meta: { - title: 'typeEdit', - icon: 'edit', - }, - component: () => import('src/pages/Wagon/Type/WagonTypeEdit.vue'), + path: 'type', + name: 'WagonTypeMain', + redirect: { name: 'WagonTypeList' }, + children: [ + { + path: 'list', + name: 'WagonTypeList', + meta: { + title: 'typesList', + icon: 'view_list', + }, + component: () => + import('src/pages/Wagon/Type/WagonTypeList.vue'), + }, + { + path: ':id/edit', + name: 'WagonTypeEdit', + meta: { + title: 'typeEdit', + icon: 'edit', + }, + component: () => + import('src/pages/Wagon/Type/WagonTypeEdit.vue'), + }, + ], }, ], }, From 8730bb60e932879eedb5ee2b8977f3c17cfa1d0f Mon Sep 17 00:00:00 2001 From: alexm Date: Thu, 6 Mar 2025 13:27:27 +0100 Subject: [PATCH 3/5] test: refs #8322 enable WagonCreate tests and update WagonTypeCreate navigation --- test/cypress/integration/wagon/wagonCreate.spec.js | 4 ++-- .../integration/wagon/wagonType/wagonTypeCreate.spec.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/cypress/integration/wagon/wagonCreate.spec.js b/test/cypress/integration/wagon/wagonCreate.spec.js index 6d185ea69..88855fdf9 100644 --- a/test/cypress/integration/wagon/wagonCreate.spec.js +++ b/test/cypress/integration/wagon/wagonCreate.spec.js @@ -1,4 +1,4 @@ -describe.skip('WagonCreate', () => { +describe('WagonCreate', () => { beforeEach(() => { cy.viewport(1280, 720); cy.login('developer'); @@ -17,7 +17,7 @@ describe.skip('WagonCreate', () => { '.grid-create > [label="Volume"] > .q-field > .q-field__inner > .q-field__control > .q-field__control-container > [data-cy="Volume_input"]', ).type('100'); cy.selectOption('[data-cy="Type_select"]', '1'); - + cy.dataCy('FormModelPopup_save').click(); cy.get('[title="Remove"] > .q-btn__content > .q-icon').first().click(); }); }); diff --git a/test/cypress/integration/wagon/wagonType/wagonTypeCreate.spec.js b/test/cypress/integration/wagon/wagonType/wagonTypeCreate.spec.js index 49d7d9f01..915927a6d 100644 --- a/test/cypress/integration/wagon/wagonType/wagonTypeCreate.spec.js +++ b/test/cypress/integration/wagon/wagonType/wagonTypeCreate.spec.js @@ -2,7 +2,7 @@ describe('WagonTypeCreate', () => { beforeEach(() => { cy.viewport(1920, 1080); cy.login('developer'); - cy.visit('/#/wagon/type/create'); + cy.visit('/#/wagon/type/list'); cy.waitForElement('.q-page', 6000); }); From fa4a02e066d37b78d3ec36ca544a3f4373b93d76 Mon Sep 17 00:00:00 2001 From: alexm Date: Thu, 6 Mar 2025 13:29:53 +0100 Subject: [PATCH 4/5] fix: refs #8322 update order property for WagonList component --- src/pages/Wagon/WagonList.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Wagon/WagonList.vue b/src/pages/Wagon/WagonList.vue index ce8ad5e97..16c5fca63 100644 --- a/src/pages/Wagon/WagonList.vue +++ b/src/pages/Wagon/WagonList.vue @@ -96,6 +96,7 @@ async function remove(row) { :array-data-props="{ url: 'Wagons', exprBuilder, + order: 'id DESC', }" >