mirror of
https://github.com/jumpserver/lina.git
synced 2025-09-25 14:25:23 +00:00
[Update] 拆分routers
This commit is contained in:
@@ -24,8 +24,14 @@ import Layout from '@/layout'
|
||||
activeMenu: '/example/list' if set path, the sidebar will highlight the path you set
|
||||
}
|
||||
*/
|
||||
import UserRoute from '@/views/users'
|
||||
import AssetRoute from '@/views/assets'
|
||||
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'
|
||||
/**
|
||||
* constantRoutes
|
||||
* a base page that does not have permission requirements
|
||||
@@ -52,34 +58,32 @@ export const constantRoutes = [
|
||||
}
|
||||
]
|
||||
},
|
||||
UserRoute,
|
||||
AssetRoute,
|
||||
{
|
||||
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: [
|
||||
{
|
||||
path: 'remote-apps',
|
||||
name: 'RemoteAppList',
|
||||
component: () => import('@/views/applications/RemoteAppList'),
|
||||
meta: { title: 'RemoteApp' }
|
||||
},
|
||||
{
|
||||
path: 'remote-apps/:id',
|
||||
name: 'RemoteAppDetail',
|
||||
component: () => import('@/views/applications/RemoteAppList'),
|
||||
meta: { title: 'RemoteApp' }
|
||||
},
|
||||
{
|
||||
path: 'database-apps',
|
||||
name: 'DatabaseAppList',
|
||||
component: () => import('@/views/applications/DatabaseAppList'),
|
||||
meta: { title: 'DatabaseApp' }
|
||||
}
|
||||
]
|
||||
children: ApplicationsRoute
|
||||
},
|
||||
{
|
||||
path: '/perms/',
|
||||
@@ -87,89 +91,7 @@ export const constantRoutes = [
|
||||
redirect: '/perms/asset-permissions/',
|
||||
name: 'Perms',
|
||||
meta: { title: 'Perms', icon: 'edit' },
|
||||
children: [
|
||||
{
|
||||
path: 'asset-permissions',
|
||||
name: 'AssetPermissionList',
|
||||
component: () => import('@/views/perms/AssetPermissionList'),
|
||||
meta: { title: 'AssetPermission' }
|
||||
},
|
||||
{
|
||||
path: 'asset-permissions/create',
|
||||
component: () => import('@/views/perms/AssetPermissionCreateUpdate'),
|
||||
name: 'AssetPermissionCreate',
|
||||
hidden: true,
|
||||
meta: { title: 'AssetPermissionCreate', activeMenu: '/perms/asset-permissions', action: 'create' }
|
||||
},
|
||||
{
|
||||
path: 'users/:id/update',
|
||||
component: () => import('@/views/perms/AssetPermissionCreateUpdate.vue'), // Parent router-view
|
||||
name: 'AssetPermissionUpdate',
|
||||
hidden: true,
|
||||
meta: { title: 'AssetPermissionUpdate', activeMenu: '/perms/asset-permissions', action: 'update' }
|
||||
},
|
||||
{
|
||||
path: 'asset-permissions/:id',
|
||||
component: () => import('@/views/perms/AssetPermissionDetail'),
|
||||
name: 'AssetPermissionDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'AssetPermissionDetail', activeMenu: '/perms/asset-permissions' }
|
||||
},
|
||||
{
|
||||
path: 'remote-app-permissions',
|
||||
name: 'RemoteAppPermissionList',
|
||||
component: () => import('@/views/perms/RemoteAppPermissionList'),
|
||||
meta: { title: 'RemoteAppPermission' }
|
||||
},
|
||||
{
|
||||
path: 'remote-app-permissions/create',
|
||||
component: () => import('@/views/perms/RemoteAppPermissionCreateUpdate'),
|
||||
name: 'RemoteAppPermissionCreate',
|
||||
hidden: true,
|
||||
meta: { title: 'RemoteAppPermissionCreate', activeMenu: '/perms/remote-app-permissions', action: 'create' }
|
||||
},
|
||||
{
|
||||
path: 'remote-app-permissions/update',
|
||||
component: () => import('@/views/perms/RemoteAppPermissionCreateUpdate'),
|
||||
name: 'RemoteAppPermissionUpdate',
|
||||
hidden: true,
|
||||
meta: { title: 'RemoteAppPermissionUpdate', activeMenu: '/perms/remote-app-permissions', action: 'update' }
|
||||
},
|
||||
{
|
||||
path: 'remote-app-permissions/:id',
|
||||
component: () => import('@/views/perms/RemoteAppPermissionDetail'),
|
||||
name: 'RemoteAppPermissionDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'RemoteAppPermissionDetail', activeMenu: '/perms/remote-app-permissions' }
|
||||
},
|
||||
{
|
||||
path: 'database-app-permissions',
|
||||
name: 'DatabaseAppPermissionList',
|
||||
component: () => import('@/views/perms/DatabaseAppPermissionList'),
|
||||
meta: { title: 'DatabaseAppPermission' }
|
||||
},
|
||||
{
|
||||
path: 'database-app-permissions/create',
|
||||
component: () => import('@/views/perms/DatabaseAppPermissionCreateUpdate'), // Parent router-view
|
||||
name: 'DatabaseAppPermissionCreate',
|
||||
hidden: true,
|
||||
meta: { title: 'DatabaseAppPermissionCreate', activeMenu: '/perms/database-app-permissions' }
|
||||
},
|
||||
{
|
||||
path: 'database-app-permissions/update',
|
||||
component: () => import('@/views/perms/DatabaseAppPermissionCreateUpdate'), // Parent router-view
|
||||
name: 'DatabaseAppPermissionUpdate',
|
||||
hidden: true,
|
||||
meta: { title: 'DatabaseAppPermissionUpdate', activeMenu: '/perms/database-app-permissions', action: 'update' }
|
||||
},
|
||||
{
|
||||
path: 'database-app-permissions/:id',
|
||||
component: () => import('@/views/perms/DatabaseAppPermissionDetail'),
|
||||
name: 'DatabaseAppPermissionDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'DatabaseAppPermissionDetail', activeMenu: '/perms/database-app-permissions' }
|
||||
}
|
||||
]
|
||||
children: PermsRoute
|
||||
},
|
||||
{
|
||||
path: '/terminal/',
|
||||
@@ -177,99 +99,7 @@ export const constantRoutes = [
|
||||
redirect: '/terminal/session-online/',
|
||||
name: 'Sessions',
|
||||
meta: { title: 'Sessions', icon: 'rocket' },
|
||||
children: [
|
||||
{
|
||||
path: 'session-online',
|
||||
name: 'SessionOnlineList',
|
||||
component: () => import('@/views/sessions/SessionOnlineList'),
|
||||
meta: { title: 'SessionOnline' }
|
||||
},
|
||||
{
|
||||
path: 'session-offline',
|
||||
name: 'SessionOfflineList',
|
||||
component: () => import('@/views/sessions/SessionOfflineList'),
|
||||
meta: { title: 'SessionOffline' }
|
||||
},
|
||||
{
|
||||
path: 'command',
|
||||
name: 'CommandList',
|
||||
component: () => import('@/views/sessions/CommandList'),
|
||||
meta: { title: 'Commands' }
|
||||
},
|
||||
{
|
||||
path: 'sessions/:id',
|
||||
name: 'SessionDetail',
|
||||
component: () => import('@/views/sessions/SessionDetail'),
|
||||
meta: { title: 'SessionDetail' },
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'luna',
|
||||
name: 'WebTerminal',
|
||||
component: () => window.open(`/luna/?_=${Date.now()}`),
|
||||
meta: { title: 'WebTerminal' }
|
||||
},
|
||||
{
|
||||
path: 'sftp',
|
||||
name: 'FileManager',
|
||||
component: () => window.open(`/koko/elfinder/sftp/?`),
|
||||
meta: { title: 'FileManager' }
|
||||
},
|
||||
{
|
||||
path: 'terminal',
|
||||
name: 'TerminalList',
|
||||
component: () => import('@/views/sessions/TerminalList'),
|
||||
meta: { title: 'Terminal' }
|
||||
},
|
||||
{
|
||||
path: 'terminals/:id',
|
||||
name: 'TerminalDetail',
|
||||
component: () => import('@/views/sessions/TerminalDetail'),
|
||||
meta: { title: 'Terminal' },
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'terminals/:id/update',
|
||||
name: 'TerminalUpdate',
|
||||
component: () => import('@/views/sessions/TerminalUpdate'),
|
||||
meta: { title: 'Terminal' },
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'storages',
|
||||
name: 'Storage',
|
||||
component: () => import('@/views/sessions/Storage'),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'replay-storage/create',
|
||||
name: 'CreateReplayStorage',
|
||||
component: () => import('@/views/sessions/ReplayStorageCreate'),
|
||||
meta: { title: 'CreateReplayStorage' },
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'command-storage/create',
|
||||
name: 'CreateCommandStorage',
|
||||
component: () => import('@/views/sessions/CommandStorageCreate'),
|
||||
meta: { title: 'CreateCommandStorage' },
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'replay-storage/:id/update',
|
||||
name: 'ReplayStorageUpdate',
|
||||
component: () => import('@/views/sessions/ReplayStorageUpdate'),
|
||||
meta: { title: 'ReplayStorageUpdate' },
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'command-storage/:id/update',
|
||||
name: 'CommandStorageUpdate',
|
||||
component: () => import('@/views/sessions/CommandStorageUpdate'),
|
||||
meta: { title: 'CommandStorageUpdate' },
|
||||
hidden: true
|
||||
}
|
||||
]
|
||||
children: SessionsRoute
|
||||
},
|
||||
{
|
||||
path: '/ops/',
|
||||
@@ -277,52 +107,13 @@ export const constantRoutes = [
|
||||
redirect: '/ops/tasks/',
|
||||
name: 'JobCenter',
|
||||
meta: { title: 'JobCenter', icon: 'coffee' },
|
||||
children: [
|
||||
{
|
||||
path: 'tasks',
|
||||
name: 'TaskList',
|
||||
component: () => import('@/views/jobcenter/TaskList'),
|
||||
meta: { title: 'TaskList', activeMenu: '/ops/task' }
|
||||
},
|
||||
{
|
||||
path: 'tasks/:id',
|
||||
component: () => import('@/views/jobcenter/TaskDetail'),
|
||||
name: 'TaskDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'TaskDetail', activeMenu: '/ops/task' }
|
||||
},
|
||||
{
|
||||
path: 'adhoc/:id',
|
||||
component: () => import('@/views/jobcenter/AdhocDetail'),
|
||||
name: 'AdhocDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'TaskDetail', activeMenu: '/ops/task' }
|
||||
},
|
||||
{
|
||||
path: 'executions/:id',
|
||||
component: () => import('@/views/jobcenter/HistoryExecutionDetail'),
|
||||
name: 'HistoryExecutionDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'TaskDetail', activeMenu: '/ops/task' }
|
||||
},
|
||||
{
|
||||
path: 'command-executions/create',
|
||||
name: 'BatchCommand',
|
||||
component: () => import('@/views/jobcenter/CommandExecution'),
|
||||
meta: { title: 'BatchCommand' }
|
||||
}
|
||||
]
|
||||
children: OpsRoutes
|
||||
},
|
||||
{
|
||||
path: '/tickets/',
|
||||
component: Layout,
|
||||
redirect: '/tickets/tickets/',
|
||||
children: [{
|
||||
path: 'tickets',
|
||||
name: 'TicketsList',
|
||||
component: () => import('@/views/tickets/TicketsList'),
|
||||
meta: { title: 'Tickets', icon: 'check-square-o' }
|
||||
}]
|
||||
children: TicketsRoutes
|
||||
},
|
||||
{
|
||||
path: '/audits/',
|
||||
@@ -330,38 +121,7 @@ export const constantRoutes = [
|
||||
redirect: '/audits/login-log/',
|
||||
name: 'Audits',
|
||||
meta: { title: 'Audits', icon: 'history' },
|
||||
children: [
|
||||
{
|
||||
path: 'login-log',
|
||||
name: 'LoginLog',
|
||||
component: () => import('@/views/tree/index'),
|
||||
meta: { title: 'LoginLog' }
|
||||
},
|
||||
{
|
||||
path: 'ftp-log',
|
||||
name: 'FtpLog',
|
||||
component: () => import('@/views/tree/index'),
|
||||
meta: { title: 'FtpLog' }
|
||||
},
|
||||
{
|
||||
path: 'operate-log',
|
||||
name: 'OperateLog',
|
||||
component: () => import('@/views/tree/index'),
|
||||
meta: { title: 'OperateLog' }
|
||||
},
|
||||
{
|
||||
path: 'password-change-log',
|
||||
name: 'PasswordChangeLog',
|
||||
component: () => import('@/views/tree/index'),
|
||||
meta: { title: 'PasswordChangeLog' }
|
||||
},
|
||||
{
|
||||
path: 'command-execution-log',
|
||||
name: 'BatchCommand',
|
||||
component: () => import('@/views/tree/index'),
|
||||
meta: { title: 'BatchCommand' }
|
||||
}
|
||||
]
|
||||
children: AuditsRoutes
|
||||
},
|
||||
{
|
||||
path: '/settings',
|
||||
|
29
src/views/applications/index.js
Normal file
29
src/views/applications/index.js
Normal file
@@ -0,0 +1,29 @@
|
||||
import Layout from '@/layout/index'
|
||||
|
||||
export default {
|
||||
path: '/applications/',
|
||||
component: Layout,
|
||||
redirect: '/applications/remote-apps/',
|
||||
name: 'applications',
|
||||
meta: { title: 'Applications', icon: 'th' },
|
||||
children: [
|
||||
{
|
||||
path: 'remote-apps',
|
||||
name: 'RemoteAppList',
|
||||
component: () => import('@/views/applications/RemoteAppList'),
|
||||
meta: { title: 'RemoteApp' }
|
||||
},
|
||||
{
|
||||
path: 'remote-apps/:id',
|
||||
name: 'RemoteAppDetail',
|
||||
component: () => import('@/views/applications/RemoteAppList'),
|
||||
meta: { title: 'RemoteApp' }
|
||||
},
|
||||
{
|
||||
path: 'database-apps',
|
||||
name: 'DatabaseAppList',
|
||||
component: () => import('@/views/applications/DatabaseAppList'),
|
||||
meta: { title: 'DatabaseApp' }
|
||||
}
|
||||
]
|
||||
}
|
32
src/views/audits/index.js
Normal file
32
src/views/audits/index.js
Normal file
@@ -0,0 +1,32 @@
|
||||
export default [
|
||||
{
|
||||
path: 'login-log',
|
||||
name: 'LoginLog',
|
||||
component: () => import('@/views/tree/index'),
|
||||
meta: { title: 'LoginLog' }
|
||||
},
|
||||
{
|
||||
path: 'ftp-log',
|
||||
name: 'FtpLog',
|
||||
component: () => import('@/views/tree/index'),
|
||||
meta: { title: 'FtpLog' }
|
||||
},
|
||||
{
|
||||
path: 'operate-log',
|
||||
name: 'OperateLog',
|
||||
component: () => import('@/views/tree/index'),
|
||||
meta: { title: 'OperateLog' }
|
||||
},
|
||||
{
|
||||
path: 'password-change-log',
|
||||
name: 'PasswordChangeLog',
|
||||
component: () => import('@/views/tree/index'),
|
||||
meta: { title: 'PasswordChangeLog' }
|
||||
},
|
||||
{
|
||||
path: 'command-execution-log',
|
||||
name: 'BatchCommand',
|
||||
component: () => import('@/views/tree/index'),
|
||||
meta: { title: 'BatchCommand' }
|
||||
}
|
||||
]
|
35
src/views/jobcenter/index.js
Normal file
35
src/views/jobcenter/index.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default [
|
||||
{
|
||||
path: 'tasks',
|
||||
name: 'TaskList',
|
||||
component: () => import('@/views/jobcenter/TaskList'),
|
||||
meta: { title: 'TaskList', activeMenu: '/ops/task' }
|
||||
},
|
||||
{
|
||||
path: 'tasks/:id',
|
||||
component: () => import('@/views/jobcenter/TaskDetail'),
|
||||
name: 'TaskDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'TaskDetail', activeMenu: '/ops/task' }
|
||||
},
|
||||
{
|
||||
path: 'adhoc/:id',
|
||||
component: () => import('@/views/jobcenter/AdhocDetail'),
|
||||
name: 'AdhocDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'TaskDetail', activeMenu: '/ops/task' }
|
||||
},
|
||||
{
|
||||
path: 'executions/:id',
|
||||
component: () => import('@/views/jobcenter/HistoryExecutionDetail'),
|
||||
name: 'HistoryExecutionDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'TaskDetail', activeMenu: '/ops/task' }
|
||||
},
|
||||
{
|
||||
path: 'command-executions/create',
|
||||
name: 'BatchCommand',
|
||||
component: () => import('@/views/jobcenter/CommandExecution'),
|
||||
meta: { title: 'BatchCommand' }
|
||||
}
|
||||
]
|
84
src/views/perms/index.js
Normal file
84
src/views/perms/index.js
Normal file
@@ -0,0 +1,84 @@
|
||||
|
||||
export default [
|
||||
{
|
||||
path: 'asset-permissions',
|
||||
name: 'AssetPermissionList',
|
||||
component: () => import('@/views/perms/AssetPermissionList'),
|
||||
meta: { title: 'AssetPermission' }
|
||||
},
|
||||
{
|
||||
path: 'asset-permissions/create',
|
||||
component: () => import('@/views/perms/AssetPermissionCreateUpdate'),
|
||||
name: 'AssetPermissionCreate',
|
||||
hidden: true,
|
||||
meta: { title: 'AssetPermissionCreate', activeMenu: '/perms/asset-permissions', action: 'create' }
|
||||
},
|
||||
{
|
||||
path: 'users/:id/update',
|
||||
component: () => import('@/views/perms/AssetPermissionCreateUpdate.vue'), // Parent router-view
|
||||
name: 'AssetPermissionUpdate',
|
||||
hidden: true,
|
||||
meta: { title: 'AssetPermissionUpdate', activeMenu: '/perms/asset-permissions', action: 'update' }
|
||||
},
|
||||
{
|
||||
path: 'asset-permissions/:id',
|
||||
component: () => import('@/views/perms/AssetPermissionDetail'),
|
||||
name: 'AssetPermissionDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'AssetPermissionDetail', activeMenu: '/perms/asset-permissions' }
|
||||
},
|
||||
{
|
||||
path: 'remote-app-permissions',
|
||||
name: 'RemoteAppPermissionList',
|
||||
component: () => import('@/views/perms/RemoteAppPermissionList'),
|
||||
meta: { title: 'RemoteAppPermission' }
|
||||
},
|
||||
{
|
||||
path: 'remote-app-permissions/create',
|
||||
component: () => import('@/views/perms/RemoteAppPermissionCreateUpdate'),
|
||||
name: 'RemoteAppPermissionCreate',
|
||||
hidden: true,
|
||||
meta: { title: 'RemoteAppPermissionCreate', activeMenu: '/perms/remote-app-permissions', action: 'create' }
|
||||
},
|
||||
{
|
||||
path: 'remote-app-permissions/update',
|
||||
component: () => import('@/views/perms/RemoteAppPermissionCreateUpdate'),
|
||||
name: 'RemoteAppPermissionUpdate',
|
||||
hidden: true,
|
||||
meta: { title: 'RemoteAppPermissionUpdate', activeMenu: '/perms/remote-app-permissions', action: 'update' }
|
||||
},
|
||||
{
|
||||
path: 'remote-app-permissions/:id',
|
||||
component: () => import('@/views/perms/RemoteAppPermissionDetail'),
|
||||
name: 'RemoteAppPermissionDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'RemoteAppPermissionDetail', activeMenu: '/perms/remote-app-permissions' }
|
||||
},
|
||||
{
|
||||
path: 'database-app-permissions',
|
||||
name: 'DatabaseAppPermissionList',
|
||||
component: () => import('@/views/perms/DatabaseAppPermissionList'),
|
||||
meta: { title: 'DatabaseAppPermission' }
|
||||
},
|
||||
{
|
||||
path: 'database-app-permissions/create',
|
||||
component: () => import('@/views/perms/DatabaseAppPermissionCreateUpdate'), // Parent router-view
|
||||
name: 'DatabaseAppPermissionCreate',
|
||||
hidden: true,
|
||||
meta: { title: 'DatabaseAppPermissionCreate', activeMenu: '/perms/database-app-permissions' }
|
||||
},
|
||||
{
|
||||
path: 'database-app-permissions/update',
|
||||
component: () => import('@/views/perms/DatabaseAppPermissionCreateUpdate'), // Parent router-view
|
||||
name: 'DatabaseAppPermissionUpdate',
|
||||
hidden: true,
|
||||
meta: { title: 'DatabaseAppPermissionUpdate', activeMenu: '/perms/database-app-permissions', action: 'update' }
|
||||
},
|
||||
{
|
||||
path: 'database-app-permissions/:id',
|
||||
component: () => import('@/views/perms/DatabaseAppPermissionDetail'),
|
||||
name: 'DatabaseAppPermissionDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'DatabaseAppPermissionDetail', activeMenu: '/perms/database-app-permissions' }
|
||||
}
|
||||
]
|
94
src/views/sessions/index.js
Normal file
94
src/views/sessions/index.js
Normal file
@@ -0,0 +1,94 @@
|
||||
|
||||
export default [
|
||||
{
|
||||
path: 'session-online',
|
||||
name: 'SessionOnlineList',
|
||||
component: () => import('@/views/sessions/SessionOnlineList'),
|
||||
meta: { title: 'SessionOnline' }
|
||||
},
|
||||
{
|
||||
path: 'session-offline',
|
||||
name: 'SessionOfflineList',
|
||||
component: () => import('@/views/sessions/SessionOfflineList'),
|
||||
meta: { title: 'SessionOffline' }
|
||||
},
|
||||
{
|
||||
path: 'command',
|
||||
name: 'CommandList',
|
||||
component: () => import('@/views/sessions/CommandList'),
|
||||
meta: { title: 'Commands' }
|
||||
},
|
||||
{
|
||||
path: 'sessions/:id',
|
||||
name: 'SessionDetail',
|
||||
component: () => import('@/views/sessions/SessionDetail'),
|
||||
meta: { title: 'SessionDetail' },
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'luna',
|
||||
name: 'WebTerminal',
|
||||
component: () => window.open(`/luna/?_=${Date.now()}`),
|
||||
meta: { title: 'WebTerminal' }
|
||||
},
|
||||
{
|
||||
path: 'sftp',
|
||||
name: 'FileManager',
|
||||
component: () => window.open(`/koko/elfinder/sftp/?`),
|
||||
meta: { title: 'FileManager' }
|
||||
},
|
||||
{
|
||||
path: 'terminal',
|
||||
name: 'TerminalList',
|
||||
component: () => import('@/views/sessions/TerminalList'),
|
||||
meta: { title: 'Terminal' }
|
||||
},
|
||||
{
|
||||
path: 'terminals/:id',
|
||||
name: 'TerminalDetail',
|
||||
component: () => import('@/views/sessions/TerminalDetail'),
|
||||
meta: { title: 'Terminal' },
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'terminals/:id/update',
|
||||
name: 'TerminalUpdate',
|
||||
component: () => import('@/views/sessions/TerminalUpdate'),
|
||||
meta: { title: 'Terminal' },
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'storages',
|
||||
name: 'Storage',
|
||||
component: () => import('@/views/sessions/Storage'),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'replay-storage/create',
|
||||
name: 'CreateReplayStorage',
|
||||
component: () => import('@/views/sessions/ReplayStorageCreate'),
|
||||
meta: { title: 'CreateReplayStorage' },
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'command-storage/create',
|
||||
name: 'CreateCommandStorage',
|
||||
component: () => import('@/views/sessions/CommandStorageCreate'),
|
||||
meta: { title: 'CreateCommandStorage' },
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'replay-storage/:id/update',
|
||||
name: 'ReplayStorageUpdate',
|
||||
component: () => import('@/views/sessions/ReplayStorageUpdate'),
|
||||
meta: { title: 'ReplayStorageUpdate' },
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: 'command-storage/:id/update',
|
||||
name: 'CommandStorageUpdate',
|
||||
component: () => import('@/views/sessions/CommandStorageUpdate'),
|
||||
meta: { title: 'CommandStorageUpdate' },
|
||||
hidden: true
|
||||
}
|
||||
]
|
8
src/views/tickets/index.js
Normal file
8
src/views/tickets/index.js
Normal file
@@ -0,0 +1,8 @@
|
||||
export default [
|
||||
{
|
||||
path: 'tickets',
|
||||
name: 'TicketsList',
|
||||
component: () => import('@/views/tickets/TicketsList'),
|
||||
meta: { title: 'Tickets', icon: 'check-square-o' }
|
||||
}
|
||||
]
|
@@ -1,68 +1,56 @@
|
||||
import Layout from '@/layout/index'
|
||||
|
||||
export default {
|
||||
path: '/users',
|
||||
component: Layout,
|
||||
redirect: '/users/users/',
|
||||
name: 'Users',
|
||||
meta: {
|
||||
title: 'Users',
|
||||
icon: 'users'
|
||||
export default [
|
||||
{
|
||||
path: 'users',
|
||||
component: () => import('./users/UserList.vue'), // Parent router-view
|
||||
name: 'UserList',
|
||||
meta: { title: 'UserList' }
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: 'users',
|
||||
component: () => import('./users/UserList.vue'), // Parent router-view
|
||||
name: 'UserList',
|
||||
meta: { title: 'UserList' }
|
||||
},
|
||||
{
|
||||
path: 'users/create',
|
||||
component: () => import('@/views/users/users/UserCreateUpdate.vue'), // Parent router-view
|
||||
name: 'UserCreate',
|
||||
hidden: true,
|
||||
meta: { title: 'UserCreate', activeMenu: '/users/users', action: 'create' }
|
||||
},
|
||||
{
|
||||
path: 'users/:id/update',
|
||||
component: () => import('@/views/users/users/UserCreateUpdate.vue'), // Parent router-view
|
||||
name: 'UserUpdate',
|
||||
hidden: true,
|
||||
meta: { title: 'UserUpdate', activeMenu: '/users/users', action: 'update' }
|
||||
},
|
||||
{
|
||||
path: 'users/detail/:id',
|
||||
component: () => import('@/views/users/users/UserDetail.vue'), // Parent router-view
|
||||
name: 'UserDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'UserDetail', activeMenu: '/users/users' }
|
||||
},
|
||||
{
|
||||
path: 'groups',
|
||||
component: () => import('@/views/users/groups/UserGroupList.vue'), // Parent router-view
|
||||
name: 'UserGroupList',
|
||||
meta: { title: 'UserGroupList' }
|
||||
},
|
||||
{
|
||||
path: 'groups/:id/update',
|
||||
component: () => import('@/views/users/groups/UserGroupCreateUpdate.vue'), // Parent router-view
|
||||
name: 'UserGroupUpdate',
|
||||
hidden: true,
|
||||
meta: { title: 'UserGroupUpdate', activeMenu: '/users/groups' }
|
||||
},
|
||||
{
|
||||
path: 'groups/create',
|
||||
component: () => import('@/views/users/groups/UserGroupCreateUpdate.vue'), // Parent router-view
|
||||
name: 'UserGroupCreate',
|
||||
hidden: true,
|
||||
meta: { title: 'UserGroupCreate', activeMenu: '/users/groups' }
|
||||
},
|
||||
{
|
||||
path: 'groups/:id',
|
||||
component: () => import('@/views/users/groups/UserGroupDetail/index.vue'), // Parent router-view
|
||||
name: 'UserGroupDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'UserGroupDetail', activeMenu: '/users/groups' }
|
||||
}
|
||||
]
|
||||
}
|
||||
{
|
||||
path: 'users/create',
|
||||
component: () => import('@/views/users/users/UserCreateUpdate.vue'), // Parent router-view
|
||||
name: 'UserCreate',
|
||||
hidden: true,
|
||||
meta: { title: 'UserCreate', activeMenu: '/users/users', action: 'create' }
|
||||
},
|
||||
{
|
||||
path: 'users/:id/update',
|
||||
component: () => import('@/views/users/users/UserCreateUpdate.vue'), // Parent router-view
|
||||
name: 'UserUpdate',
|
||||
hidden: true,
|
||||
meta: { title: 'UserUpdate', activeMenu: '/users/users', action: 'update' }
|
||||
},
|
||||
{
|
||||
path: 'users/detail/:id',
|
||||
component: () => import('@/views/users/users/UserDetail.vue'), // Parent router-view
|
||||
name: 'UserDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'UserDetail', activeMenu: '/users/users' }
|
||||
},
|
||||
{
|
||||
path: 'groups',
|
||||
component: () => import('@/views/users/groups/UserGroupList.vue'), // Parent router-view
|
||||
name: 'UserGroupList',
|
||||
meta: { title: 'UserGroupList' }
|
||||
},
|
||||
{
|
||||
path: 'groups/:id/update',
|
||||
component: () => import('@/views/users/groups/UserGroupCreateUpdate.vue'), // Parent router-view
|
||||
name: 'UserGroupUpdate',
|
||||
hidden: true,
|
||||
meta: { title: 'UserGroupUpdate', activeMenu: '/users/groups' }
|
||||
},
|
||||
{
|
||||
path: 'groups/create',
|
||||
component: () => import('@/views/users/groups/UserGroupCreateUpdate.vue'), // Parent router-view
|
||||
name: 'UserGroupCreate',
|
||||
hidden: true,
|
||||
meta: { title: 'UserGroupCreate', activeMenu: '/users/groups' }
|
||||
},
|
||||
{
|
||||
path: 'groups/:id',
|
||||
component: () => import('@/views/users/groups/UserGroupDetail/index.vue'), // Parent router-view
|
||||
name: 'UserGroupDetail',
|
||||
hidden: true,
|
||||
meta: { title: 'UserGroupDetail', activeMenu: '/users/groups' }
|
||||
}
|
||||
]
|
||||
|
Reference in New Issue
Block a user