From 4c7a35f1422b1cc6ccbcec173b38549460707286 Mon Sep 17 00:00:00 2001 From: alexm Date: Wed, 15 Jan 2025 10:38:16 +0100 Subject: [PATCH] refactor: refs #8316 unify router item and itemType --- src/pages/Item/ItemList.vue | 191 +++++++++++---------- src/pages/Item/ItemType/ItemTypeFilter.vue | 90 ---------- src/pages/Item/ItemTypeList.vue | 44 ++++- src/router/modules/index.js | 2 - src/router/modules/item.js | 80 ++++++--- src/router/modules/itemType.js | 65 ------- src/router/routes.js | 2 - 7 files changed, 193 insertions(+), 281 deletions(-) delete mode 100644 src/pages/Item/ItemType/ItemTypeFilter.vue delete mode 100644 src/router/modules/itemType.js diff --git a/src/pages/Item/ItemList.vue b/src/pages/Item/ItemList.vue index abf847c4b6..378c5e5880 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'], }" > - diff --git a/src/pages/Item/ItemType/ItemTypeFilter.vue b/src/pages/Item/ItemType/ItemTypeFilter.vue deleted file mode 100644 index f6fb730982..0000000000 --- a/src/pages/Item/ItemType/ItemTypeFilter.vue +++ /dev/null @@ -1,90 +0,0 @@ - - - - - -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 4be5d295cf..8986220cf4 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 /> - -