From b32a889dfe657d3d89aa6cf55f0967f8f5644474 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Fri, 11 Apr 2025 12:30:37 +0200 Subject: [PATCH] feat: updates --- src/components/ui/EntityDescriptor.vue | 3 +- src/i18n/locale/en.yml | 1 + src/i18n/locale/es.yml | 3 +- src/pages/Item/components/ItemProposal.vue | 16 ++++++-- .../Item/components/ItemProposalProxy.vue | 8 +++- .../Ticket/Card/TicketDescriptorProxy.vue | 1 - src/pages/Ticket/Card/TicketSplit.vue | 5 ++- src/pages/Ticket/Card/components/split.js | 6 +-- .../Ticket/Negative/TicketLackDetail.vue | 10 ++--- src/pages/Ticket/Negative/TicketLackTable.vue | 1 - .../Negative/components/ChangeItemDialog.vue | 5 ++- .../components/ChangeQuantityDialog.vue | 8 ++-- .../Negative/components/ChangeStateDialog.vue | 3 +- .../Negative/composables/notifyResults.js | 39 +++++++++++++++++++ src/pages/Ticket/locale/en.yml | 1 + src/pages/Ticket/locale/es.yml | 1 + src/utils/notifyResults.js | 29 -------------- 17 files changed, 83 insertions(+), 57 deletions(-) create mode 100644 src/pages/Ticket/Negative/composables/notifyResults.js delete mode 100644 src/utils/notifyResults.js diff --git a/src/components/ui/EntityDescriptor.vue b/src/components/ui/EntityDescriptor.vue index a5dced551..e5bc8d713 100644 --- a/src/components/ui/EntityDescriptor.vue +++ b/src/components/ui/EntityDescriptor.vue @@ -44,7 +44,8 @@ onBeforeMount(async () => { }); // It enables to load data only once if the module is the same as the dataKey - if (!isSameDataKey.value || !route.params.id) await getData(); + if (!isSameDataKey.value || !route.params.id || $props.id !== route.params.id) + await getData(); watch( () => [$props.url, $props.filter], async () => { diff --git a/src/i18n/locale/en.yml b/src/i18n/locale/en.yml index 7bcf90793..497585f7f 100644 --- a/src/i18n/locale/en.yml +++ b/src/i18n/locale/en.yml @@ -19,6 +19,7 @@ globals: logOut: Log out date: Date dataSaved: Data saved + openDetail: Open detail dataDeleted: Data deleted delete: Delete search: Search diff --git a/src/i18n/locale/es.yml b/src/i18n/locale/es.yml index b2512193d..11fe431de 100644 --- a/src/i18n/locale/es.yml +++ b/src/i18n/locale/es.yml @@ -20,10 +20,11 @@ globals: date: Fecha dataSaved: Datos guardados dataDeleted: Datos eliminados + dataCreated: Datos creados + openDetail: Ver detalle delete: Eliminar search: Buscar changes: Cambios - dataCreated: Datos creados add: Añadir create: Crear edit: Modificar diff --git a/src/pages/Item/components/ItemProposal.vue b/src/pages/Item/components/ItemProposal.vue index d2dbea7b3..22c1d3d8b 100644 --- a/src/pages/Item/components/ItemProposal.vue +++ b/src/pages/Item/components/ItemProposal.vue @@ -6,10 +6,12 @@ import { toCurrency } from 'filters/index'; import VnStockValueDisplay from 'src/components/ui/VnStockValueDisplay.vue'; import VnTable from 'src/components/VnTable/VnTable.vue'; import axios from 'axios'; -import notifyResults from 'src/utils/notifyResults'; +import { displayResults } from 'src/pages/Ticket/Negative/composables/notifyResults'; import FetchData from 'components/FetchData.vue'; +import { useState } from 'src/composables/useState'; const MATCH = 'match'; +const { notifyResults } = displayResults(); const { t } = useI18n(); const $props = defineProps({ @@ -18,14 +20,20 @@ const $props = defineProps({ required: true, default: () => {}, }, + filter: { + type: Object, + required: true, + default: () => {}, + }, replaceAction: { type: Boolean, - required: false, + required: true, default: false, }, + sales: { type: Array, - required: false, + required: true, default: () => [], }, }); @@ -36,6 +44,8 @@ const proposalTableRef = ref(null); const sale = computed(() => $props.sales[0]); const saleFk = computed(() => sale.value.saleFk); const filter = computed(() => ({ + where: $props.filter, + itemFk: $props.itemLack.itemFk, sales: saleFk.value, })); diff --git a/src/pages/Item/components/ItemProposalProxy.vue b/src/pages/Item/components/ItemProposalProxy.vue index 7da0ce398..27edd3670 100644 --- a/src/pages/Item/components/ItemProposalProxy.vue +++ b/src/pages/Item/components/ItemProposalProxy.vue @@ -1,13 +1,17 @@ diff --git a/src/pages/Ticket/Card/components/split.js b/src/pages/Ticket/Card/components/split.js index afa1d5cd6..f366ca177 100644 --- a/src/pages/Ticket/Card/components/split.js +++ b/src/pages/Ticket/Card/components/split.js @@ -1,13 +1,11 @@ import axios from 'axios'; -import notifyResults from 'src/utils/notifyResults'; - export default async function (data, date) { const reducedData = data.reduce((acc, item) => { const existing = acc.find(({ ticketFk }) => ticketFk === item.id); if (existing) { existing.sales.push(item.saleFk); } else { - acc.push({ ticketFk: item.id, sales: [item.saleFk], date }); + acc.push({ ticketFk: item.ticketFk, sales: [item.saleFk], date }); } return acc; }, []); @@ -16,7 +14,5 @@ export default async function (data, date) { const results = await Promise.allSettled(promises); - notifyResults(results, 'ticketFk'); - return results; } diff --git a/src/pages/Ticket/Negative/TicketLackDetail.vue b/src/pages/Ticket/Negative/TicketLackDetail.vue index 94b2586df..a6997d26a 100644 --- a/src/pages/Ticket/Negative/TicketLackDetail.vue +++ b/src/pages/Ticket/Negative/TicketLackDetail.vue @@ -23,7 +23,6 @@ const tableRef = ref(); const changeItemDialogRef = ref(null); const changeStateDialogRef = ref(null); const changeQuantityDialogRef = ref(null); -const showProposalDialog = ref(false); const showChangeQuantityDialog = ref(false); const selectedRows = ref([]); const route = useRoute(); @@ -63,6 +62,7 @@ const showItemProposal = () => { .dialog({ component: ItemProposalProxy, componentProps: { + filter: filter.value, itemLack: tableRef.value.itemLack, replaceAction: true, sales: selectedRows.value, @@ -123,15 +123,11 @@ const showItemProposal = () => { - + {{ t('itemProposal') }} diff --git a/src/pages/Ticket/Negative/TicketLackTable.vue b/src/pages/Ticket/Negative/TicketLackTable.vue index 6ab26f5a3..2afe3af72 100644 --- a/src/pages/Ticket/Negative/TicketLackTable.vue +++ b/src/pages/Ticket/Negative/TicketLackTable.vue @@ -151,7 +151,6 @@ const saveChange = async (field, { row }) => { fetchItemLack.value.fetch(); } catch (err) { console.error('Error saving changes', err); - f; } }; diff --git a/src/pages/Ticket/Negative/components/ChangeItemDialog.vue b/src/pages/Ticket/Negative/components/ChangeItemDialog.vue index e419b85c0..6488fc038 100644 --- a/src/pages/Ticket/Negative/components/ChangeItemDialog.vue +++ b/src/pages/Ticket/Negative/components/ChangeItemDialog.vue @@ -2,7 +2,9 @@ import { ref } from 'vue'; import axios from 'axios'; import VnSelect from 'src/components/common/VnSelect.vue'; -import notifyResults from 'src/utils/notifyResults'; +import { displayResults } from 'src/pages/Ticket/Negative/composables/notifyResults'; + +const { notifyResults } = displayResults(); const emit = defineEmits(['update-item']); const showChangeItemDialog = ref(false); @@ -37,7 +39,6 @@ const updateItem = async () => {