From c4de1beabf6b736c3849c618c00d05c2e522fe7e Mon Sep 17 00:00:00 2001 From: jorgep Date: Mon, 12 Aug 2024 13:46:56 +0200 Subject: [PATCH 01/47] feat: refs #6900 add InvoiceInSerial --- src/i18n/locale/en.yml | 1 + src/i18n/locale/es.yml | 1 + .../InvoiceIn/Serial/InvoiceInSerial.vue | 63 +++++++++++++++++++ .../Serial/InvoiceInSerialFilter.vue | 49 +++++++++++++++ src/router/modules/invoiceIn.js | 12 +++- 5 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 src/pages/InvoiceIn/Serial/InvoiceInSerial.vue create mode 100644 src/pages/InvoiceIn/Serial/InvoiceInSerialFilter.vue diff --git a/src/i18n/locale/en.yml b/src/i18n/locale/en.yml index 12680d0cb..6065ddaff 100644 --- a/src/i18n/locale/en.yml +++ b/src/i18n/locale/en.yml @@ -251,6 +251,7 @@ globals: privileges: Privileges ldap: LDAP samba: Samba + serial: Serial created: Created worker: Worker now: Now diff --git a/src/i18n/locale/es.yml b/src/i18n/locale/es.yml index 747a10d51..de3aa8fd1 100644 --- a/src/i18n/locale/es.yml +++ b/src/i18n/locale/es.yml @@ -253,6 +253,7 @@ globals: packages: Bultos ldap: LDAP samba: Samba + serial: Facturas por serie created: Fecha creación worker: Trabajador now: Ahora diff --git a/src/pages/InvoiceIn/Serial/InvoiceInSerial.vue b/src/pages/InvoiceIn/Serial/InvoiceInSerial.vue new file mode 100644 index 000000000..b6bcf7a9b --- /dev/null +++ b/src/pages/InvoiceIn/Serial/InvoiceInSerial.vue @@ -0,0 +1,63 @@ + + + +es: + Serial: Serie + Pending: Pendiente + diff --git a/src/pages/InvoiceIn/Serial/InvoiceInSerialFilter.vue b/src/pages/InvoiceIn/Serial/InvoiceInSerialFilter.vue new file mode 100644 index 000000000..b1cfb4e03 --- /dev/null +++ b/src/pages/InvoiceIn/Serial/InvoiceInSerialFilter.vue @@ -0,0 +1,49 @@ + + + +es: + params: + daysAgo: 'Últimos días' + serial: 'serie' + diff --git a/src/router/modules/invoiceIn.js b/src/router/modules/invoiceIn.js index cd8f7de9c..906db8a58 100644 --- a/src/router/modules/invoiceIn.js +++ b/src/router/modules/invoiceIn.js @@ -11,7 +11,7 @@ export default { component: RouterView, redirect: { name: 'InvoiceInMain' }, menus: { - main: ['InvoiceInList'], + main: ['InvoiceInList', 'InvoiceInSerial'], card: [ 'InvoiceInBasicData', 'InvoiceInVat', @@ -37,6 +37,16 @@ export default { }, component: () => import('src/pages/InvoiceIn/InvoiceInList.vue'), }, + { + path: 'serial', + name: 'InvoiceInSerial', + meta: { + title: 'serial', + icon: 'view_list', + }, + component: () => + import('src/pages/InvoiceIn/Serial/InvoiceInSerial.vue'), + }, { path: 'create', name: 'InvoiceInCreare', From de24a3efdb74d4b41da6701772ba97be39a9e9f2 Mon Sep 17 00:00:00 2001 From: jorgep Date: Mon, 12 Aug 2024 15:34:09 +0200 Subject: [PATCH 02/47] feat: refs #6900 add locale --- src/pages/InvoiceIn/Serial/InvoiceInSerialFilter.vue | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/pages/InvoiceIn/Serial/InvoiceInSerialFilter.vue b/src/pages/InvoiceIn/Serial/InvoiceInSerialFilter.vue index b1cfb4e03..4f8c9d70b 100644 --- a/src/pages/InvoiceIn/Serial/InvoiceInSerialFilter.vue +++ b/src/pages/InvoiceIn/Serial/InvoiceInSerialFilter.vue @@ -42,8 +42,12 @@ const { t } = useI18n(); +en: + params: + daysAgo: Last days + serial: serial es: params: - daysAgo: 'Últimos días' - serial: 'serie' + daysAgo: Últimos días + serial: serie From 6dd9029871f15622aa8a3e519080b85986fc70bc Mon Sep 17 00:00:00 2001 From: jorgep Date: Wed, 14 Aug 2024 14:27:54 +0200 Subject: [PATCH 03/47] fix: refs #6900 improve logic --- .../InvoiceIn/Serial/InvoiceInSerial.vue | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/pages/InvoiceIn/Serial/InvoiceInSerial.vue b/src/pages/InvoiceIn/Serial/InvoiceInSerial.vue index b6bcf7a9b..f5354da18 100644 --- a/src/pages/InvoiceIn/Serial/InvoiceInSerial.vue +++ b/src/pages/InvoiceIn/Serial/InvoiceInSerial.vue @@ -1,11 +1,11 @@ From 3bba5db1b518d6ee02f0a46cad654dd6f4c04b09 Mon Sep 17 00:00:00 2001 From: jorgep Date: Wed, 14 Aug 2024 14:52:47 +0200 Subject: [PATCH 04/47] fix: refs #6900 improve logic --- src/pages/InvoiceIn/Serial/InvoiceInSerial.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/InvoiceIn/Serial/InvoiceInSerial.vue b/src/pages/InvoiceIn/Serial/InvoiceInSerial.vue index f5354da18..4eb9fa69d 100644 --- a/src/pages/InvoiceIn/Serial/InvoiceInSerial.vue +++ b/src/pages/InvoiceIn/Serial/InvoiceInSerial.vue @@ -30,7 +30,7 @@ const cols = computed(() => [ }, ]); -const daysAgo = ref(0); +const daysAgo = ref(); onBeforeMount(async () => { const tableParam = useRoute().query.table; @@ -51,7 +51,7 @@ onBeforeMount(async () => { Date: Wed, 14 Aug 2024 15:27:36 +0200 Subject: [PATCH 05/47] fix: refs #6900 improve loading --- src/components/ui/VnFilterPanel.vue | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/components/ui/VnFilterPanel.vue b/src/components/ui/VnFilterPanel.vue index 4fd511631..ab4e2e0da 100644 --- a/src/components/ui/VnFilterPanel.vue +++ b/src/components/ui/VnFilterPanel.vue @@ -117,14 +117,17 @@ async function search(evt) { isLoading.value = true; const filter = { ...userParams.value, ...$props.modelValue }; store.userParamsChanged = true; - const { params: newParams } = await arrayData.addFilter({ - params: filter, - }); - userParams.value = newParams; + try { + const { params: newParams } = await arrayData.addFilter({ + params: filter, + }); + userParams.value = newParams; - if (!$props.showAll && !Object.values(filter).length) store.data = []; + if (!$props.showAll && !Object.values(filter).length) store.data = []; + } finally { + isLoading.value = false; + } - isLoading.value = false; emit('search'); } From 83a8f7e1473bda689cbda9c01b65c0234dd3b55d Mon Sep 17 00:00:00 2001 From: alexm Date: Fri, 16 Aug 2024 09:20:53 +0200 Subject: [PATCH 06/47] fix(invoiceOutGlobal): formData is object --- src/pages/InvoiceOut/InvoiceOutGlobalForm.vue | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue b/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue index 23c63ee6a..be55c58fc 100644 --- a/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue +++ b/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue @@ -48,7 +48,7 @@ const getStatus = computed({ onMounted(async () => { await invoiceOutGlobalStore.init(); - formData.value = formInitialData.value.invoiceDate; + formData.value = { invoiceDate: formInitialData.value.invoiceDate }; }); @@ -88,9 +88,6 @@ onMounted(async () => { :label="t('client')" v-model="formData.clientId" :options="clientsOptions" - option-value="id" - option-label="name" - hide-selected dense outlined rounded @@ -109,9 +106,7 @@ onMounted(async () => { :label="t('company')" v-model="formData.companyFk" :options="companiesOptions" - option-value="id" option-label="code" - hide-selected dense outlined rounded @@ -120,9 +115,6 @@ onMounted(async () => { :label="t('printer')" v-model="formData.printer" :options="printersOptions" - option-value="id" - option-label="name" - hide-selected dense outlined rounded From 06c0f491281df78a661a71a0a9bb21c4e25411b1 Mon Sep 17 00:00:00 2001 From: jgallego Date: Fri, 16 Aug 2024 10:10:40 +0200 Subject: [PATCH 07/47] feat: refs #7346 add seriaType option --- src/pages/InvoiceOut/InvoiceOutGlobalForm.vue | 38 ++++++++++++++++--- src/pages/InvoiceOut/InvoiceOutList.vue | 4 +- src/stores/invoiceOutGlobal.js | 11 +++++- 3 files changed, 45 insertions(+), 8 deletions(-) diff --git a/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue b/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue index 23c63ee6a..5fc519061 100644 --- a/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue +++ b/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue @@ -20,20 +20,18 @@ const { initialDataLoading, formInitialData, invoicing, status } = const { makeInvoice, setStatusValue } = invoiceOutGlobalStore; const clientsToInvoice = ref('all'); - const companiesOptions = ref([]); - const printersOptions = ref([]); - const clientsOptions = ref([]); - +const serialTypesOptions = ref([]); const formData = ref({}); const optionsInitialData = computed(() => { return ( companiesOptions.value.length > 0 && printersOptions.value.length > 0 && - clientsOptions.value.length > 0 + clientsOptions.value.length > 0 && + serialTypesOptions.value.length > 0 ); }); @@ -60,7 +58,22 @@ onMounted(async () => { /> - + { outlined rounded /> + diff --git a/src/pages/InvoiceOut/InvoiceOutList.vue b/src/pages/InvoiceOut/InvoiceOutList.vue index 822f6bb33..b08e12b3e 100644 --- a/src/pages/InvoiceOut/InvoiceOutList.vue +++ b/src/pages/InvoiceOut/InvoiceOutList.vue @@ -198,7 +198,7 @@ watchEffect(selectedRows); :url="`${MODEL}/filter`" :create="{ urlCreate: 'InvoiceOuts/createManualInvoice', - title: t('Create Manual Invoice'), + title: t('Create manual invoice'), onDataSaved: ({ id }) => tableRef.redirect(id), formInitialData: { active: true, @@ -275,10 +275,12 @@ en: fileAllowed: Successful download of CSV file youCanSearchByInvoiceReference: You can search by invoice reference createInvoice: Make invoice + Create manual invoice: Create manual invoice es: searchInvoice: Buscar factura emitida fileDenied: El navegador denegó la descarga de archivos... fileAllowed: Descarga exitosa de archivo CSV youCanSearchByInvoiceReference: Puedes buscar por referencia de la factura createInvoice: Crear factura + Create manual invoice: Crear factura manual diff --git a/src/stores/invoiceOutGlobal.js b/src/stores/invoiceOutGlobal.js index bb9a3d376..ca123d0b3 100644 --- a/src/stores/invoiceOutGlobal.js +++ b/src/stores/invoiceOutGlobal.js @@ -19,6 +19,7 @@ export const useInvoiceOutGlobalStore = defineStore({ maxShipped: null, clientId: null, printer: null, + invoiceType: null, }, addresses: [], minInvoicingDate: null, @@ -100,6 +101,7 @@ export const useInvoiceOutGlobalStore = defineStore({ maxShipped: new Date(formData.maxShipped), clientId: formData.clientId ? formData.clientId : null, companyFk: formData.companyFk, + invoiceType: formData.invoiceType, }; this.validateMakeInvoceParams(params, clientsToInvoice); @@ -152,7 +154,13 @@ export const useInvoiceOutGlobalStore = defineStore({ ); throw new Error('Invoice date in the future'); } - + if (!params.invoiceType) { + notify( + 'invoiceOut.globalInvoices.errors.chooseValidinvoiceType', + 'negative' + ); + throw new Error('Invalid Serial Type'); + } if (!params.companyFk) { notify('invoiceOut.globalInvoices.errors.chooseValidCompany', 'negative'); throw new Error('Invalid company'); @@ -180,6 +188,7 @@ export const useInvoiceOutGlobalStore = defineStore({ invoiceDate: new Date(formData.invoiceDate), maxShipped: new Date(formData.maxShipped), companyFk: formData.companyFk, + invoiceType: formData.invoiceType, }; this.status = 'invoicing'; From b35bf85f4a241d5287ed90c5f07f4d83ea34ea76 Mon Sep 17 00:00:00 2001 From: alexm Date: Fri, 16 Aug 2024 10:50:45 +0200 Subject: [PATCH 08/47] fix(claim_summary): url links --- src/pages/Claim/Card/ClaimSummary.vue | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/pages/Claim/Card/ClaimSummary.vue b/src/pages/Claim/Card/ClaimSummary.vue index 4d817c3c2..9538e753f 100644 --- a/src/pages/Claim/Card/ClaimSummary.vue +++ b/src/pages/Claim/Card/ClaimSummary.vue @@ -36,8 +36,6 @@ const $props = defineProps({ const entityId = computed(() => $props.id || route.params.id); const ClaimStates = ref([]); -const claimUrl = ref(); -const salixUrl = ref(); const claimDmsRef = ref(); const claimDms = ref([]); const multimediaDialog = ref(); @@ -152,11 +150,6 @@ const developmentColumns = ref([ }, ]); -onMounted(async () => { - salixUrl.value = await getUrl(''); - claimUrl.value = salixUrl.value + `claim/${entityId.value}/`; -}); - async function getClaimDms() { claimDmsFilter.value.where = { claimFk: entityId.value }; await claimDmsRef.value.fetch(); @@ -177,10 +170,15 @@ function openDialog(dmsId) { multimediaSlide.value = dmsId; multimediaDialog.value = true; } + async function changeState(value) { await axios.patch(`Claims/updateClaim/${entityId.value}`, { claimStateFk: value }); router.go(route.fullPath); } + +function claimUrl(section) { + return '#/claim/' + entityId.value + '/' + section; +}