2021-10-14 13:15:00 +08:00
|
|
|
<template>
|
2021-10-15 20:33:08 +08:00
|
|
|
<v-row>
|
|
|
|
|
<v-col cols="12">
|
2021-10-18 18:46:11 +08:00
|
|
|
<material-card color="primary" icon="mdi-account-outline">
|
|
|
|
|
<template #title>
|
|
|
|
|
角色菜单分配管理 — <small class="text-body-1">你可以在这里多角色分配多菜单</small>
|
|
|
|
|
</template><app-btn class="ma-4" @click="setMenu">确定分配</app-btn></material-card>
|
2021-10-15 20:33:08 +08:00
|
|
|
</v-col>
|
|
|
|
|
<v-col cols="12" md="4" lg="4">
|
|
|
|
|
<v-card class="mx-auto" width="100%">
|
|
|
|
|
|
2021-10-14 20:29:07 +08:00
|
|
|
<v-treeview
|
|
|
|
|
selectable
|
|
|
|
|
:items="RoleItems"
|
|
|
|
|
v-model="selectionRole"
|
|
|
|
|
return-object
|
|
|
|
|
open-all
|
|
|
|
|
hoverable
|
|
|
|
|
item-text="role_name"
|
|
|
|
|
>
|
|
|
|
|
</v-treeview>
|
2021-10-15 20:33:08 +08:00
|
|
|
</v-card>
|
|
|
|
|
</v-col>
|
2021-10-14 13:15:00 +08:00
|
|
|
|
2021-10-15 20:33:08 +08:00
|
|
|
<v-col cols="12" md="8" lg="8">
|
|
|
|
|
<v-card class="mx-auto" width="100%">
|
2021-10-14 20:29:07 +08:00
|
|
|
<v-treeview
|
|
|
|
|
selectable
|
|
|
|
|
:items="Menuitems"
|
|
|
|
|
selection-type="leaf"
|
|
|
|
|
v-model="selectionMenu"
|
|
|
|
|
return-object
|
|
|
|
|
open-all
|
|
|
|
|
hoverable
|
|
|
|
|
item-text="menu_name"
|
|
|
|
|
>
|
|
|
|
|
<template v-slot:append="{ item }">
|
2021-10-15 20:33:08 +08:00
|
|
|
<v-btn>id:{{ item.id }}</v-btn>
|
2021-10-14 13:15:00 +08:00
|
|
|
</template>
|
2021-10-14 20:29:07 +08:00
|
|
|
</v-treeview>
|
2021-10-15 20:33:08 +08:00
|
|
|
</v-card></v-col
|
|
|
|
|
>
|
|
|
|
|
</v-row>
|
2021-10-14 13:15:00 +08:00
|
|
|
</template>
|
|
|
|
|
<script>
|
2021-10-15 20:33:08 +08:00
|
|
|
import roleApi from "../api/roleApi";
|
2021-10-16 14:48:55 +08:00
|
|
|
import menuApi from "../api/menuApi";
|
2021-10-14 20:29:07 +08:00
|
|
|
export default {
|
2021-10-15 20:33:08 +08:00
|
|
|
created() {
|
|
|
|
|
this.init();
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
2021-10-16 14:48:55 +08:00
|
|
|
setMenu(){
|
|
|
|
|
var roleIds=[];
|
|
|
|
|
var menuIds=[];
|
|
|
|
|
this.selectionRole.forEach((ele)=>{
|
|
|
|
|
roleIds.push(ele.id)
|
|
|
|
|
})
|
|
|
|
|
this.selectionMenu.forEach((ele)=>{
|
|
|
|
|
menuIds.push(ele.id)
|
|
|
|
|
})
|
|
|
|
|
roleApi.setMenuByRole(roleIds,menuIds).then(resp=>{
|
|
|
|
|
this.$dialog.notify.info(resp.msg, {
|
|
|
|
|
position: "top-right",
|
|
|
|
|
timeout: 5000,
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
},
|
2021-10-15 20:33:08 +08:00
|
|
|
init() {
|
|
|
|
|
roleApi.getRole().then((resp) => {
|
|
|
|
|
this.RoleItems = resp.data;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
menuApi.getMenu().then((resp) => {
|
|
|
|
|
this.Menuitems = resp.data;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
},
|
2021-10-14 20:29:07 +08:00
|
|
|
data: () => ({
|
|
|
|
|
selectionMenu: [],
|
|
|
|
|
selectionRole: [],
|
2021-10-15 20:33:08 +08:00
|
|
|
RoleItems: [],
|
|
|
|
|
Menuitems: [],
|
2021-10-14 20:29:07 +08:00
|
|
|
}),
|
|
|
|
|
};
|
2021-10-14 13:15:00 +08:00
|
|
|
</script>
|