diff --git a/src/pages/Account/AccountExprBuilder.js b/src/pages/Account/AccountExprBuilder.js new file mode 100644 index 000000000..6497a9d30 --- /dev/null +++ b/src/pages/Account/AccountExprBuilder.js @@ -0,0 +1,18 @@ +export default (param, value) => { + switch (param) { + case 'search': + return /^\d+$/.test(value) + ? { id: value } + : { + or: [ + { name: { like: `%${value}%` } }, + { nickname: { like: `%${value}%` } }, + ], + }; + case 'name': + case 'nickname': + return { [param]: { like: `%${value}%` } }; + case 'roleFk': + return { [param]: value }; + } +}; diff --git a/src/pages/Account/AccountList.vue b/src/pages/Account/AccountList.vue index 9e7f1b10a..0195da0cd 100644 --- a/src/pages/Account/AccountList.vue +++ b/src/pages/Account/AccountList.vue @@ -7,6 +7,8 @@ import AccountSummary from './Card/AccountSummary.vue'; import { useSummaryDialog } from 'src/composables/useSummaryDialog'; import AccountFilter from './AccountFilter.vue'; import RightMenu from 'src/components/common/RightMenu.vue'; +import exprBuilder from './AccountExprBuilder.js'; + const { t } = useI18n(); const { viewSummary } = useSummaryDialog(); const tableRef = ref(); @@ -82,24 +84,6 @@ const columns = computed(() => [ ], }, ]); -const exprBuilder = (param, value) => { - switch (param) { - case 'search': - return /^\d+$/.test(value) - ? { id: value } - : { - or: [ - { name: { like: `%${value}%` } }, - { nickname: { like: `%${value}%` } }, - ], - }; - case 'name': - case 'nickname': - return { [param]: { like: `%${value}%` } }; - case 'roleFk': - return { [param]: value }; - } -};