角色菜单更新

This commit is contained in:
ludj
2022-11-30 19:18:35 +08:00
parent 4004f6d4df
commit 66aaa6f2b8
7 changed files with 144 additions and 151 deletions

View File

@@ -13,9 +13,9 @@
class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
<rrOperation/>
<rrOperation />
</div>
<crudOperation :permission="permission"/>
<crudOperation :permission="permission" />
</div>
<!-- 表单渲染 -->
<el-dialog
@@ -28,10 +28,10 @@
>
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form-item label="角色名称" prop="name">
<el-input v-model="form.name" style="width: 380px;"/>
<el-input v-model="form.name" style="width: 380px;" />
</el-form-item>
<el-form-item label="备注" prop="description">
<el-input v-model="form.description" style="width: 380px;" rows="2" type="textarea"/>
<el-input v-model="form.description" style="width: 380px;" rows="2" type="textarea" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -55,9 +55,9 @@
@selection-change="crud.selectionChangeHandler"
@current-change="handleCurrentChange"
>
<el-table-column type="selection" width="55"/>
<el-table-column prop="name" label="名称" min-width="100" show-overflow-tooltip/>
<el-table-column show-overflow-tooltip prop="description" label="描述"/>
<el-table-column type="selection" width="55" />
<el-table-column prop="name" label="名称" min-width="100" show-overflow-tooltip />
<el-table-column show-overflow-tooltip prop="description" label="描述" />
<el-table-column show-overflow-tooltip width="135px" prop="createTime" label="创建日期">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
@@ -79,7 +79,7 @@
</el-table-column>
</el-table>
<!--分页组件-->
<pagination/>
<pagination />
</el-card>
</el-col>
<!-- 菜单授权 -->
@@ -110,8 +110,8 @@
/>
<el-tree
lazy
ref="menu"
lazy
:data="menus"
:default-checked-keys="menuIds"
:load="getMenuDatas"
@@ -144,7 +144,7 @@ export default {
name: 'Role',
components: { pagination, crudOperation, rrOperation, udOperation, DateRangePicker, crudMenu },
cruds() {
return CRUD({ title: '角色', url: 'api/roles', crudMethod: { ...crudRoles } })
return CRUD({ title: '角色', url: 'api/roles', crudMethod: { ...crudRoles }})
},
mixins: [presenter(), header(), form(defaultForm), crud()],
data() {
@@ -210,18 +210,17 @@ export default {
},
// 触发单选
handleCurrentChange(val) {
console.log('val:', val)
if (val) {
const _this = this
// 清空菜单的选中
this.$refs.menu.setCheckedKeys([])
// 保存当前的角色id
this.currentId = val.role_id
/* // 初始化默认选中的key
this.menuIds = []
val.menus.forEach(function(data) {
_this.menuIds.push(data.id)
})*/
// 初始化默认选中的key
this.menuIds = []
val.menus.forEach(function(data) {
_this.menuIds.push(data.menu_id)
})
this.showButton = true
}
},
@@ -252,8 +251,8 @@ export default {
this.menuLoading = true
const role = { id: this.currentId, menus: [] }
// 得到已选中的 key 值
this.menuIds.forEach(function(id) {
const menu = { id: id }
this.menuIds.forEach(function(menu_id) {
const menu = { menu_id: menu_id }
role.menus.push(menu)
})
crudRoles.editMenu(role).then(() => {