update:路由缓存&&角色账号

parent 808dbc70
<template> <template>
<div> <div>
<router-view /> <!-- <router-view /> -->
<router-view v-slot="{ Component }">
<keep-alive v-if="$route.meta.keepAlive">
<component :is="Component"> </component>
</keep-alive>
<component :is="Component" v-if="!$route.meta.keepAlive"> </component>
</router-view>
</div> </div>
</template> </template>
......
<template> <template>
<div class="addRole"> <div>
<el-button <div class="addRole">
type="primary" <el-page-header class="back" @back="goBack" content="角色创建页面">
v-if="permission.get('create')" </el-page-header>
@click="newAddRole" <el-button type="primary" @click="newAddRole">新增</el-button>
>新增</el-button <!-- 角色列表 -->
> <el-table
<!-- 角色列表 --> :data="roleDataList"
<el-table style="width: 100%; margin-top: 10px"
:data="roleDataList" :header-cell-style="{ background: '#e1e4e5', color: '#80878f' }"
style="width: 100%; margin-top: 10px" border
:header-cell-style="{ background: '#e1e4e5', color: '#80878f' }" @row-click="toRoleDetail"
border >
@row-click="toRoleDetail" <el-table-column prop="role_name" label="角色名称" width="180">
> </el-table-column>
<el-table-column prop="role_name" label="角色名称" width="180"> <el-table-column prop="role_range" label="角色范围"> </el-table-column>
</el-table-column> <el-table-column label="操作">
<el-table-column prop="role_range" label="角色范围"> </el-table-column> <template #default="scope">
<el-table-column label="操作"> <el-button
<template #default="scope"> size="mini"
<el-button type="primary"
size="mini" @click.stop="handleModify(scope.$index, scope.row)"
type="primary" >修改</el-button
@click.stop="handleModify(scope.$index, scope.row)" >
>修改</el-button </template>
> </el-table-column>
</el-table>
<!-- 弹框 -->
<el-dialog :title="roleTitle" v-model="dialogFormVisible">
<el-form>
<!-- 编辑 -->
<div v-if="edit">
<roleInfo :role_info_detail="role_info_detail" />
</div>
<!-- 新增 -->
<el-form-item label="角色名称" :label-width="formLabelWidth">
<el-input v-model="roleName" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="角色范围" :label-width="formLabelWidth">
<el-cascader
v-model="selectedOptions"
:options="permissionsAll"
:props="props"
@change="parentCateChange"
clearable
style="width: 280px"
></el-cascader>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="confirmRole(edit)"
>确 定</el-button
>
</span>
</template> </template>
</el-table-column> </el-dialog>
</el-table> <page :totalNum="totalNum" @update="update" />
<!-- 弹框 --> </div>
<el-dialog :title="roleTitle" v-model="dialogFormVisible">
<el-form>
<!-- 编辑 -->
<div v-if="edit">
<roleInfo :role_info_detail="role_info_detail" />
</div>
<!-- 新增 -->
<el-form-item label="角色名称" :label-width="formLabelWidth">
<el-input v-model="roleName" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="角色范围" :label-width="formLabelWidth">
<el-cascader
v-model="selectedOptions"
:options="permissionsAll"
:props="props"
@change="parentCateChange"
clearable
style="width: 280px"
></el-cascader>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="confirmRole(edit)">确 定</el-button>
</span>
</template>
</el-dialog>
<page :totalNum="totalNum" @update="update" />
</div> </div>
</template> </template>
<script> <script>
...@@ -76,12 +77,6 @@ export default { ...@@ -76,12 +77,6 @@ export default {
page, page,
roleInfo roleInfo
}, },
computed: {
permission () {
const modulePermissions = this.$store.getters.moduleSubPermissions('role') || [];
return new Map(modulePermissions.map(ele => [ele.name, true]))
},
},
data () { data () {
return { return {
parmas: { parmas: {
...@@ -90,8 +85,7 @@ export default { ...@@ -90,8 +85,7 @@ export default {
}, },
user_info: { user_info: {
name: "jianghaiming", name: "jianghaiming",
email: "jianghaiming@126.com", email: "jianghaiming@126.com"
// op_cur_user: "jianghaiming@yidian-inc.com",
}, },
roleDataList: [], roleDataList: [],
totalNum: null, totalNum: null,
...@@ -131,6 +125,9 @@ export default { ...@@ -131,6 +125,9 @@ export default {
toRoleDetail (row) { toRoleDetail (row) {
this.$router.push({ name: 'RoleDetail', query: { roleId: row.role_id } }); this.$router.push({ name: 'RoleDetail', query: { roleId: row.role_id } });
}, },
goBack () {
this.$router.go(-1)
},
getPermissionsAll () { getPermissionsAll () {
// this.user_info = this.$store.state.userInfo // this.user_info = this.$store.state.userInfo
let { email } = this.user_info let { email } = this.user_info
...@@ -170,9 +167,7 @@ export default { ...@@ -170,9 +167,7 @@ export default {
this.checkFn() this.checkFn()
return false return false
} }
let { email } = this.$store.state.userInfo //当前登陆人
let parmasAdd_role = { let parmasAdd_role = {
op_cur_user: email,
role_name: this.roleName, role_name: this.roleName,
permissions: this.currentRolePrivilege permissions: this.currentRolePrivilege
} }
...@@ -236,9 +231,7 @@ export default { ...@@ -236,9 +231,7 @@ export default {
return false return false
} }
let { role_id, role_status } = this.role_info_detail let { role_id, role_status } = this.role_info_detail
let { email } = this.$store.state.userInfo//当前登陆人
let parmasUpdate_role = { let parmasUpdate_role = {
op_cur_user: email,
role_name: this.roleName, role_name: this.roleName,
role_id, role_id,
role_status, role_status,
...@@ -299,5 +292,8 @@ export default { ...@@ -299,5 +292,8 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
.addRole { .addRole {
margin: 50px; margin: 50px;
.back {
margin: 20px 0;
}
} }
</style> </style>
\ No newline at end of file
...@@ -2,25 +2,33 @@ ...@@ -2,25 +2,33 @@
<layout> <layout>
<el-card class="role_management"> <el-card class="role_management">
<!-- 角色检索区域 --> <!-- 角色检索区域 -->
<el-form inline :model="searchForm"> <div class="creatRole">
<el-form-item label="角色名称"> <el-form inline :model="searchForm">
<el-input v-model="searchForm.roleName"></el-input> <el-form-item label="角色名称">
</el-form-item> <el-input v-model="searchForm.roleName"></el-input>
<el-form-item label="状态"> </el-form-item>
<el-select <el-form-item label="状态">
v-model="searchForm.roleStatus" <el-select
placeholder="请选择角色状态" v-model="searchForm.roleStatus"
> placeholder="请选择角色状态"
<el-option label="正常" :value="1"></el-option> >
<el-option label="禁用" :value="2"></el-option> <el-option label="正常" :value="1"></el-option>
<el-option label="删除" :value="3"></el-option> <el-option label="禁用" :value="2"></el-option>
</el-select> <el-option label="删除" :value="3"></el-option>
</el-form-item> </el-select>
<el-form-item> </el-form-item>
<el-button type="primary" @click="onSearchSubmit">查询</el-button> <el-form-item>
<el-button @click="onReset">重置</el-button> <el-button type="primary" @click="onSearchSubmit">查询</el-button>
</el-form-item> <el-button @click="onReset">重置</el-button>
</el-form> </el-form-item>
</el-form>
<el-form v-if="permission.get('create')">
<el-form-item>
<el-button type="primary" @click="onCreateRole">创建角色</el-button>
</el-form-item>
</el-form>
</div>
<!-- 角色搜索列表 --> <!-- 角色搜索列表 -->
<el-table border :data="managementList" @row-click="toRoleDetail"> <el-table border :data="managementList" @row-click="toRoleDetail">
<el-table-column <el-table-column
...@@ -142,7 +150,6 @@ export default { ...@@ -142,7 +150,6 @@ export default {
}, },
user_info: { user_info: {
name: "jianghaiming@yidian-inc.com", name: "jianghaiming@yidian-inc.com",
// op_cur_user: "jianghaiming@yidian-inc.com",
email: "jianghaiming@126.com", email: "jianghaiming@126.com",
}, },
parmas: { parmas: {
...@@ -177,6 +184,9 @@ export default { ...@@ -177,6 +184,9 @@ export default {
let statusText = ['正常', '禁用', '删除'] let statusText = ['正常', '禁用', '删除']
return statusText[row.role_status - 1] return statusText[row.role_status - 1]
}, },
onCreateRole () {
this.$router.push({ name: 'AddRole' });
},
toRoleDetail (row) { toRoleDetail (row) {
this.$router.push({ name: 'RoleDetail', query: { roleId: row.role_id } }); this.$router.push({ name: 'RoleDetail', query: { roleId: row.role_id } });
}, },
...@@ -251,7 +261,7 @@ export default { ...@@ -251,7 +261,7 @@ export default {
role_name, role_name,
} }
this.permissionsUpdate = permissions this.permissionsUpdate = permissions
let { email } = this.$store.state.userInfo //当前用户 // let { email } = this.$store.state.userInfo //当前用户
let role_status let role_status
if (type === "disable") { if (type === "disable") {
role_status = 2 role_status = 2
...@@ -265,7 +275,8 @@ export default { ...@@ -265,7 +275,8 @@ export default {
role_status = "" role_status = ""
} }
if (type !== "modify") { if (type !== "modify") {
this.getUpdate_role(email, role_name, role_id, role_status, permissions) this.getUpdate_role(role_name, role_id, role_status, permissions)
} }
}) })
}, },
...@@ -307,9 +318,8 @@ export default { ...@@ -307,9 +318,8 @@ export default {
this.openBounced("disable", row.role_id) this.openBounced("disable", row.role_id)
}, },
//编辑列表操作 //编辑列表操作
getUpdate_role (email, role_name, role_id, role_status, permissions) { getUpdate_role (role_name, role_id, role_status, permissions) {
let parmasUpdate_role = { let parmasUpdate_role = {
op_cur_user: email,
role_name: role_name, role_name: role_name,
role_id, role_id,
role_status, role_status,
...@@ -319,6 +329,12 @@ export default { ...@@ -319,6 +329,12 @@ export default {
if (res.status === "success") { if (res.status === "success") {
this.dialogVisible = false this.dialogVisible = false
this.getGetRole_list() this.getGetRole_list()
} else {
this.dialogVisible = false
this.$message({
type: 'info',
message: `${res.reason}`
});
} }
}) })
}, },
...@@ -335,10 +351,10 @@ export default { ...@@ -335,10 +351,10 @@ export default {
}, },
//确认修改 //确认修改
confirm () { confirm () {
let { email } = this.$store.state.userInfo // let { email } = this.$store.state.userInfo
let { role_id, role_name } = this.role_info_detail let { role_id, role_name } = this.role_info_detail
let role_status = '' let role_status = ''
this.getUpdate_role(email, role_name, role_id, role_status, this.currentRolePrivilege) this.getUpdate_role(role_name, role_id, role_status, this.currentRolePrivilege)
}, },
parentCateChange (id) { parentCateChange (id) {
this.getSelectedOptions(id) this.getSelectedOptions(id)
...@@ -376,6 +392,10 @@ export default { ...@@ -376,6 +392,10 @@ export default {
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.creatRole {
display: flex;
justify-content: space-between;
}
.role_management { .role_management {
padding: 20px; padding: 20px;
} }
......
<template> <template>
<div class="user-detail"> <div class="user-detail">
<el-button type="text" @click="goBack" icon="el-icon-arrow-left" <el-page-header @back="goBack" content="角色详情页面"> </el-page-header>
>返回</el-button
>
<el-card class="management"> <el-card class="management">
<h3 style="margin-bottom: 10px">角色详情</h3> <h5 style="margin-bottom: 10px">角色信息</h5>
<el-descriptions class="margin-top" :column="2" border> <el-descriptions class="margin-top" :column="2" border>
<el-descriptions-item> <el-descriptions-item>
<template #label>状态 </template> <template #label>状态 </template>
...@@ -35,8 +33,14 @@ ...@@ -35,8 +33,14 @@
{{ role_info_detail.update_time }} {{ role_info_detail.update_time }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template #label> 角色账号 </template> <template #label> 角色状态 </template>
{{ role_info_detail.role_status }} {{
role_info_detail.role_status == 1
? "正常"
: role_info_detail.role_status == 2
? "禁用"
: "删除"
}}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<div class="tree" v-if="selectedOptions"> <div class="tree" v-if="selectedOptions">
...@@ -52,6 +56,16 @@ ...@@ -52,6 +56,16 @@
></el-cascader> ></el-cascader>
</div> </div>
</div> </div>
<div v-if="role_info_detail.role_account_list.length > 0">
<h5 style="margin: 10px 0">角色账号</h5>
<div
class="role_account_list"
v-for="(item, index) in role_info_detail.role_account_list"
:key="index"
>
{{ item }}
</div>
</div>
</el-card> </el-card>
</div> </div>
</template> </template>
...@@ -80,11 +94,12 @@ export default { ...@@ -80,11 +94,12 @@ export default {
update_time: "", update_time: "",
update_user_name: "", update_user_name: "",
create_time: "", create_time: "",
create_user_name: "" create_user_name: "",
role_account_list: []
} }
} }
}, },
created () { activated () {
// this.user_info = this.$store.state.userInfo // this.user_info = this.$store.state.userInfo
this.roleId = this.$route.query.roleId this.roleId = this.$route.query.roleId
let { email } = this.user_info let { email } = this.user_info
...@@ -92,7 +107,7 @@ export default { ...@@ -92,7 +107,7 @@ export default {
this.permissionsAll = res this.permissionsAll = res
}) })
reqGet_role_info(this.roleId).then((res) => { reqGet_role_info(this.roleId).then((res) => {
const { role_id, role_name, role_status, update_time, update_user_name, create_time, create_user_name, permissions } = res const { role_id, role_name, role_status, update_time, update_user_name, create_time, create_user_name, role_account_list, permissions } = res
this.role_info_detail = { this.role_info_detail = {
role_id, role_id,
role_name, role_name,
...@@ -100,7 +115,8 @@ export default { ...@@ -100,7 +115,8 @@ export default {
update_time, update_time,
update_user_name, update_user_name,
create_time, create_time,
create_user_name create_user_name,
role_account_list
} }
this.editEchoData(permissions) this.editEchoData(permissions)
}) })
...@@ -129,6 +145,13 @@ export default { ...@@ -129,6 +145,13 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
.user-detail { .user-detail {
margin: 50px; margin: 50px;
.role_account_list {
padding: 10px;
color: #909399;
background: #fafafa;
font-weight: 400;
line-height: 1.5;
}
.management { .management {
margin-top: 20px; margin-top: 20px;
} }
......
<template> <template>
<div class="user-detail"> <div class="user-detail">
<el-button type="text" @click="goBack" icon="el-icon-arrow-left" <el-page-header @back="goBack" content="用户详情页面"> </el-page-header>
>返回</el-button
>
<el-card class="management"> <el-card class="management">
<h2 style="margin-bottom: 10px">用户详情</h2> <h2 style="margin-bottom: 10px">用户信息</h2>
<el-descriptions class="margin-top" :column="3" :size="size" border> <el-descriptions class="margin-top" :column="3" :size="size" border>
<el-descriptions-item> <el-descriptions-item>
<template #label> 用户姓名 </template> <template #label> 用户姓名 </template>
...@@ -39,7 +37,7 @@ ...@@ -39,7 +37,7 @@
{{ user_info.is_sensitive_authority == 1 ? "有" : "无" }} {{ user_info.is_sensitive_authority == 1 ? "有" : "无" }}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<div class="role">已拥有角色池</div> <div class="role">角色信息</div>
<el-table :data="role_list" border style="width: 100%"> <el-table :data="role_list" border style="width: 100%">
<el-table-column prop="role_id" label="ID" width="180"> <el-table-column prop="role_id" label="ID" width="180">
</el-table-column> </el-table-column>
......
...@@ -89,7 +89,8 @@ const routes = [ ...@@ -89,7 +89,8 @@ const routes = [
name: 'AddRole', name: 'AddRole',
component: AddRole, component: AddRole,
meta: { meta: {
requireAuth: true requireAuth: true,
keepAlive: true
} }
}, },
{ {
...@@ -104,7 +105,10 @@ const routes = [ ...@@ -104,7 +105,10 @@ const routes = [
{ {
path: '/roleRoleDetail', path: '/roleRoleDetail',
name: 'RoleDetail', name: 'RoleDetail',
component: RoleDetail component: RoleDetail,
meta: {
keepAlive: true
}
} }
]; ];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment