diff --git a/src/components/FilterItemForm.vue b/src/components/FilterItemForm.vue index e031999e2..7af9adf93 100644 --- a/src/components/FilterItemForm.vue +++ b/src/components/FilterItemForm.vue @@ -1,7 +1,6 @@ @@ -68,6 +73,8 @@ defineExpose({ :class="{ required: $attrs.required }" @keyup.enter="onEnterPress()" :clearable="false" + :rules="[inputRules]" + :lazy-rules="true" > @@ -85,3 +92,9 @@ defineExpose({ + + en: + inputMin: Must be more than {value} + es: + inputMin: Debe ser mayor a {value} + diff --git a/src/i18n/locale/en.yml b/src/i18n/locale/en.yml index 0e27eeade..344735743 100644 --- a/src/i18n/locale/en.yml +++ b/src/i18n/locale/en.yml @@ -1137,6 +1137,7 @@ item: tax: Tax log: Log botanical: Botanical + shelving: Shelving itemTypeCreate: New item type family: Item Type lastEntries: Last entries diff --git a/src/i18n/locale/es.yml b/src/i18n/locale/es.yml index bc246a6cb..2e29f08b9 100644 --- a/src/i18n/locale/es.yml +++ b/src/i18n/locale/es.yml @@ -1136,6 +1136,7 @@ item: botanical: 'Botánico' barcode: 'Código de barras' log: Historial + shelving: Carros itemTypeCreate: Nueva familia family: Familia lastEntries: Últimas entradas diff --git a/src/pages/Entry/Card/EntryBuysImport.vue b/src/pages/Entry/Card/EntryBuysImport.vue index 705f56b68..6d856f068 100644 --- a/src/pages/Entry/Card/EntryBuysImport.vue +++ b/src/pages/Entry/Card/EntryBuysImport.vue @@ -251,6 +251,7 @@ const redirectToBuysView = () => { > diff --git a/src/pages/Item/Card/CreateIntrastatForm.vue b/src/pages/Item/Card/CreateIntrastatForm.vue new file mode 100644 index 000000000..3fd1ffe22 --- /dev/null +++ b/src/pages/Item/Card/CreateIntrastatForm.vue @@ -0,0 +1,52 @@ + + + + + + + + + + + + diff --git a/src/pages/Item/Card/ItemBasicData.vue b/src/pages/Item/Card/ItemBasicData.vue index 334cf049d..7e8fa1d92 100644 --- a/src/pages/Item/Card/ItemBasicData.vue +++ b/src/pages/Item/Card/ItemBasicData.vue @@ -1 +1,233 @@ -Item basic data + + + (itemTypesOptions = data)" + auto-load + /> + (itemsWithNameOptions = data)" + auto-load + /> + (intrastatsOptions = data)" + auto-load + /> + (expensesOptions = data)" + auto-load + /> + + + + + + + + {{ scope.opt?.name }} + + {{ scope.opt?.category?.name }} + + + + + + + + + + + + + + + + + + + {{ scope.opt?.name }} + #{{ scope.opt?.id }} + + + + + + + + + + onIntrastatCreated(requestResponse, data) + " + /> + + + + + {{ scope.opt?.description }} + #{{ scope.opt?.id }} + + + + + + + + + + + + + + + + + + + + + + {{ t('basicData.isFragileTooltip') }} + + + + + + + + {{ t('basicData.isPhotoRequestedTooltip') }} + + + + + + + + + + diff --git a/src/pages/Item/Card/ItemShelving.vue b/src/pages/Item/Card/ItemShelving.vue new file mode 100644 index 000000000..7e7faab36 --- /dev/null +++ b/src/pages/Item/Card/ItemShelving.vue @@ -0,0 +1,279 @@ + + + + (parkingsOptions = data)" + /> + (shelvingsOptions = data)" + /> + + + + + + {{ t('shelvings.total') }} + + + + + {{ t('shelvings.totalLabels') }} + + : {{ totalLabels }} + + + + + + + {{ t('shelvings.removeLines') }} + + + + + + + + + + + + + + + + + + {{ row.longName }} + + + + + + diff --git a/src/pages/Item/locale/en.yml b/src/pages/Item/locale/en.yml index 9acd1de4d..2c0131b4f 100644 --- a/src/pages/Item/locale/en.yml +++ b/src/pages/Item/locale/en.yml @@ -1,3 +1,17 @@ +shelvings: + created: Created + item: Item + concept: Concept + parking: Parking + shelving: Shelving + label: Label + packing: Packing + total: Total + totalLabels: Total labels + removeLines: Remove selected lines + shelvingsRemoved: ItemShelvings removed + removeConfirmTitle: Selected lines will be deleted + removeConfirmSubtitle: Are you sure you want to continue? itemDiary: date: Date id: Id @@ -11,6 +25,30 @@ itemDiary: showBefore: Show what's before the inventory since: Since warehouse: Warehouse +basicData: + type: Type + reference: Reference + relevancy: Relevancy + stems: Stems + multiplier: Multiplier + generic: Generic + intrastat: Intrastat + expense: Expense + weightByPiece: Weight/Piece + boxUnits: Units/Box + recycledPlastic: Recycled plastic + nonRecycledPlastic: Non recycled plastic + description: Description + isActive: Active + hasKgPrice: Price in kg + isFragile: Fragile + isFragileTooltip: Is shown at website, app that this item cannot travel (wreath, palms, ...) + isPhotoRequested: Do photo + isPhotoRequestedTooltip: This item does need a photo +createIntrastatForm: + title: New intrastat + identifier: Identifier + description: Description tax: country: Country class: Class diff --git a/src/pages/Item/locale/es.yml b/src/pages/Item/locale/es.yml index 46e0d9eb7..a09a63249 100644 --- a/src/pages/Item/locale/es.yml +++ b/src/pages/Item/locale/es.yml @@ -1,3 +1,17 @@ +shelvings: + created: Creado + item: Artículo + concept: Concepto + parking: Parking + shelving: Matrícula + label: Etiqueta + packing: Packing + total: Total + totalLabels: Total etiquetas + removeLines: Eliminar líneas seleccionadas + shelvingsRemoved: Carros eliminados + removeConfirmTitle: Las líneas seleccionadas serán eliminadas + removeConfirmSubtitle: ¿Seguro que quieres continuar? itemDiary: date: Fecha id: Id @@ -11,6 +25,30 @@ itemDiary: showBefore: Mostrar lo anterior al inventario since: Desde warehouse: Almacén +basicData: + type: Tipo + reference: Referencia + relevancy: Relevancia + stems: Tallos + multiplier: Multiplicador + generic: Genérico + intrastat: Intrastat + expense: Gasto + weightByPiece: Peso (gramos)/tallo + boxUnits: Unidades/caja + recycledPlastic: Plástico reciclado + nonRecycledPlastic: Plástico no reciclado + description: Descripción + isActive: Activo + hasKgPrice: Precio en kg + isFragile: Frágil + isFragileTooltip: Se muestra en la web app, que este artículo no puede viajar (coronas, palmas, ...) + isPhotoRequested: Hacer foto + isPhotoRequestedTooltip: Este artículo necesita una foto +createIntrastatForm: + title: Nuevo intrastat + identifier: Identificador + description: Descripción tax: country: País class: Clase diff --git a/src/router/modules/item.js b/src/router/modules/item.js index f0c68f0e7..24919db39 100644 --- a/src/router/modules/item.js +++ b/src/router/modules/item.js @@ -26,6 +26,7 @@ export default { 'ItemTax', 'ItemBotanical', 'ItemBarcode', + 'ItemShelving', 'ItemLastEntries', ], }, @@ -163,6 +164,15 @@ export default { }, component: () => import('src/pages/Item/Card/ItemBotanical.vue'), }, + { + path: 'shelving', + name: 'ItemShelving', + meta: { + title: 'shelving', + icon: 'vn:inventory', + }, + component: () => import('src/pages/Item/Card/ItemShelving.vue'), + }, { path: 'barcode', name: 'ItemBarcode', @@ -190,6 +200,15 @@ export default { }, component: () => import('src/pages/Item/Card/ItemLog.vue'), }, + { + path: 'botanical', + name: 'ItemBotanical', + meta: { + title: 'botanical', + icon: 'vn:botanical', + }, + component: () => import('src/pages/Item/Card/ItemBotanical.vue'), + }, ], }, ],