| | |
| | | function handleUpdate(row) {
|
| | | reset()
|
| | | const roleId = row.roleId || ids.value
|
| | | const roleMenu = getRoleMenuTreeselect(roleId)
|
| | | getRole(roleId).then(response => {
|
| | | form.value = response.data
|
| | | form.value.roleSort = Number(form.value.roleSort)
|
| | | open.value = true
|
| | | nextTick(() => {
|
| | | roleMenu.then((res) => {
|
| | | let checkedKeys = res.checkedKeys
|
| | | // 先获取角色菜单树,然后在 nextTick 中设置选中状态
|
| | | getRoleMenuTreeselect(roleId).then((res) => {
|
| | | nextTick(() => {
|
| | | // 获取后端返回的 checkedKeys,如果没有则默认为空数组
|
| | | let checkedKeys = res.checkedKeys || []
|
| | | checkedKeys.forEach((v) => {
|
| | | nextTick(() => {
|
| | | menuRef.value.setChecked(v, true, false)
|
| | | menuRef.value?.setChecked(v, true, false)
|
| | | })
|
| | | })
|
| | | })
|
| | |
| | | /** 根据角色ID查询菜单树结构 */
|
| | | function getRoleMenuTreeselect(roleId) {
|
| | | return roleMenuTreeselect(roleId).then(response => {
|
| | | menuOptions.value = response.menus
|
| | | return response
|
| | | // 后端返回的数据在 response.data 中
|
| | | const data = response.data || {}
|
| | | menuOptions.value = data.menus || []
|
| | | return data
|
| | | })
|
| | | }
|
| | |
|