提交 9123a461 authored 作者: haodaking's avatar haodaking

样式优化

上级 c848fdf4
差异被折叠。
...@@ -10,12 +10,12 @@ ...@@ -10,12 +10,12 @@
"lint": "eslint --ext .js,.vue --ignore-path .gitignore --fix src" "lint": "eslint --ext .js,.vue --ignore-path .gitignore --fix src"
}, },
"dependencies": { "dependencies": {
"axios": "^0.21.4", "axios": "^0.25.0",
"element-ui": "^2.15.6", "element-ui": "^2.15.6",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"query-string": "^7.0.1", "query-string": "^7.1.0",
"vue": "^2.6.14", "vue": "^2.6.14",
"vue-router": "^3.5.2", "vue-router": "^3.5.3",
"vuex": "^3.6.2" "vuex": "^3.6.2"
}, },
"devDependencies": { "devDependencies": {
...@@ -30,8 +30,8 @@ ...@@ -30,8 +30,8 @@
"eslint-plugin-promise": "^5.1.0", "eslint-plugin-promise": "^5.1.0",
"eslint-plugin-vue": "^7.18.0", "eslint-plugin-vue": "^7.18.0",
"sass": "1.32.13", "sass": "1.32.13",
"vite": "^2.5.10", "vite": "^2.7.13",
"vite-plugin-vue2": "^1.8.2", "vite-plugin-vue2": "^1.9.2",
"vue-template-compiler": "^2.6.14" "vue-template-compiler": "^2.6.14"
} }
} }
...@@ -24,9 +24,11 @@ export default { ...@@ -24,9 +24,11 @@ export default {
background: #ffffff; background: #ffffff;
box-shadow: 0 1px 6px 0 rgb(228 232 235 / 20%); box-shadow: 0 1px 6px 0 rgb(228 232 235 / 20%);
border-radius: 8px; border-radius: 8px;
margin-bottom: 20px;
padding: 32px; padding: 32px;
} }
.app-card + .app-card {
margin-top: 20px;
}
.app-card-hd { .app-card-hd {
display: flex; display: flex;
} }
......
...@@ -61,17 +61,17 @@ export default { ...@@ -61,17 +61,17 @@ export default {
<style lang="scss"> <style lang="scss">
.app-aside { .app-aside {
position: sticky;
top: 0;
width: 200px; width: 200px;
z-index: 100;
background: #fff; background: #fff;
border-right: 1px solid rgba(0, 0, 0, 0.12); border-right: 1px solid rgba(0, 0, 0, 0.12);
overflow-x: hidden; overflow-x: hidden;
overflow-y: auto; overflow-y: auto;
flex: 0 0 200px; flex: 0 0 200px;
box-sizing: content-box;
} }
.nav { .nav {
position: fixed;
width: 200px;
margin: 20px 0; margin: 20px 0;
.el-menu { .el-menu {
border-right: 0; border-right: 0;
......
...@@ -9,12 +9,20 @@ ...@@ -9,12 +9,20 @@
<div class="app-header-right"> <div class="app-header-right">
<el-dropdown> <el-dropdown>
<div class="avatar"> <div class="avatar">
<img :src="user.avatar || 'https://zws-imgs-pub.ezijing.com/pc/base/logo.png'" /> <img :src="user.avatar || 'https://webapp-pub.ezijing.com/website/base/images/avatar.svg'" />
</div>
<el-dropdown-menu slot="dropdown" style="width: 280px">
<div class="app-header-user">
<div class="app-header-user-avatar">
<img :src="user.avatar || 'https://webapp-pub.ezijing.com/website/base/images/avatar.svg'" />
</div>
<div class="app-header-user-main">
<h3>{{ user.realname || user.nickname }}</h3>
<p>{{ user.email || user.mobile }}</p>
</div>
<div class="app-header-user-buttons">
<el-button size="medium" round @click="logout">退出登录</el-button>
</div> </div>
<el-dropdown-menu slot="dropdown">
<div class="user">
<div class="user-name">{{ user.realname || user.nickname }}</div>
<el-button round size="medium" class="btn-logout" @click="logout">退出登录</el-button>
</div> </div>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
...@@ -46,6 +54,9 @@ export default { ...@@ -46,6 +54,9 @@ export default {
<style lang="scss"> <style lang="scss">
.app-header { .app-header {
position: sticky;
top: 0;
z-index: 1000;
padding: 0 20px; padding: 0 20px;
display: flex; display: flex;
align-items: center; align-items: center;
...@@ -53,7 +64,6 @@ export default { ...@@ -53,7 +64,6 @@ export default {
height: 64px; height: 64px;
background-color: #3276fc; background-color: #3276fc;
color: #fff; color: #fff;
.logo { .logo {
width: 120px; width: 120px;
} }
...@@ -83,15 +93,50 @@ export default { ...@@ -83,15 +93,50 @@ export default {
border-radius: 50%; border-radius: 50%;
overflow: hidden; overflow: hidden;
} }
&:hover {
background-color: rgba(60, 64, 67, 0.08);
}
} }
} }
.user { .app-header-user {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
padding: 16px; padding: 16px;
} }
.user-name { .app-header-user-avatar {
margin-bottom: 20px; margin-bottom: 6px;
width: 80px;
height: 80px;
border-radius: 50%;
overflow: hidden;
img {
width: 100%;
height: 100%;
object-fit: cover;
}
}
.app-header-user-main {
h3 {
color: #202124;
font: 500 16px/22px Helvetica, Arial, sans-serif;
letter-spacing: 0.29px;
margin: 0;
text-align: center;
text-overflow: ellipsis;
overflow: hidden;
}
p {
color: #5f6368;
font: 400 14px/19px Helvetica, Arial, sans-serif;
letter-spacing: normal;
text-align: center;
text-overflow: ellipsis;
overflow: hidden;
}
} }
.btn-logout { .app-header-user-buttons {
width: 200px; padding-top: 16px;
} }
</style> </style>
...@@ -7,6 +7,13 @@ export function getRoleList(params) { ...@@ -7,6 +7,13 @@ export function getRoleList(params) {
return httpRequest.get(`/api/permissions/admin/v1/${params.app_id}/application/roles`, { params }) return httpRequest.get(`/api/permissions/admin/v1/${params.app_id}/application/roles`, { params })
} }
/**
* 获取角色详情
*/
export function getRole(params) {
return httpRequest.get(`/api/permissions/admin/v1/application/${params.id}/role`, { params })
}
/** /**
* 创建角色 * 创建角色
*/ */
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<app-card> <app-card>
<app-list v-bind="tableOptions" ref="list" @selection-change="handleSelectionChange"> <app-list v-bind="tableOptions" ref="list" @selection-change="handleSelectionChange">
<template #header-aside> <template #header-aside>
<h2>{{ role.name }}</h2>
<el-button type="primary" icon="el-icon-plus" @click="visible = true">添加成员</el-button> <el-button type="primary" icon="el-icon-plus" @click="visible = true">添加成员</el-button>
</template> </template>
<template #footer> <template #footer>
...@@ -16,14 +17,14 @@ ...@@ -16,14 +17,14 @@
// 组件 // 组件
// 接口 // 接口
import { getRoleUsers, addRoleUsers, deleteRoleUsers } from '../api' import { getRole, getRoleUsers, addRoleUsers, deleteRoleUsers } from '../api'
export default { export default {
props: { id: { type: String, required: true } }, props: { id: { type: String, required: true } },
components: { UserSelect: () => import('@/components/base/UserSelect.vue') }, components: { UserSelect: () => import('@/components/base/UserSelect.vue') },
data() { data() {
return { return {
roles: [], role: {},
visible: false, visible: false,
multipleSelection: [] // 已选择的数据 multipleSelection: [] // 已选择的数据
} }
...@@ -50,6 +51,9 @@ export default { ...@@ -50,6 +51,9 @@ export default {
} }
} }
}, },
beforeMount() {
this.getRole()
},
methods: { methods: {
// 选择 // 选择
handleSelectionChange(value) { handleSelectionChange(value) {
...@@ -79,7 +83,26 @@ export default { ...@@ -79,7 +83,26 @@ export default {
this.visible = false this.visible = false
this.$refs.list.refetch() this.$refs.list.refetch()
}) })
},
// 获取角色详情
getRole() {
getRole({ id: this.id }).then(res => {
this.role = res.data
})
} }
} }
} }
</script> </script>
<style lang="scss" scoped>
::v-deep .table-list-hd-aside {
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
h2 {
font-size: 18px;
font-weight: 700;
}
}
</style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论