From 5c1f24af6a4738c7cd3202c9f7ec59b412f4c119 Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 11 Dec 2024 11:39:27 +0800 Subject: [PATCH] perf: update template --- .../Apps/AccountListTable/AccountList.vue | 8 +- .../ListTable/TableAction/QuickFilter.vue | 4 +- src/filters/datetime.js | 9 ++ src/layout/components/TabPage/index.vue | 7 +- src/router/console/accounts.js | 104 ++++++++--------- .../AccountTemplate/AccountTemplateList.vue | 94 ++------------- .../AccountTemplate/AccountTemplateTable.vue | 100 ++++++++++++++++ src/views/pam/Account/AccountTemplate.vue | 108 +----------------- src/views/pam/Account/index.vue | 2 +- src/views/pam/RiskDetect/AccountRiskList.vue | 45 +++----- 10 files changed, 201 insertions(+), 280 deletions(-) create mode 100644 src/views/accounts/AccountTemplate/AccountTemplateTable.vue diff --git a/src/components/Apps/AccountListTable/AccountList.vue b/src/components/Apps/AccountListTable/AccountList.vue index 560fc07a2..59b673e46 100644 --- a/src/components/Apps/AccountListTable/AccountList.vue +++ b/src/components/Apps/AccountListTable/AccountList.vue @@ -21,8 +21,8 @@ {{ option.label }} - ({{ getCount(option) }}) + + (-) + diff --git a/src/filters/datetime.js b/src/filters/datetime.js index 3e656bbb5..548dd0951 100644 --- a/src/filters/datetime.js +++ b/src/filters/datetime.js @@ -5,3 +5,12 @@ Vue.filter('date', function(value) { return toSafeLocalDateStr(value) }) +Vue.filter('async', async(asyncFn, args) => { + if (typeof asyncFn === 'function') { + return await asyncFn(args) + } else if (typeof asyncFn === 'object' && asyncFn.then) { + return await asyncFn + } else { + return asyncFn + } +}) diff --git a/src/layout/components/TabPage/index.vue b/src/layout/components/TabPage/index.vue index e0721a6b3..b119c2a7f 100644 --- a/src/layout/components/TabPage/index.vue +++ b/src/layout/components/TabPage/index.vue @@ -16,11 +16,10 @@ - + {{ toSentenceCase(item.title) }} import Page from '../Page/' +import Icon from '@/components/Widgets/Icon' import { toSentenceCase } from '@/utils/common' export default { name: 'TabPage', components: { - Page + Page, + Icon }, props: { submenu: { diff --git a/src/router/console/accounts.js b/src/router/console/accounts.js index 68b6b4fe2..844ef9c1a 100644 --- a/src/router/console/accounts.js +++ b/src/router/console/accounts.js @@ -67,57 +67,57 @@ export default [ } } ] + }, + { + path: 'account-template', + component: empty, + redirect: { + name: 'AccountTemplateList' + }, + meta: { + title: i18n.t('AccountTemplate'), + app: 'accounts', + icon: 'template', + permissions: ['accounts.view_accounttemplate'] + }, + children: [ + { + path: '', + name: 'AccountTemplateList', + component: () => import('@/views/accounts/AccountTemplate/AccountTemplateList'), + meta: { + menuTitle: i18n.t('MenuAccountTemplates'), + title: i18n.t('AccountTemplateList'), + permissions: ['accounts.view_accounttemplate'] + } + }, + { + path: 'create', + component: () => import('@/views/accounts/AccountTemplate/AccountTemplateCreateUpdate.vue'), + name: 'AccountTemplateCreate', + meta: { + title: i18n.t('CreateAccountTemplate'), + action: 'create' + }, + hidden: true + }, + { + path: ':id/update', + component: () => import('@/views/accounts/AccountTemplate/AccountTemplateCreateUpdate.vue'), + name: 'AccountTemplateUpdate', + meta: { + title: i18n.t('UpdateAccountTemplate'), + action: 'update' + }, + hidden: true + } + // { + // path: ':id', + // component: () => import('@/views/accounts/AccountTemplate/AccountTemplateDetail/Application.vue'), + // name: 'AccountTemplateDetail', + // meta: { title: i18n.t('AccountTemplate') }, + // hidden: true + // } + ] } - // { - // path: 'account-template', - // component: empty, - // redirect: { - // name: 'AccountTemplateList' - // }, - // meta: { - // title: i18n.t('AccountTemplate'), - // app: 'accounts', - // icon: 'template', - // permissions: ['accounts.view_accounttemplate'] - // }, - // children: [ - // { - // path: '', - // name: 'AccountTemplateList', - // component: () => import('@/views/accounts/AccountTemplate/AccountTemplateList'), - // meta: { - // menuTitle: i18n.t('MenuAccountTemplates'), - // title: i18n.t('AccountTemplateList'), - // permissions: ['accounts.view_accounttemplate'] - // } - // }, - // { - // path: 'create', - // component: () => import('@/views/accounts/AccountTemplate/AccountTemplateCreateUpdate.vue'), - // name: 'AccountTemplateCreate', - // meta: { - // title: i18n.t('CreateAccountTemplate'), - // action: 'create' - // }, - // hidden: true - // }, - // { - // path: ':id/update', - // component: () => import('@/views/accounts/AccountTemplate/AccountTemplateCreateUpdate.vue'), - // name: 'AccountTemplateUpdate', - // meta: { - // title: i18n.t('UpdateAccountTemplate'), - // action: 'update' - // }, - // hidden: true - // }, - // { - // path: ':id', - // component: () => import('@/views/accounts/AccountTemplate/AccountTemplateDetail/Application.vue'), - // name: 'AccountTemplateDetail', - // meta: { title: i18n.t('AccountTemplate') }, - // hidden: true - // } - // ] - // } ] diff --git a/src/views/accounts/AccountTemplate/AccountTemplateList.vue b/src/views/accounts/AccountTemplate/AccountTemplateList.vue index a325e2cec..2730ea13d 100644 --- a/src/views/accounts/AccountTemplate/AccountTemplateList.vue +++ b/src/views/accounts/AccountTemplate/AccountTemplateList.vue @@ -1,100 +1,20 @@ diff --git a/src/views/accounts/AccountTemplate/AccountTemplateTable.vue b/src/views/accounts/AccountTemplate/AccountTemplateTable.vue new file mode 100644 index 000000000..05d0c2849 --- /dev/null +++ b/src/views/accounts/AccountTemplate/AccountTemplateTable.vue @@ -0,0 +1,100 @@ + + + diff --git a/src/views/pam/Account/AccountTemplate.vue b/src/views/pam/Account/AccountTemplate.vue index bb1b4ded2..bc92c26d9 100644 --- a/src/views/pam/Account/AccountTemplate.vue +++ b/src/views/pam/Account/AccountTemplate.vue @@ -1,14 +1,6 @@