|  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import GlobalWindow from '@/components/common/GlobalWindow' | 
|---|
|  |  |  | import { createRoleMenu } from '@/api/system/role' | 
|---|
|  |  |  | import { fetchTree as fetchMenuList } from '@/api/system/menu' | 
|---|
|  |  |  | import { fetchTree as fetchMenuList, fetchTree1 } from '@/api/system/menu' | 
|---|
|  |  |  | import { mapState } from 'vuex' | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | name: 'MenuConfigWindow', | 
|---|
|  |  |  | components: { GlobalWindow }, | 
|---|
|  |  |  | 
|---|
|  |  |  | selectedIds: [] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | computed: { | 
|---|
|  |  |  | ...mapState(['userInfo']) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @role 角色对象 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | open (role) { | 
|---|
|  |  |  | fetchMenuList({}) | 
|---|
|  |  |  | if (this.userInfo.type === 1) { | 
|---|
|  |  |  | fetchTree1({}) | 
|---|
|  |  |  | .then(records => { | 
|---|
|  |  |  | this.role = role | 
|---|
|  |  |  | this.menus = records | 
|---|
|  |  |  | 
|---|
|  |  |  | .catch(e => { | 
|---|
|  |  |  | this.$tip.apiFailed(e) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | fetchMenuList({}) | 
|---|
|  |  |  | .then(records => { | 
|---|
|  |  |  | this.role = role | 
|---|
|  |  |  | this.menus = records | 
|---|
|  |  |  | // 如果为固定角色,则固定菜单不可更改 | 
|---|
|  |  |  | this.__resetDisabled(this.menus, this.role) | 
|---|
|  |  |  | // 找出叶节点 | 
|---|
|  |  |  | role.menus = role.menus.filter(menu => role.menus.findIndex(m => m.parentId === menu.id) === -1) | 
|---|
|  |  |  | // 初始化选中 | 
|---|
|  |  |  | this.selectedIds = role.menus.map(r => r.id) | 
|---|
|  |  |  | this.visible = true | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(e => { | 
|---|
|  |  |  | this.$tip.apiFailed(e) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 确认选择菜单 | 
|---|
|  |  |  | confirm () { | 
|---|