diff --git a/src/pages/Item/ItemList.vue b/src/pages/Item/ItemList.vue index abf847c4b..378c5e588 100644 --- a/src/pages/Item/ItemList.vue +++ b/src/pages/Item/ItemList.vue @@ -332,8 +332,8 @@ onBeforeMount(async () => { :columns="columns" prefix="item" :array-data-props="{ - url: 'Items', - order: ['isActive DESC', 'name', 'id'] + url: 'Items/filter', + order: ['isActive DESC', 'name', 'id'], }" > @@ -347,15 +347,14 @@ onBeforeMount(async () => { :columns="columns" :right-search="false" redirect="Item" - url="Items/filter" :create="{ urlCreate: 'Items/new', title: t('item.list.newItem'), onDataSaved: ({ id }) => tableRef.redirect(`${id}/basic-data`), formInitialData: { editorFk: entityId, - tag: defaultTag, - priority: defaultPriority, + tag: defaultTag, + priority: defaultPriority, }, }" :is-editable="false" @@ -397,96 +396,100 @@ onBeforeMount(async () => { - - - - - - - {{ scope.opt?.name }} - #{{ scope.opt?.id }} - - + + + + + + + {{ scope.opt?.name }} + + #{{ scope.opt?.id }} + + + + + + + + + + + {{ scope.opt?.name }} + + {{ scope.opt?.code }} #{{ scope.opt?.id }} + + + + + + + + + + {{ scope.opt?.description }} + + #{{ scope.opt?.id }} + + + + + + + + + + {{ scope.opt?.name }} + + {{ scope.opt?.code }} #{{ scope.opt?.id }} + + + + + - - - - - - - {{ scope.opt?.name }} - - {{ scope.opt?.code }} #{{ scope.opt?.id }} - - - - - - - - - - {{ scope.opt?.description }} - #{{ scope.opt?.id }} - - - - - - - - - {{ scope.opt?.name }} - - {{ scope.opt?.code }} #{{ scope.opt?.id }} - - - - - - diff --git a/src/pages/Item/ItemType/ItemTypeFilter.vue b/src/pages/Item/ItemType/ItemTypeFilter.vue deleted file mode 100644 index f6fb73098..000000000 --- a/src/pages/Item/ItemType/ItemTypeFilter.vue +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - {{ t(`params.${tag.label}`) }}: - {{ formatFn(tag.value) }} - - - - - - - - - - - - - - - - - - -en: - params: - name: Name - code: Code -es: - params: - name: Nombre - code: Código - Name: Nombre - Code: Código - diff --git a/src/pages/Item/ItemTypeList.vue b/src/pages/Item/ItemTypeList.vue index 4be5d295c..8986220cf 100644 --- a/src/pages/Item/ItemTypeList.vue +++ b/src/pages/Item/ItemTypeList.vue @@ -3,7 +3,6 @@ import { useI18n } from 'vue-i18n'; import { ref, computed } from 'vue'; import VnTable from 'components/VnTable/VnTable.vue'; import FetchData from 'components/FetchData.vue'; -import ItemTypeFilter from './ItemType/ItemTypeFilter.vue'; import WorkerDescriptorProxy from '../Worker/Card/WorkerDescriptorProxy.vue'; import VnSection from 'src/components/common/VnSection.vue'; @@ -11,7 +10,41 @@ const { t } = useI18n(); const tableRef = ref(); const itemCategoriesOptions = ref([]); const temperatureOptions = ref([]); -const dataKey='ItemTypeList'; +const dataKey = 'ItemTypeList'; + +const exprBuilder = (param, value) => { + switch (param) { + case 'name': + return { + name: { like: `%${value}%` }, + }; + case 'code': + return { + code: { like: `%${value}%` }, + }; + case 'search': + if (value) { + if (!isNaN(value)) { + return { id: value }; + } else { + return { + or: [ + { + name: { + like: `%${value}%`, + }, + }, + { + code: { + like: `%${value}%`, + }, + }, + ], + }; + } + } + } +}; const columns = computed(() => [ { @@ -103,18 +136,16 @@ const columns = computed(() => [ @on-fetch="(data) => (temperatureOptions = data)" auto-load /> - - - - [ }" :columns="columns" auto-load - :right-search="false" redirect="item/item-type" > diff --git a/src/router/modules/index.js b/src/router/modules/index.js index a22d5399c..f70c633e5 100644 --- a/src/router/modules/index.js +++ b/src/router/modules/index.js @@ -15,7 +15,6 @@ import Entry from './entry'; import roadmap from './roadmap'; import Parking from './parking'; import Agency from './agency'; -import ItemType from './itemType'; import Zone from './zone'; import Account from './account'; import Monitor from './monitor'; @@ -38,7 +37,6 @@ export default [ roadmap, Parking, Agency, - ItemType, Zone, Account, Monitor, diff --git a/src/router/modules/item.js b/src/router/modules/item.js index f69ebc198..125be4d5d 100644 --- a/src/router/modules/item.js +++ b/src/router/modules/item.js @@ -16,7 +16,7 @@ const itemCard = { 'ItemBarcode', 'ItemShelving', 'ItemLastEntries', - ] + ], }, children: [ { @@ -112,6 +112,45 @@ const itemCard = { ], }; +const itemTypeCard = { + name: 'ItemTypeCard', + path: ':id', + component: () => import('src/pages/Item/ItemType/Card/ItemTypeCard.vue'), + redirect: { name: 'ItemTypeSummary' }, + meta: { + menu: ['ItemTypeBasicData', 'ItemTypeLog'], + }, + children: [ + { + path: 'summary', + name: 'ItemTypeSummary', + meta: { + title: 'summary', + icon: 'launch', + }, + component: () => import('src/pages/Item/ItemType/Card/ItemTypeSummary.vue'), + }, + { + path: 'basic-data', + name: 'ItemTypeBasicData', + meta: { + title: 'basicData', + icon: 'vn:settings', + }, + component: () => import('src/pages/Item/ItemType/Card/ItemTypeBasicData.vue'), + }, + { + path: 'log', + name: 'ItemTypeLog', + meta: { + title: 'log', + icon: 'vn:History', + }, + component: () => import('src/pages/Item/ItemType/Card/ItemTypeLog.vue'), + }, + ], +}; + export default { name: 'Item', path: '/item', @@ -125,25 +164,25 @@ export default { 'WasteBreakdown', 'ItemFixedPrice', 'ItemRequest', - 'ItemTypeList' + 'ItemTypeList', ], }, component: RouterView, redirect: { name: 'ItemMain' }, children: [ { - name: 'ItemMain', + name: 'ItemMain', path: '', component: () => import('src/components/common/VnModule.vue'), redirect: { name: 'ItemIndexMain' }, children: [ { - path:'', + path: '', name: 'ItemIndexMain', redirect: { name: 'ItemList' }, component: () => import('src/pages/Item/ItemList.vue'), children: [ - { + { name: 'ItemList', path: 'list', meta: { @@ -151,7 +190,7 @@ export default { icon: 'view_list', }, }, - itemCard, + itemCard, ], }, { @@ -186,22 +225,21 @@ export default { component: () => import('src/pages/Item/ItemFixedPrice.vue'), }, { - path: 'create', - name: 'ItemCreate', - meta: { - title: 'itemCreate', - }, - component: () => import('src/pages/Item/ItemCreate.vue'), - }, - - { - path: 'item-type-list', - name: 'ItemTypeList', - meta: { - title: 'family', - icon: 'contact_support', - }, + path: 'item-type', + name: 'ItemTypeMain', + redirect: { name: 'ItemTypeList' }, component: () => import('src/pages/Item/ItemTypeList.vue'), + children: [ + { + name: 'ItemTypeList', + path: 'list', + meta: { + title: 'family', + icon: 'contact_support', + }, + }, + itemTypeCard, + ], }, ], }, diff --git a/src/router/modules/itemType.js b/src/router/modules/itemType.js deleted file mode 100644 index 02b4f6ca5..000000000 --- a/src/router/modules/itemType.js +++ /dev/null @@ -1,65 +0,0 @@ -import { RouterView } from 'vue-router'; - -const itemTypeCard = { - name: 'ItemTypeCard', - path: ':id', - component: () => import('src/pages/Item/ItemType/Card/ItemTypeCard.vue'), - redirect: { name: 'ItemTypeSummary' }, - meta: { - menu: [ - 'ItemTypeBasicData', - 'ItemTypeLog', - ] - }, - children: [ - { - path: 'summary', - name: 'ItemTypeSummary', - meta: { - title: 'summary', - icon: 'launch', - }, - component: () => import('src/pages/Item/ItemType/Card/ItemTypeSummary.vue'), - }, - { - path: 'basic-data', - name: 'ItemTypeBasicData', - meta: { - title: 'basicData', - icon: 'vn:settings', - }, - component: () => import('src/pages/Item/ItemType/Card/ItemTypeBasicData.vue'), - }, - { - path: 'log', - name: 'ItemTypeLog', - meta: { - title: 'log', - icon: 'vn:History', - }, - component: () => import('src/pages/Item/ItemType/Card/ItemTypeLog.vue'), - }, - ], -}; - -export default { - name: 'ItemType', - path: '/item/item-type', - meta: { - title: 'itemType', - icon: 'contact_support', - moduleName: 'ItemType', - menu: [], - }, - component: RouterView, - redirect: { name: 'ItemTypeMain' }, - children: [ - { - name: 'ItemTypeMain', - path: '', - component: () => import('src/components/common/VnModule.vue'), - redirect: { name: 'ItemTypeIndexMain' }, - children: [itemTypeCard], - }, - ], -}; \ No newline at end of file diff --git a/src/router/routes.js b/src/router/routes.js index d84ba7e46..4e5c58c6f 100644 --- a/src/router/routes.js +++ b/src/router/routes.js @@ -9,7 +9,6 @@ import invoiceIn from './modules/invoiceIn'; import wagon from './modules/wagon'; import supplier from './modules/supplier'; import travel from './modules/travel'; -import ItemType from './modules/itemType'; import shelving from 'src/router/modules/shelving'; import order from 'src/router/modules/order'; import entry from 'src/router/modules/entry'; @@ -88,7 +87,6 @@ const routes = [ entry, parking, agency, - ItemType, zone, account, {