Browse Source

edit role permissions, display the permissions tree according to the superior role and check existing ones by default

zhangrenyuan/feature-20250714163943-金币前端二期
zry 2 weeks ago
parent
commit
a0732d312d
  1. 73
      src/views/permissions/permission.vue

73
src/views/permissions/permission.vue

@ -723,14 +723,11 @@ const getLists = async function () {
if (result.code == 200) { if (result.code == 200) {
if (typeof result.data === 'string' && result.data) { if (typeof result.data === 'string' && result.data) {
addRoleMarket.value = result.data.split(','); addRoleMarket.value = result.data.split(',');
addRole.value.market = ''
} else if (Array.isArray(result.data)) { } else if (Array.isArray(result.data)) {
addRoleMarket.value = result.data addRoleMarket.value = result.data
addRole.value.market = ''
} }
else { else {
addRoleMarket.value = []; addRoleMarket.value = [];
addRole.value.market = ''
} }
} else { } else {
ElMessage.error('该上级角色无所属地区') ElMessage.error('该上级角色无所属地区')
@ -741,14 +738,11 @@ const getLists = async function () {
} else { } else {
if (typeof adminData.value.markets === 'string' && adminData.value.markets) { if (typeof adminData.value.markets === 'string' && adminData.value.markets) {
addRoleMarket.value = adminData.value.markets.split(','); addRoleMarket.value = adminData.value.markets.split(',');
addRole.value.market = ''
} else if (Array.isArray(adminData.value.markets)) { } else if (Array.isArray(adminData.value.markets)) {
addRoleMarket.value = adminData.value.markets addRoleMarket.value = adminData.value.markets
addRole.value.market = ''
} }
else { else {
addRoleMarket.value = []; addRoleMarket.value = [];
addRole.value.market = ''
} }
} }
@ -787,22 +781,13 @@ const EdithandleMarketChange = (values) => {
console.log('看看现在的地区',permissionEditObj.value.market); console.log('看看现在的地区',permissionEditObj.value.market);
}; };
<<<<<<< HEAD
// const handleCheckChange = (checkedNodes, { checkedKeys }) => {
// addRole.value.checkedKeys = checkedKeys;
// }
=======
>>>>>>> zhangrenyuan/feature-20250714163943-金币前端二期
// //
const handleEditRolePermissionCheck = (checkedNodes, { checkedKeys }) => { const handleEditRolePermissionCheck = (checkedNodes, { checkedKeys }) => {
permissionEditRoleObj.value.checkedKeys = checkedKeys; permissionEditRoleObj.value.checkedKeys = checkedKeys;
}; };
<<<<<<< HEAD
=======
>>>>>>> zhangrenyuan/feature-20250714163943-金币前端二期
const handleCheckChange = async (checkedNodes, checkedInfo) => { const handleCheckChange = async (checkedNodes, checkedInfo) => {
const { checkedKeys, checkedNodes: allCheckedNodes } = checkedInfo; const { checkedKeys, checkedNodes: allCheckedNodes } = checkedInfo;
@ -960,17 +945,43 @@ const permissionEditRoleInit = async function (row) {
permissionEditRoleObj.value.parentName = row.fatherName; permissionEditRoleObj.value.parentName = row.fatherName;
permissionEditRoleObj.value.grade = row.priority; permissionEditRoleObj.value.grade = row.priority;
// 使
if (row.tree && row.tree.length > 0) {
// // 使
// 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 = [];
// }
try {
let roleId = permissionEditRoleObj.value.parentId;
// 2
if (permissionEditRoleObj.value.parentId === null || permissionEditRoleObj.value.parentId === undefined) {
roleId = 2;
}
// /tree 使 ID
const res = await API({
url: '/menu/tree',
data: { id: roleId }
});
data.value = res.data;
// id // id
if (row.tree && row.tree.length > 0) {
permissionEditRoleObj.value.checkedKeys = collectIds(row.tree); permissionEditRoleObj.value.checkedKeys = collectIds(row.tree);
// el-tree
data.value = row.tree;
} else { } else {
permissionEditRoleObj.value.checkedKeys = []; permissionEditRoleObj.value.checkedKeys = [];
}
} catch (error) {
console.log('根据上级角色获取权限列表失败', error);
data.value = []; data.value = [];
permissionEditRoleObj.value.checkedKeys = [];
} }
console.log('编辑角色', permissionEditRoleObj.value); console.log('编辑角色', permissionEditRoleObj.value);
permissionEditRoleVisible.value = true; permissionEditRoleVisible.value = true;
}; };
@ -1010,14 +1021,16 @@ const permissionEditRole = async function () {
}; };
//
onMounted(async function () {
await get()
await getArea()
await getStore()
await getRoleList()
await getAdminData()
})
// //
// onMounted(async function () {
// await get()
// await getArea()
// await getStore()
// await getRoleList()
// await getAdminData()
// })
const Rolerules = reactive({ const Rolerules = reactive({
roleName: [ roleName: [
@ -1262,7 +1275,8 @@ onMounted(async function () {
<template #footer> <template #footer>
<!-- 居中显示 --> <!-- 居中显示 -->
<el-form ref="Ref" :rules="addUserRules" :model="addAdmin" label-width="auto" style="max-width: 600px; align-items: center">
<el-form ref="Ref" :rules="addUserRules" :model="addAdmin" label-width="auto"
style="max-width: 600px; align-items: center">
<el-form-item prop="account" label="OA号:" required clearable> <el-form-item prop="account" label="OA号:" required clearable>
<el-input v-model="addAdmin.account" placeholder="请输入OA号" style="width: 220px" /> <el-input v-model="addAdmin.account" placeholder="请输入OA号" style="width: 220px" />
</el-form-item> </el-form-item>
@ -1438,10 +1452,7 @@ onMounted(async function () {
</template> </template>
</el-dialog> </el-dialog>
<<<<<<< HEAD
=======
>>>>>>> zhangrenyuan/feature-20250714163943-金币前端二期
<!-- 編輯角色彈窗 --> <!-- 編輯角色彈窗 -->
<el-dialog v-model="permissionEditRoleVisible" title="编辑角色" width="800px" :close-on-click-modal="false"> <el-dialog v-model="permissionEditRoleVisible" title="编辑角色" width="800px" :close-on-click-modal="false">
<template #footer> <template #footer>

Loading…
Cancel
Save