From 4a0ae8aa45ca5ab0f5ad448a7f9bae64bb166623 Mon Sep 17 00:00:00 2001 From: wbuezas Date: Wed, 10 Apr 2024 17:18:57 -0300 Subject: [PATCH 1/9] Item summary --- src/i18n/en/index.js | 41 +++- src/i18n/es/index.js | 35 +++ src/pages/Item/Card/ItemBarcode.vue | 1 + src/pages/Item/Card/ItemBasicData.vue | 1 + src/pages/Item/Card/ItemBotanical.vue | 1 + src/pages/Item/Card/ItemDescriptor.vue | 108 +-------- src/pages/Item/Card/ItemDescriptorImage.vue | 159 ++++++++++++++ src/pages/Item/Card/ItemSummary.vue | 232 +++++++++++++++++++- src/pages/Item/Card/ItemTax.vue | 1 + src/pages/Item/ItemList.vue | 2 +- src/router/modules/item.js | 64 +++++- 11 files changed, 529 insertions(+), 116 deletions(-) create mode 100644 src/pages/Item/Card/ItemBarcode.vue create mode 100644 src/pages/Item/Card/ItemBasicData.vue create mode 100644 src/pages/Item/Card/ItemBotanical.vue create mode 100644 src/pages/Item/Card/ItemDescriptorImage.vue create mode 100644 src/pages/Item/Card/ItemTax.vue diff --git a/src/i18n/en/index.js b/src/i18n/en/index.js index cd61d46ff..c4affad71 100644 --- a/src/i18n/en/index.js +++ b/src/i18n/en/index.js @@ -1213,9 +1213,13 @@ export default { pageTitles: { items: 'Items', list: 'List', - diary: 'Diary', - tags: 'Tags', - create: 'Create', + diary: 'Histórico', + tags: 'Etiquetas', + create: 'Crear', + basicData: 'Datos básicos', + tax: 'IVA', + botanical: 'Botánico', + barcode: 'Código de barras', }, descriptor: { item: 'Item', @@ -1246,6 +1250,37 @@ export default { producer: 'Producer', landed: 'Landed', }, + summary: { + basicData: 'Datos básicos', + otherData: 'Otros datos', + description: 'Descripción', + tax: 'IVA', + tags: 'Etiquetas', + botanical: 'Botánico', + barcode: 'Código de barras', + name: 'Nombre', + completeName: 'Nombre completo', + family: 'Familia', + size: 'Medida', + origin: 'Origen', + stems: 'Tallos', + multiplier: 'Multiplicador', + buyer: 'Comprador', + doPhoto: 'Hacer foto', + intrastatCode: 'Código intrastat', + intrastat: 'Intrastat', + ref: 'Referencia', + relevance: 'Relevancia', + weight: 'Peso (gramos)/tallo', + units: 'Unidades/caja', + expense: 'Gasto', + generic: 'Genérico', + recycledPlastic: 'Plástico reciclado', + nonRecycledPlastic: 'Plástico no reciclado', + minSalesQuantity: 'Cantidad mínima de venta', + genus: 'Genus', + specie: 'Specie', + }, }, components: { topbar: {}, diff --git a/src/i18n/es/index.js b/src/i18n/es/index.js index 08fb809b2..01263f224 100644 --- a/src/i18n/es/index.js +++ b/src/i18n/es/index.js @@ -1215,6 +1215,10 @@ export default { diary: 'Histórico', tags: 'Etiquetas', create: 'Crear', + basicData: 'Datos básicos', + tax: 'IVA', + botanical: 'Botánico', + barcode: 'Código de barras', }, descriptor: { item: 'Artículo', @@ -1245,6 +1249,37 @@ export default { producer: 'Productor', landed: 'F. entrega', }, + summary: { + basicData: 'Datos básicos', + otherData: 'Otros datos', + description: 'Descripción', + tax: 'IVA', + tags: 'Etiquetas', + botanical: 'Botánico', + barcode: 'Código de barras', + name: 'Nombre', + completeName: 'Nombre completo', + family: 'Familia', + size: 'Medida', + origin: 'Origen', + stems: 'Tallos', + multiplier: 'Multiplicador', + buyer: 'Comprador', + doPhoto: 'Hacer foto', + intrastatCode: 'Código intrastat', + intrastat: 'Intrastat', + ref: 'Referencia', + relevance: 'Relevancia', + weight: 'Peso (gramos)/tallo', + units: 'Unidades/caja', + expense: 'Gasto', + generic: 'Genérico', + recycledPlastic: 'Plástico reciclado', + nonRecycledPlastic: 'Plástico no reciclado', + minSalesQuantity: 'Cantidad mínima de venta', + genus: 'Genus', + specie: 'Specie', + }, }, components: { topbar: {}, diff --git a/src/pages/Item/Card/ItemBarcode.vue b/src/pages/Item/Card/ItemBarcode.vue new file mode 100644 index 000000000..e4366a11b --- /dev/null +++ b/src/pages/Item/Card/ItemBarcode.vue @@ -0,0 +1 @@ + diff --git a/src/pages/Item/Card/ItemBasicData.vue b/src/pages/Item/Card/ItemBasicData.vue new file mode 100644 index 000000000..334cf049d --- /dev/null +++ b/src/pages/Item/Card/ItemBasicData.vue @@ -0,0 +1 @@ + diff --git a/src/pages/Item/Card/ItemBotanical.vue b/src/pages/Item/Card/ItemBotanical.vue new file mode 100644 index 000000000..a2a39d9df --- /dev/null +++ b/src/pages/Item/Card/ItemBotanical.vue @@ -0,0 +1 @@ + diff --git a/src/pages/Item/Card/ItemDescriptor.vue b/src/pages/Item/Card/ItemDescriptor.vue index 981de0632..59ac9adf9 100644 --- a/src/pages/Item/Card/ItemDescriptor.vue +++ b/src/pages/Item/Card/ItemDescriptor.vue @@ -9,7 +9,7 @@ import VnLv from 'src/components/ui/VnLv.vue'; import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue'; import VnConfirm from 'components/ui/VnConfirm.vue'; import RegularizeStockForm from 'components/RegularizeStockForm.vue'; -import EditPictureForm from 'components/EditPictureForm.vue'; +import ItemDescriptorImage from 'src/pages/Item/Card/ItemDescriptorImage.vue'; import { useState } from 'src/composables/useState'; import useCardDescription from 'src/composables/useCardDescription'; @@ -50,12 +50,10 @@ const entityId = computed(() => { }); const image = ref(null); const regularizeStockFormDialog = ref(null); -const editPhotoFormDialog = ref(null); const item = ref(null); const available = ref(null); const visible = ref(null); const _warehouseFk = ref(null); -const warehouseText = ref(null); const salixUrl = ref(); const warehouseFk = computed({ get() { @@ -63,14 +61,9 @@ const warehouseFk = computed({ }, set(val) { _warehouseFk.value = val; - if (val) { - updateStock(); - getWarehouseName(val); - } + if (val) updateStock(); }, }); -const showWarehouseIconTooltip = ref(true); -const showEditPhotoForm = ref(false); onMounted(async () => { await getItemAvatar(); @@ -90,26 +83,6 @@ const setData = (entity) => { data.value = useCardDescription(entity.name, entity.id); }; -const getWarehouseName = async (warehouseFk) => { - try { - showWarehouseIconTooltip.value = false; - - const filter = { - where: { id: warehouseFk }, - }; - - const { data } = await axios.get('Warehouses/findOne', { filter }); - - warehouseText.value = t('item.descriptor.warehouseText', { - warehouseName: data.name, - }); - - showWarehouseIconTooltip.value = true; - } catch (err) { - console.error('Error finding warehouse'); - } -}; - const updateStock = async () => { try { available.value = null; @@ -135,10 +108,6 @@ const openRegularizeStockForm = () => { regularizeStockFormDialog.value.show(); }; -const toggleEditPictureForm = () => { - showEditPhotoForm.value = !showEditPhotoForm.value; -}; - const cloneItem = async () => { try { const { data } = await axios.post(`Items/${entityId.value}/clone`); @@ -198,74 +167,11 @@ const openCloneDialog = async () => { - + diff --git a/src/components/common/VnSelectFilter.vue b/src/components/common/VnSelect.vue similarity index 100% rename from src/components/common/VnSelectFilter.vue rename to src/components/common/VnSelect.vue diff --git a/src/components/common/VnSelectDialog.vue b/src/components/common/VnSelectDialog.vue index 95d6a44fe..3726691af 100644 --- a/src/components/common/VnSelectDialog.vue +++ b/src/components/common/VnSelectDialog.vue @@ -1,7 +1,7 @@