diff --git a/src/views/permissions/permission.vue b/src/views/permissions/permission.vue index 543a460..6a04c72 100644 --- a/src/views/permissions/permission.vue +++ b/src/views/permissions/permission.vue @@ -555,29 +555,29 @@ const delConfirm = async function () { ElMessage.error('删除权限失败') } } -// 删除角色初始化 -const delRole = function (row) { - delRoleObj.value = {} - console.log(row, '删除初始化') - delRoleObj.value.id = row.id -} -// 删除角色 -const delRoleConfirm = async function () { - try { - const result = await request({ - url: '/role/delete', - data: delRoleObj.value - }) - console.log('看看删除角色对象', delRoleObj.value) - console.log('请求成功2', result) - ElMessage.success('删除权限成功') - delRoleObj.value = {} - getRoleList() - } catch (error) { - console.log('删除权限失败', error) - ElMessage.error('删除权限失败') - } -} +// // 删除角色初始化 +// const delRole = function (row) { +// delRoleObj.value = {} +// console.log(row, '删除初始化') +// delRoleObj.value.id = row.id +// } +// // 删除角色 +// const delRoleConfirm = async function () { +// try { +// const result = await request({ +// url: '/role/delete', +// data: delRoleObj.value +// }) +// console.log('看看删除角色对象', delRoleObj.value) +// console.log('请求成功2', result) +// ElMessage.success('删除权限成功') +// delRoleObj.value = {} +// getRoleList() +// } catch (error) { +// console.log('删除权限失败', error) +// ElMessage.error('删除权限失败') +// } +// } const handleAddRole = async function () { try { await new Promise((resolve, reject) => { @@ -709,6 +709,10 @@ const EdithandleMarketChange = (values) => { const handleCheckChange = (checkedNodes, { checkedKeys }) => { addRole.value.checkedKeys = checkedKeys; } +// 处理编辑角色权限时的勾选事件 +const handleEditRolePermissionCheck = (checkedNodes, { checkedKeys }) => { + permissionEditRoleObj.value.checkedKeys = checkedKeys; +}; //点击角色权限菜单树点击展示逻辑 const menuTreeVisible = ref(false); @@ -751,6 +755,83 @@ const resetPassword = async function (row) { } +// 编辑角色对象 +const permissionEditRoleObj = ref({ + id: null, + roleName: '', + market: '', + parentId: null, + parentName: '', + checkedKeys: [], + grade: '', +}); + +// 编辑角色弹窗 +const permissionEditRoleVisible = ref(false); + +// 编辑角色初始化 +const permissionEditRoleInit = async function (row) { + console.log('row', row); + permissionEditRoleObj.value = {}; + permissionEditRoleObj.value.id = row.id; + permissionEditRoleObj.value.roleName = row.roleName; + permissionEditRoleObj.value.market = row.market; + permissionEditRoleObj.value.parentId = row.fatherId; + permissionEditRoleObj.value.parentName = row.fatherName; + permissionEditRoleObj.value.grade = row.priority; + + // 直接使用当前行的权限树数据 + if (row.tree && row.tree.length > 0) { + // 收集当前行权限树的所有 id + permissionEditRoleObj.value.checkedKeys = collectIds(row.tree); + // 以当前行的权限树数据作为 el-tree 的数据源 + data.value = row.tree; + } else { + permissionEditRoleObj.value.checkedKeys = []; + data.value = []; + } + + console.log('编辑角色', permissionEditRoleObj.value); + permissionEditRoleVisible.value = true; +}; + +// 编辑角色提交 +const permissionEditRole = async function () { + try { + await new Promise((resolve, reject) => { + Ref.value.validate((valid) => { + if (valid) { + resolve(); + } else { + reject(new Error('请检查并完善表单信息')); + } + }); + }); + + const res = await API({ + url: '/menu/update', + data: { + "id": permissionEditRoleObj.value.id, + "roleName": permissionEditRoleObj.value.roleName, + "menuIds": permissionEditRoleObj.value.checkedKeys, + "priority": permissionEditRoleObj.value.grade, + "fatherId": permissionEditRoleObj.value.parentId, + "market": permissionEditRoleObj.value.market + } + }); + + console.log('编辑角色成功', permissionEditRoleObj.value); + permissionEditRoleVisible.value = false; + getRoleList(); + } catch (error) { + console.log('编辑角色失败', error); + console.log('失败,看看permissionEditRoleObj', permissionEditRoleObj.value); + } +}; + + + + // 挂载 onMounted(async function () { await get() @@ -928,7 +1009,7 @@ const Rolerules = reactive({ - + + + @@ -1123,6 +1211,50 @@ const Rolerules = reactive({ + + + + +