diff --git a/src/components/ActiveCard/index.vue b/src/components/ActiveCard/index.vue deleted file mode 100644 index 78b37dcda..000000000 --- a/src/components/ActiveCard/index.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - - - diff --git a/src/components/index.js b/src/components/index.js index e13c9a51c..bbe16c10c 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -12,7 +12,6 @@ export { default as FormGroupHeader } from './FormGroupHeader' export { default as Hamburger } from './Hamburger' export { default as ListTable } from './ListTable' export { default as RelationCard } from './RelationCard' -export { default as ActiveCard } from './ActiveCard' export { default as Select2 } from './Select2' export { default as AssetSelect } from './AssetSelect' export { default as SvgIcon } from './SvgIcon' diff --git a/src/router/index.js b/src/router/index.js index 983c2217a..754d7b4a0 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -24,14 +24,7 @@ import Layout from '@/layout' activeMenu: '/example/list' if set path, the sidebar will highlight the path you set } */ -import UsersRoute from '@/views/users' -import AssetsRoute from '@/views/assets' -import ApplicationsRoute from '@/views/applications' -import PermsRoute from '@/views/perms' -import SessionsRoute from '@/views/sessions' -import OpsRoutes from '@/views/jobcenter' -import TicketsRoutes from '@/views/tickets' -import AuditsRoutes from '@/views/audits' +const requireContext = require.context('@/views/', true, /\.js$/) /** * constantRoutes @@ -59,71 +52,6 @@ export const constantRoutes = [ } ] }, - { - path: '/users', - component: Layout, - redirect: '/users/users/', - name: 'Users', - meta: { - title: 'Users', - icon: 'users' - }, - children: UsersRoute - }, - { - path: '/assets', - component: Layout, - redirect: '/assets/assets/', - name: 'assets', - meta: { title: 'Assets', icon: 'inbox' }, - children: AssetsRoute - }, - { - path: '/applications/', - component: Layout, - redirect: '/applications/remote-apps/', - name: 'applications', - meta: { title: 'Applications', icon: 'th' }, - children: ApplicationsRoute - }, - { - path: '/perms/', - component: Layout, - redirect: '/perms/asset-permissions/', - name: 'Perms', - meta: { title: 'Perms', icon: 'edit' }, - children: PermsRoute - }, - { - path: '/terminal/', - component: Layout, - redirect: '/terminal/session-online/', - name: 'Sessions', - meta: { title: 'Sessions', icon: 'rocket' }, - children: SessionsRoute - }, - { - path: '/ops/', - component: Layout, - redirect: '/ops/tasks/', - name: 'JobCenter', - meta: { title: 'JobCenter', icon: 'coffee' }, - children: OpsRoutes - }, - { - path: '/tickets/', - component: Layout, - redirect: '/tickets/tickets/', - children: TicketsRoutes - }, - { - path: '/audits/', - component: Layout, - redirect: '/audits/login-log/', - name: 'Audits', - meta: { title: 'Audits', icon: 'history' }, - children: AuditsRoutes - }, { path: '/settings', component: Layout, @@ -141,7 +69,8 @@ export const constantRoutes = [ name: 'CeleryTaskLog', hidden: true, meta: { title: 'CeleryTaskLog' } - } + }, + ...requireContext.keys().map(key => requireContext(key).default) ] /** @@ -150,99 +79,6 @@ export const constantRoutes = [ */ // 权限路由 export const asyncRoutes = [ - // { - // path: '/nested', - // component: Layout, - // redirect: '/nested/menu1', - // name: 'Nested', - // meta: { - // title: 'Nested', - // icon: 'nested' - // }, - // children: [ - // { - // path: 'menu1', - // component: () => import('@/views/nested/menu1/index'), // Parent router-view - // name: 'Menu1', - // meta: { title: 'Menu1' }, - // children: [ - // { - // path: 'menu1-1', - // component: () => import('@/views/nested/menu1/menu1-1'), - // name: 'Menu1-1', - // meta: { title: 'Menu1-1' } - // }, - // { - // path: 'menu1-2', - // component: () => import('@/views/nested/menu1/menu1-2'), - // name: 'Menu1-2', - // meta: { title: 'Menu1-2' }, - // children: [ - // { - // path: 'menu1-2-1', - // component: () => import('@/views/nested/menu1/menu1-2/menu1-2-1'), - // name: 'Menu1-2-1', - // meta: { title: 'Menu1-2-1' } - // }, - // { - // path: 'menu1-2-2', - // component: () => import('@/views/nested/menu1/menu1-2/menu1-2-2'), - // name: 'Menu1-2-2', - // meta: { title: 'Menu1-2-2' } - // } - // ] - // }, - // { - // path: 'menu1-3', - // component: () => import('@/views/nested/menu1/menu1-3'), - // name: 'Menu1-3', - // meta: { title: 'Menu1-3' } - // } - // ] - // }, - // { - // path: 'menu2', - // component: () => import('@/views/nested/menu2/index'), - // meta: { title: 'menu2' } - // } - // ] - // }, - // { - // path: '/users', - // component: Layout, - // redirect: '/users/list', - // name: 'Users', - // meta: { - // title: 'Users', - // icon: 'nested' - // }, - // children: [ - // { - // path: 'user/list', - // component: () => import('@/views/users/UserList.vue'), // Parent router-view - // name: 'UserList', - // meta: { title: 'List' } - // }, - // { - // path: 'user/:id', - // component: () => import('@/views/users/UserCreate.vue'), // Parent router-view - // name: 'UserEdit', - // meta: { title: 'Edit' }, - // hidden: true - // } - // ] - // }, - // { - // path: 'external-link', - // component: Layout, - // children: [ - // { - // path: 'https://panjiachen.github.io/vue-element-admin-site/#/', - // meta: { title: 'External Link', icon: 'link' } - // } - // ] - // }, - // 404 page must be placed at the end !!! { path: '*', redirect: '/404', hidden: true } ] diff --git a/src/views/applications/index.js b/src/views/applications/index.js index 593a5c2ea..1687beb50 100644 --- a/src/views/applications/index.js +++ b/src/views/applications/index.js @@ -1,4 +1,6 @@ -export default [ +import Layout from '@/layout' + +const ApplicationsRoute = [ { path: 'remote-apps', name: 'RemoteAppList', @@ -18,3 +20,12 @@ export default [ meta: { title: 'DatabaseApp' } } ] + +export default { + path: '/applications/', + component: Layout, + redirect: '/applications/remote-apps/', + name: 'applications', + meta: { title: 'Applications', icon: 'th' }, + children: ApplicationsRoute +} diff --git a/src/views/assets/index.js b/src/views/assets/index.js index c0a650441..547c34eb6 100644 --- a/src/views/assets/index.js +++ b/src/views/assets/index.js @@ -1,4 +1,6 @@ -export default [ +import Layout from '@/layout' + +const AssetsRoute = [ { path: 'assets', name: 'AssetList', @@ -167,3 +169,11 @@ export default [ meta: { title: 'PlatformList' } } ] +export default { + path: '/assets', + component: Layout, + redirect: '/assets/assets/', + name: 'assets', + meta: { title: 'Assets', icon: 'inbox' }, + children: AssetsRoute +} diff --git a/src/views/audits/index.js b/src/views/audits/index.js index 8617fdefd..f438b27cf 100644 --- a/src/views/audits/index.js +++ b/src/views/audits/index.js @@ -1,4 +1,5 @@ -export default [ +import Layout from '@/layout' +const AuditsRoutes = [ { path: 'login-log', name: 'LoginLog', @@ -30,3 +31,12 @@ export default [ meta: { title: 'BatchCommand' } } ] + +export default { + path: '/audits/', + component: Layout, + redirect: '/audits/login-log/', + name: 'Audits', + meta: { title: 'Audits', icon: 'history' }, + children: AuditsRoutes +} diff --git a/src/views/jobcenter/index.js b/src/views/jobcenter/index.js index 3a203b84c..e07d936f3 100644 --- a/src/views/jobcenter/index.js +++ b/src/views/jobcenter/index.js @@ -1,4 +1,5 @@ -export default [ +import Layout from '@/layout' +const OpsRoutes = [ { path: 'tasks', name: 'TaskList', @@ -33,3 +34,11 @@ export default [ meta: { title: 'BatchCommand' } } ] +export default { + path: '/ops/', + component: Layout, + redirect: '/ops/tasks/', + name: 'JobCenter', + meta: { title: 'JobCenter', icon: 'coffee' }, + children: OpsRoutes +} diff --git a/src/views/perms/AssetPermissionCreateUpdate.vue b/src/views/perms/AssetPermission/AssetPermissionCreateUpdate.vue similarity index 100% rename from src/views/perms/AssetPermissionCreateUpdate.vue rename to src/views/perms/AssetPermission/AssetPermissionCreateUpdate.vue diff --git a/src/views/perms/AssetPermissionDetail/AssetPermissionAsset.vue b/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionAsset.vue similarity index 99% rename from src/views/perms/AssetPermissionDetail/AssetPermissionAsset.vue rename to src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionAsset.vue index 0160646d2..a7a4df7a8 100644 --- a/src/views/perms/AssetPermissionDetail/AssetPermissionAsset.vue +++ b/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionAsset.vue @@ -15,7 +15,7 @@ import ListTable from '@/components/ListTable' import { RelationCard } from '@/components' import { DeleteActionFormatter } from '@/components/ListTable/formatters/index' -import AssetRelationCard from '../AssetRelationCard' +import AssetRelationCard from './AssetRelationCard/index' export default { name: 'AssetPermissionAsset', diff --git a/src/views/perms/AssetPermissionDetail/AssetPermissionDetail.vue b/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionDetail.vue similarity index 76% rename from src/views/perms/AssetPermissionDetail/AssetPermissionDetail.vue rename to src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionDetail.vue index 67071a895..5a3088181 100644 --- a/src/views/perms/AssetPermissionDetail/AssetPermissionDetail.vue +++ b/src/views/perms/AssetPermission/AssetPermissionDetail/AssetPermissionDetail.vue @@ -4,20 +4,20 @@ - + - - diff --git a/src/views/perms/DatabaseAppPermissionCreateUpdate.vue b/src/views/perms/DatabaseAppPermission/DatabaseAppPermissionCreateUpdate.vue similarity index 100% rename from src/views/perms/DatabaseAppPermissionCreateUpdate.vue rename to src/views/perms/DatabaseAppPermission/DatabaseAppPermissionCreateUpdate.vue diff --git a/src/views/perms/DatabaseAppPermissionDetail/DatabaseAppPermissionDatabaseApp.vue b/src/views/perms/DatabaseAppPermission/DatabaseAppPermissionDetail/DatabaseAppPermissionDatabaseApp.vue similarity index 100% rename from src/views/perms/DatabaseAppPermissionDetail/DatabaseAppPermissionDatabaseApp.vue rename to src/views/perms/DatabaseAppPermission/DatabaseAppPermissionDetail/DatabaseAppPermissionDatabaseApp.vue diff --git a/src/views/perms/DatabaseAppPermissionDetail/DatabaseAppPermissionDetail.vue b/src/views/perms/DatabaseAppPermission/DatabaseAppPermissionDetail/DatabaseAppPermissionDetail.vue similarity index 75% rename from src/views/perms/DatabaseAppPermissionDetail/DatabaseAppPermissionDetail.vue rename to src/views/perms/DatabaseAppPermission/DatabaseAppPermissionDetail/DatabaseAppPermissionDetail.vue index acfef9333..8ba0e18c3 100644 --- a/src/views/perms/DatabaseAppPermissionDetail/DatabaseAppPermissionDetail.vue +++ b/src/views/perms/DatabaseAppPermission/DatabaseAppPermissionDetail/DatabaseAppPermissionDetail.vue @@ -4,20 +4,20 @@ - +