Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
ant-design-pro-vue
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tianzhuanghu
ant-design-pro-vue
Commits
287196d2
Commit
287196d2
authored
Jan 22, 2019
by
Sendya
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: add tree list
parent
1ee0de29
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
570 additions
and
341 deletions
+570
-341
router.config.js
src/config/router.config.js
+347
-341
TreeList.vue
src/views/list/TreeList.vue
+223
-0
No files found.
src/config/router.config.js
View file @
287196d2
// eslint-disable-next-line
import
{
UserLayout
,
BasicLayout
,
RouteView
,
BlankLayout
,
PageView
}
from
'@/components/layouts'
export
const
asyncRouterMap
=
[
{
path
:
'/'
,
name
:
'index'
,
component
:
BasicLayout
,
meta
:
{
title
:
'首页'
},
redirect
:
'/dashboard/workplace'
,
children
:
[
// dashboard
{
path
:
'/dashboard'
,
name
:
'dashboard'
,
redirect
:
'/dashboard/workplace'
,
component
:
RouteView
,
meta
:
{
title
:
'仪表盘'
,
keepAlive
:
true
,
icon
:
'dashboard'
,
permission
:
[
'dashboard'
]
},
children
:
[
{
path
:
'/dashboard/analysis'
,
name
:
'Analysis'
,
component
:
()
=>
import
(
'@/views/dashboard/Analysis'
),
meta
:
{
title
:
'分析页'
,
keepAlive
:
false
,
permission
:
[
'dashboard'
]
}
},
{
path
:
'/dashboard/monitor'
,
name
:
'Monitor'
,
hidden
:
true
,
component
:
()
=>
import
(
'@/views/dashboard/Monitor'
),
meta
:
{
title
:
'监控页'
,
keepAlive
:
true
,
permission
:
[
'dashboard'
]
}
},
{
path
:
'/dashboard/workplace'
,
name
:
'Workplace'
,
component
:
()
=>
import
(
'@/views/dashboard/Workplace'
),
meta
:
{
title
:
'工作台'
,
keepAlive
:
true
,
permission
:
[
'dashboard'
]
}
}
]
},
// forms
{
path
:
'/form'
,
redirect
:
'/form/basic-form'
,
component
:
PageView
,
meta
:
{
title
:
'表单页'
,
icon
:
'form'
,
permission
:
[
'form'
]
},
children
:
[
{
path
:
'/form/base-form'
,
name
:
'BaseForm'
,
component
:
()
=>
import
(
'@/views/form/BasicForm'
),
meta
:
{
title
:
'基础表单'
,
keepAlive
:
true
,
permission
:
[
'form'
]
}
},
{
path
:
'/form/step-form'
,
name
:
'StepForm'
,
component
:
()
=>
import
(
'@/views/form/stepForm/StepForm'
),
meta
:
{
title
:
'分步表单'
,
keepAlive
:
true
,
permission
:
[
'form'
]
}
},
{
path
:
'/form/advanced-form'
,
name
:
'AdvanceForm'
,
component
:
()
=>
import
(
'@/views/form/advancedForm/AdvancedForm'
),
meta
:
{
title
:
'高级表单'
,
keepAlive
:
true
,
permission
:
[
'form'
]
}
}
]
},
// list
{
path
:
'/list'
,
name
:
'list'
,
component
:
PageView
,
redirect
:
'/list/query-list'
,
meta
:
{
title
:
'列表页'
,
icon
:
'table'
,
permission
:
[
'table'
]
},
children
:
[
{
path
:
'/list/query-list'
,
name
:
'QueryList'
,
component
:
()
=>
import
(
'@/views/list/TableList'
),
meta
:
{
title
:
'查询表格'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/edit-table'
,
name
:
'EditList'
,
component
:
()
=>
import
(
'@/views/list/TableInnerEditList'
),
meta
:
{
title
:
'内联编辑表格'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/user-list'
,
name
:
'UserList'
,
component
:
()
=>
import
(
'@/views/list/UserList'
),
meta
:
{
title
:
'用户列表'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/role-list'
,
name
:
'RoleList'
,
component
:
()
=>
import
(
'@/views/list/RoleList'
),
meta
:
{
title
:
'角色列表'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/system-role'
,
name
:
'SystemRole'
,
component
:
()
=>
import
(
'@/views/role/RoleList'
),
meta
:
{
title
:
'角色列表2'
,
keepAlive
:
true
,
permission
:
[
'table'
]}
},
{
path
:
'/list/permission-list'
,
name
:
'PermissionList'
,
component
:
()
=>
import
(
'@/views/list/PermissionList'
),
meta
:
{
title
:
'权限列表'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/basic-list'
,
name
:
'BasicList'
,
component
:
()
=>
import
(
'@/views/list/StandardList'
),
meta
:
{
title
:
'标准列表'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/card'
,
name
:
'CardList'
,
component
:
()
=>
import
(
'@/views/list/CardList'
),
meta
:
{
title
:
'卡片列表'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/search'
,
name
:
'SearchList'
,
component
:
()
=>
import
(
'@/views/list/search/SearchLayout'
),
redirect
:
'/list/search/article'
,
meta
:
{
title
:
'搜索列表'
,
keepAlive
:
true
,
permission
:
[
'table'
]
},
children
:
[
{
path
:
'/list/search/article'
,
name
:
'SearchArticles'
,
component
:
()
=>
import
(
'../views/list/TableList'
),
meta
:
{
title
:
'搜索列表(文章)'
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/search/project'
,
name
:
'SearchProjects'
,
component
:
()
=>
import
(
'../views/list/TableList'
),
meta
:
{
title
:
'搜索列表(项目)'
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/search/application'
,
name
:
'SearchApplications'
,
component
:
()
=>
import
(
'../views/list/TableList'
),
meta
:
{
title
:
'搜索列表(应用)'
,
permission
:
[
'table'
]
}
},
]
},
]
},
// profile
{
path
:
'/profile'
,
name
:
'profile'
,
component
:
RouteView
,
redirect
:
'/profile/basic'
,
meta
:
{
title
:
'详情页'
,
icon
:
'profile'
,
permission
:
[
'profile'
]
},
children
:
[
{
path
:
'/profile/basic'
,
name
:
'ProfileBasic'
,
component
:
()
=>
import
(
'@/views/profile/basic/Index'
),
meta
:
{
title
:
'基础详情页'
,
permission
:
[
'profile'
]
}
},
{
path
:
'/profile/advanced'
,
name
:
'ProfileAdvanced'
,
component
:
()
=>
import
(
'@/views/profile/advanced/Advanced'
),
meta
:
{
title
:
'高级详情页'
,
permission
:
[
'profile'
]
}
}
]
},
// result
{
path
:
'/result'
,
name
:
'result'
,
component
:
PageView
,
redirect
:
'/result/success'
,
meta
:
{
title
:
'结果页'
,
icon
:
'check-circle-o'
,
permission
:
[
'result'
]
},
children
:
[
{
path
:
'/result/success'
,
name
:
'ResultSuccess'
,
component
:
()
=>
import
(
/* webpackChunkName: "result" */
'@/views/result/Success'
),
meta
:
{
title
:
'成功'
,
hiddenHeaderContent
:
true
,
permission
:
[
'result'
]
}
},
{
path
:
'/result/fail'
,
name
:
'ResultFail'
,
component
:
()
=>
import
(
/* webpackChunkName: "result" */
'@/views/result/Error'
),
meta
:
{
title
:
'失败'
,
hiddenHeaderContent
:
true
,
permission
:
[
'result'
]
}
}
]
},
// Exception
{
path
:
'/exception'
,
name
:
'exception'
,
component
:
RouteView
,
redirect
:
'/exception/403'
,
meta
:
{
title
:
'异常页'
,
icon
:
'warning'
,
permission
:
[
'exception'
]
},
children
:
[
{
path
:
'/exception/403'
,
name
:
'Exception403'
,
component
:
()
=>
import
(
/* webpackChunkName: "fail" */
'@/views/exception/403'
),
meta
:
{
title
:
'403'
,
permission
:
[
'exception'
]
}
},
{
path
:
'/exception/404'
,
name
:
'Exception404'
,
component
:
()
=>
import
(
/* webpackChunkName: "fail" */
'@/views/exception/404'
),
meta
:
{
title
:
'404'
,
permission
:
[
'exception'
]
}
},
{
path
:
'/exception/500'
,
name
:
'Exception500'
,
component
:
()
=>
import
(
/* webpackChunkName: "fail" */
'@/views/exception/500'
),
meta
:
{
title
:
'500'
,
permission
:
[
'exception'
]
}
}
]
},
// account
{
path
:
'/account'
,
component
:
RouteView
,
name
:
'account'
,
meta
:
{
title
:
'个人页'
,
icon
:
'user'
,
keepAlive
:
true
,
permission
:
[
'user'
]
},
children
:
[
{
path
:
'/account/center'
,
name
:
'center'
,
component
:
()
=>
import
(
'@/views/account/center/Index'
),
meta
:
{
title
:
'个人中心'
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
{
path
:
'/account/settings'
,
name
:
'settings'
,
component
:
()
=>
import
(
'@/views/account/settings/Index'
),
meta
:
{
title
:
'个人设置'
,
hideHeader
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
},
redirect
:
'/account/settings/base'
,
alwaysShow
:
true
,
children
:
[
{
path
:
'/account/settings/base'
,
name
:
'BaseSettings'
,
component
:
()
=>
import
(
'@/views/account/settings/BaseSetting'
),
meta
:
{
title
:
'基本设置'
,
hidden
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
{
path
:
'/account/settings/security'
,
name
:
'SecuritySettings'
,
component
:
()
=>
import
(
'@/views/account/settings/Security'
),
meta
:
{
title
:
'安全设置'
,
hidden
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
{
path
:
'/account/settings/custom'
,
name
:
'CustomSettings'
,
component
:
()
=>
import
(
'@/views/account/settings/Custom'
),
meta
:
{
title
:
'个性化设置'
,
hidden
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
{
path
:
'/account/settings/binding'
,
name
:
'BindingSettings'
,
component
:
()
=>
import
(
'@/views/account/settings/Binding'
),
meta
:
{
title
:
'账户绑定'
,
hidden
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
{
path
:
'/account/settings/notification'
,
name
:
'NotificationSettings'
,
component
:
()
=>
import
(
'@/views/account/settings/Notification'
),
meta
:
{
title
:
'新消息通知'
,
hidden
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
]
},
]
}
]
},
{
path
:
'*'
,
redirect
:
'/404'
,
hidden
:
true
}
]
/**
* 基础路由
* @type { *[] }
*/
export
const
constantRouterMap
=
[
{
path
:
'/user'
,
component
:
UserLayout
,
redirect
:
'/user/login'
,
hidden
:
true
,
children
:
[
{
path
:
'login'
,
name
:
'login'
,
component
:
()
=>
import
(
/* webpackChunkName: "user" */
'@/views/user/Login'
)
},
{
path
:
'register'
,
name
:
'register'
,
component
:
()
=>
import
(
/* webpackChunkName: "user" */
'@/views/user/Register'
)
},
{
path
:
'register-result'
,
name
:
'registerResult'
,
component
:
()
=>
import
(
/* webpackChunkName: "user" */
'@/views/user/RegisterResult'
)
}
]
},
{
path
:
'/test'
,
component
:
BlankLayout
,
redirect
:
'/test/home'
,
children
:
[
{
path
:
'home'
,
name
:
'TestHome'
,
component
:
()
=>
import
(
'@/views/Home'
)
}
]
},
{
path
:
'/404'
,
component
:
()
=>
import
(
/* webpackChunkName: "fail" */
'@/views/exception/404'
)
},
]
// eslint-disable-next-line
import
{
UserLayout
,
BasicLayout
,
RouteView
,
BlankLayout
,
PageView
}
from
'@/components/layouts'
export
const
asyncRouterMap
=
[
{
path
:
'/'
,
name
:
'index'
,
component
:
BasicLayout
,
meta
:
{
title
:
'首页'
},
redirect
:
'/dashboard/workplace'
,
children
:
[
// dashboard
{
path
:
'/dashboard'
,
name
:
'dashboard'
,
redirect
:
'/dashboard/workplace'
,
component
:
RouteView
,
meta
:
{
title
:
'仪表盘'
,
keepAlive
:
true
,
icon
:
'dashboard'
,
permission
:
[
'dashboard'
]
},
children
:
[
{
path
:
'/dashboard/analysis'
,
name
:
'Analysis'
,
component
:
()
=>
import
(
'@/views/dashboard/Analysis'
),
meta
:
{
title
:
'分析页'
,
keepAlive
:
false
,
permission
:
[
'dashboard'
]
}
},
{
path
:
'/dashboard/monitor'
,
name
:
'Monitor'
,
hidden
:
true
,
component
:
()
=>
import
(
'@/views/dashboard/Monitor'
),
meta
:
{
title
:
'监控页'
,
keepAlive
:
true
,
permission
:
[
'dashboard'
]
}
},
{
path
:
'/dashboard/workplace'
,
name
:
'Workplace'
,
component
:
()
=>
import
(
'@/views/dashboard/Workplace'
),
meta
:
{
title
:
'工作台'
,
keepAlive
:
true
,
permission
:
[
'dashboard'
]
}
}
]
},
// forms
{
path
:
'/form'
,
redirect
:
'/form/basic-form'
,
component
:
PageView
,
meta
:
{
title
:
'表单页'
,
icon
:
'form'
,
permission
:
[
'form'
]
},
children
:
[
{
path
:
'/form/base-form'
,
name
:
'BaseForm'
,
component
:
()
=>
import
(
'@/views/form/BasicForm'
),
meta
:
{
title
:
'基础表单'
,
keepAlive
:
true
,
permission
:
[
'form'
]
}
},
{
path
:
'/form/step-form'
,
name
:
'StepForm'
,
component
:
()
=>
import
(
'@/views/form/stepForm/StepForm'
),
meta
:
{
title
:
'分步表单'
,
keepAlive
:
true
,
permission
:
[
'form'
]
}
},
{
path
:
'/form/advanced-form'
,
name
:
'AdvanceForm'
,
component
:
()
=>
import
(
'@/views/form/advancedForm/AdvancedForm'
),
meta
:
{
title
:
'高级表单'
,
keepAlive
:
true
,
permission
:
[
'form'
]
}
}
]
},
// list
{
path
:
'/list'
,
name
:
'list'
,
component
:
PageView
,
redirect
:
'/list/query-list'
,
meta
:
{
title
:
'列表页'
,
icon
:
'table'
,
permission
:
[
'table'
]
},
children
:
[
{
path
:
'/list/query-list'
,
name
:
'QueryList'
,
component
:
()
=>
import
(
'@/views/list/TableList'
),
meta
:
{
title
:
'查询表格'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/tree-list'
,
name
:
'TreeList'
,
component
:
()
=>
import
(
'@/views/list/TreeList'
),
meta
:
{
title
:
'树目录表格'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/edit-table'
,
name
:
'EditList'
,
component
:
()
=>
import
(
'@/views/list/TableInnerEditList'
),
meta
:
{
title
:
'内联编辑表格'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/user-list'
,
name
:
'UserList'
,
component
:
()
=>
import
(
'@/views/list/UserList'
),
meta
:
{
title
:
'用户列表'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/role-list'
,
name
:
'RoleList'
,
component
:
()
=>
import
(
'@/views/list/RoleList'
),
meta
:
{
title
:
'角色列表'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/system-role'
,
name
:
'SystemRole'
,
component
:
()
=>
import
(
'@/views/role/RoleList'
),
meta
:
{
title
:
'角色列表2'
,
keepAlive
:
true
,
permission
:
[
'table'
]}
},
{
path
:
'/list/permission-list'
,
name
:
'PermissionList'
,
component
:
()
=>
import
(
'@/views/list/PermissionList'
),
meta
:
{
title
:
'权限列表'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/basic-list'
,
name
:
'BasicList'
,
component
:
()
=>
import
(
'@/views/list/StandardList'
),
meta
:
{
title
:
'标准列表'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/card'
,
name
:
'CardList'
,
component
:
()
=>
import
(
'@/views/list/CardList'
),
meta
:
{
title
:
'卡片列表'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/search'
,
name
:
'SearchList'
,
component
:
()
=>
import
(
'@/views/list/search/SearchLayout'
),
redirect
:
'/list/search/article'
,
meta
:
{
title
:
'搜索列表'
,
keepAlive
:
true
,
permission
:
[
'table'
]
},
children
:
[
{
path
:
'/list/search/article'
,
name
:
'SearchArticles'
,
component
:
()
=>
import
(
'../views/list/TableList'
),
meta
:
{
title
:
'搜索列表(文章)'
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/search/project'
,
name
:
'SearchProjects'
,
component
:
()
=>
import
(
'../views/list/TableList'
),
meta
:
{
title
:
'搜索列表(项目)'
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/search/application'
,
name
:
'SearchApplications'
,
component
:
()
=>
import
(
'../views/list/TableList'
),
meta
:
{
title
:
'搜索列表(应用)'
,
permission
:
[
'table'
]
}
},
]
},
]
},
// profile
{
path
:
'/profile'
,
name
:
'profile'
,
component
:
RouteView
,
redirect
:
'/profile/basic'
,
meta
:
{
title
:
'详情页'
,
icon
:
'profile'
,
permission
:
[
'profile'
]
},
children
:
[
{
path
:
'/profile/basic'
,
name
:
'ProfileBasic'
,
component
:
()
=>
import
(
'@/views/profile/basic/Index'
),
meta
:
{
title
:
'基础详情页'
,
permission
:
[
'profile'
]
}
},
{
path
:
'/profile/advanced'
,
name
:
'ProfileAdvanced'
,
component
:
()
=>
import
(
'@/views/profile/advanced/Advanced'
),
meta
:
{
title
:
'高级详情页'
,
permission
:
[
'profile'
]
}
}
]
},
// result
{
path
:
'/result'
,
name
:
'result'
,
component
:
PageView
,
redirect
:
'/result/success'
,
meta
:
{
title
:
'结果页'
,
icon
:
'check-circle-o'
,
permission
:
[
'result'
]
},
children
:
[
{
path
:
'/result/success'
,
name
:
'ResultSuccess'
,
component
:
()
=>
import
(
/* webpackChunkName: "result" */
'@/views/result/Success'
),
meta
:
{
title
:
'成功'
,
hiddenHeaderContent
:
true
,
permission
:
[
'result'
]
}
},
{
path
:
'/result/fail'
,
name
:
'ResultFail'
,
component
:
()
=>
import
(
/* webpackChunkName: "result" */
'@/views/result/Error'
),
meta
:
{
title
:
'失败'
,
hiddenHeaderContent
:
true
,
permission
:
[
'result'
]
}
}
]
},
// Exception
{
path
:
'/exception'
,
name
:
'exception'
,
component
:
RouteView
,
redirect
:
'/exception/403'
,
meta
:
{
title
:
'异常页'
,
icon
:
'warning'
,
permission
:
[
'exception'
]
},
children
:
[
{
path
:
'/exception/403'
,
name
:
'Exception403'
,
component
:
()
=>
import
(
/* webpackChunkName: "fail" */
'@/views/exception/403'
),
meta
:
{
title
:
'403'
,
permission
:
[
'exception'
]
}
},
{
path
:
'/exception/404'
,
name
:
'Exception404'
,
component
:
()
=>
import
(
/* webpackChunkName: "fail" */
'@/views/exception/404'
),
meta
:
{
title
:
'404'
,
permission
:
[
'exception'
]
}
},
{
path
:
'/exception/500'
,
name
:
'Exception500'
,
component
:
()
=>
import
(
/* webpackChunkName: "fail" */
'@/views/exception/500'
),
meta
:
{
title
:
'500'
,
permission
:
[
'exception'
]
}
}
]
},
// account
{
path
:
'/account'
,
component
:
RouteView
,
name
:
'account'
,
meta
:
{
title
:
'个人页'
,
icon
:
'user'
,
keepAlive
:
true
,
permission
:
[
'user'
]
},
children
:
[
{
path
:
'/account/center'
,
name
:
'center'
,
component
:
()
=>
import
(
'@/views/account/center/Index'
),
meta
:
{
title
:
'个人中心'
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
{
path
:
'/account/settings'
,
name
:
'settings'
,
component
:
()
=>
import
(
'@/views/account/settings/Index'
),
meta
:
{
title
:
'个人设置'
,
hideHeader
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
},
redirect
:
'/account/settings/base'
,
alwaysShow
:
true
,
children
:
[
{
path
:
'/account/settings/base'
,
name
:
'BaseSettings'
,
component
:
()
=>
import
(
'@/views/account/settings/BaseSetting'
),
meta
:
{
title
:
'基本设置'
,
hidden
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
{
path
:
'/account/settings/security'
,
name
:
'SecuritySettings'
,
component
:
()
=>
import
(
'@/views/account/settings/Security'
),
meta
:
{
title
:
'安全设置'
,
hidden
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
{
path
:
'/account/settings/custom'
,
name
:
'CustomSettings'
,
component
:
()
=>
import
(
'@/views/account/settings/Custom'
),
meta
:
{
title
:
'个性化设置'
,
hidden
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
{
path
:
'/account/settings/binding'
,
name
:
'BindingSettings'
,
component
:
()
=>
import
(
'@/views/account/settings/Binding'
),
meta
:
{
title
:
'账户绑定'
,
hidden
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
{
path
:
'/account/settings/notification'
,
name
:
'NotificationSettings'
,
component
:
()
=>
import
(
'@/views/account/settings/Notification'
),
meta
:
{
title
:
'新消息通知'
,
hidden
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
]
},
]
}
]
},
{
path
:
'*'
,
redirect
:
'/404'
,
hidden
:
true
}
]
/**
* 基础路由
* @type { *[] }
*/
export
const
constantRouterMap
=
[
{
path
:
'/user'
,
component
:
UserLayout
,
redirect
:
'/user/login'
,
hidden
:
true
,
children
:
[
{
path
:
'login'
,
name
:
'login'
,
component
:
()
=>
import
(
/* webpackChunkName: "user" */
'@/views/user/Login'
)
},
{
path
:
'register'
,
name
:
'register'
,
component
:
()
=>
import
(
/* webpackChunkName: "user" */
'@/views/user/Register'
)
},
{
path
:
'register-result'
,
name
:
'registerResult'
,
component
:
()
=>
import
(
/* webpackChunkName: "user" */
'@/views/user/RegisterResult'
)
}
]
},
{
path
:
'/test'
,
component
:
BlankLayout
,
redirect
:
'/test/home'
,
children
:
[
{
path
:
'home'
,
name
:
'TestHome'
,
component
:
()
=>
import
(
'@/views/Home'
)
}
]
},
{
path
:
'/404'
,
component
:
()
=>
import
(
/* webpackChunkName: "fail" */
'@/views/exception/404'
)
},
]
src/views/list/TreeList.vue
0 → 100644
View file @
287196d2
<
template
>
<a-card
:bordered=
"false"
>
<a-row
:gutter=
"8"
>
<a-col
:span=
"6"
>
<a-menu
class=
"custom-tree"
@
click=
"handleClick"
style=
"width: 200px"
:defaultSelectedKeys=
"['1']"
:openKeys
.
sync=
"openKeys"
mode=
"inline"
>
<a-sub-menu
key=
"sub1"
@
titleClick=
"titleClick"
>
<span
slot=
"title"
><a-icon
type=
"mail"
/><span>
研发中心
</span></span>
<a-menu-item-group
key=
"g1"
>
<template
slot=
"title"
>
<span>
后端组
</span>
<a-dropdown>
<a
class=
"btn"
><a-icon
type=
"ellipsis"
/></a>
<a-menu
slot=
"overlay"
>
<a-menu-item
key=
"1"
>
新增
</a-menu-item>
<a-menu-item
key=
"2"
>
合并
</a-menu-item>
<a-menu-item
key=
"3"
>
移除
</a-menu-item>
</a-menu>
</a-dropdown>
</
template
>
<a-menu-item
key=
"1"
>
爪哇组
<a
class=
"btn"
><a-icon
type=
"plus"
/></a>
</a-menu-item>
<a-menu-item
key=
"2"
>
拍黄片组
<a
class=
"btn"
><a-icon
type=
"plus"
/></a>
</a-menu-item>
</a-menu-item-group>
<a-menu-item-group
key=
"g2"
>
<
template
slot=
"title"
>
<span>
前端组
</span>
<a
class=
"btn"
><a-icon
type=
"ellipsis"
/></a>
</
template
>
<a-menu-item
key=
"2-1"
>
React
<a
class=
"btn"
><a-icon
type=
"plus"
/></a>
</a-menu-item>
<a-menu-item
key=
"2-2"
>
Vue
<a
class=
"btn"
><a-icon
type=
"plus"
/></a>
</a-menu-item>
<a-menu-item
key=
"2-3"
>
Angular
<a
class=
"btn"
><a-icon
type=
"plus"
/></a>
</a-menu-item>
</a-menu-item-group>
</a-sub-menu>
<a-sub-menu
key=
"sub2"
@
titleClick=
"titleClick"
>
<span
slot=
"title"
><a-icon
type=
"appstore"
/><span>
财务部
</span></span>
<a-menu-item
key=
"3-1"
>
会计核算
</a-menu-item>
<a-menu-item
key=
"3-2"
>
成本控制
</a-menu-item>
<a-sub-menu
key=
"sub3"
title=
"内部控制"
>
<a-menu-item
key=
"3-3-1"
>
财务制度建设
</a-menu-item>
<a-menu-item
key=
"3-3-2"
>
会计核算
</a-menu-item>
</a-sub-menu>
</a-sub-menu>
<a-sub-menu
key=
"sub4"
>
<span
slot=
"title"
><a-icon
type=
"setting"
/><span>
Navigation Three
</span></span>
<a-menu-item
key=
"9"
>
Option 9
</a-menu-item>
<a-menu-item
key=
"10"
>
Option 10
</a-menu-item>
<a-menu-item
key=
"11"
>
Option 11
</a-menu-item>
<a-menu-item
key=
"12"
>
Option 12
</a-menu-item>
</a-sub-menu>
</a-menu>
</a-col>
<a-col
:span=
"18"
>
<s-table
ref=
"table"
size=
"default"
:columns=
"columns"
:data=
"loadData"
:alert=
"false"
:rowSelection=
"{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<span
slot=
"action"
slot-scope=
"text, record"
>
<
template
v-if=
"$auth('table.update')"
>
<a
@
click=
"handleEdit(record)"
>
编辑
</a>
<a-divider
type=
"vertical"
/>
</
template
>
<a-dropdown>
<a
class=
"ant-dropdown-link"
>
更多
<a-icon
type=
"down"
/>
</a>
<a-menu
slot=
"overlay"
>
<a-menu-item>
<a
href=
"javascript:;"
>
详情
</a>
</a-menu-item>
<a-menu-item
v-if=
"$auth('table.disable')"
>
<a
href=
"javascript:;"
>
禁用
</a>
</a-menu-item>
<a-menu-item
v-if=
"$auth('table.delete')"
>
<a
href=
"javascript:;"
>
删除
</a>
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
</s-table>
</a-col>
</a-row>
</a-card>
</template>
<
script
>
import
STable
from
'@/components/table/'
import
{
getServiceList
}
from
'@/api/manage'
export
default
{
name
:
'TreeList'
,
components
:
{
STable
},
data
()
{
return
{
openKeys
:
[
'sub1'
],
// 查询参数
queryParam
:
{},
// 表头
columns
:
[
{
title
:
'规则编号'
,
dataIndex
:
'no'
},
{
title
:
'描述'
,
dataIndex
:
'description'
},
{
title
:
'服务调用次数'
,
dataIndex
:
'callNo'
,
sorter
:
true
,
needTotal
:
true
,
customRender
:
(
text
)
=>
text
+
' 次'
},
{
title
:
'状态'
,
dataIndex
:
'status'
,
needTotal
:
true
},
{
title
:
'更新时间'
,
dataIndex
:
'updatedAt'
,
sorter
:
true
},
{
table
:
'操作'
,
dataIndex
:
'action'
,
width
:
'150px'
,
scopedSlots
:
{
customRender
:
'action'
},
}
],
// 加载数据方法 必须为 Promise 对象
loadData
:
parameter
=>
{
return
getServiceList
(
Object
.
assign
(
parameter
,
this
.
queryParam
))
.
then
(
res
=>
{
return
res
.
result
})
},
selectedRowKeys
:
[],
selectedRows
:
[]
}
},
methods
:
{
handleClick
(
e
)
{
console
.
log
(
'click'
,
e
)
},
titleClick
(
e
)
{
console
.
log
(
'titleClick'
,
e
)
},
onSelectChange
(
selectedRowKeys
,
selectedRows
)
{
this
.
selectedRowKeys
=
selectedRowKeys
this
.
selectedRows
=
selectedRows
},
}
}
</
script
>
<
style
lang=
"less"
scoped
>
.custom-tree
{
/deep/
.ant-menu-item-group-title
{
position
:
relative
;
&:hover
{
.btn
{
display
:
block
;
}
}
}
/
deep
/
.ant-menu-item
{
&:hover
{
.btn
{
display
:
block
;
}
}
}
/
deep
/
.btn
{
display
:
none
;
position
:
absolute
;
top
:
0
;
right
:
10px
;
width
:
20px
;
height
:
40px
;
line-height
:
40px
;
&:hover
{
transform
:
scale
(
1.2
);
transition
:
0.5s
all
;
}
}
}
</
style
>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment