Browse Source

角色权限管理显示逻辑

zhangrenyuan/feature-20250714163943-金币前端二期
ZhangYong 3 weeks ago
parent
commit
6fe72dc01a
  1. 58
      src/views/permissions/permission.vue

58
src/views/permissions/permission.vue

@ -221,7 +221,7 @@ const getArea = async function () {
try {
const result = await request({
url: '/general/adminMarkets',
data: {account:adminData.value.account}
data: { account: adminData.value.account }
})
market.value = result.data
} catch (error) {
@ -260,6 +260,13 @@ const openUserAddVisible = function () {
//
const openPermissionAddVisible = function () {
permissionAddVisible.value = true
const addRole = ref({
roleName: '',
parentId: null,
checkedKeys: [],
grade: '',
market: ''
})
getRoles()
getLists()
}
@ -298,13 +305,6 @@ const userAddInit = function () {
}
//
const permissionAddInit = function () {
const addRole = ref({
roleName: '',
parentId: null,
checkedKeys: [],
grade: '',
market: ''
})
openPermissionAddVisible()
}
//
@ -394,10 +394,7 @@ const addUserRules = {
};
// ref
const Ref = ref(null)
// 使 _.throttle trailing false
const throttledPermissionAdd = _.throttle(permissionAdd, 5000, {
trailing: false
})
//
const permissionList = ref([])
const getRoles = async function () {
@ -572,7 +569,7 @@ const editAdminRules = {
//
const permissionEdit = async function () {
let { adminName: userName, roleName: oldRole, roleId: newRoleId } = permissionEditObj.value;
if(oldRole ==null){
if (oldRole == null) {
oldRole = '暂未分配角色'
}
const newRole = permissionList.value.find(item => item.value === newRoleId)?.label || '未知角色';
@ -632,9 +629,8 @@ const permissionEdit = async function () {
ElMessage.error('编辑用户权限失败')
}
}
const throttledPermissionEdit = _.throttle(permissionEdit, 5000, {
trailing: false
})
//
const del = function (row) {
delObj.value = {}
@ -695,7 +691,7 @@ const handleAddRole = async function () {
});
});
addRole.value.roleName = addRole.value.roleName.replace(/\s+/g, '');
console.log('去除角色名空格:',addRole.value.roleName);
console.log('去除角色名空格:', addRole.value.roleName);
const res = await API({
@ -780,10 +776,10 @@ const getLists = async function () {
data: { id: roleId }
})
data.value = res.data
if (addRole.value.parentId == null || addRole.value.parentId == undefined) {
data.value = data.value
} else if (addRole.value.parentId != 2) {
if (addRole.value.parentId == null || addRole.value.parentId == undefined || addRole.value.parentId != 2) {
data.value = data.value.filter(item => item.id !== 9);
} else {
//
}
console.log('看看data', data.value)
console.log('parentID:', addRole.value.parentId, 'roleId:', roleId)
@ -813,7 +809,7 @@ const getLists = async function () {
console.log('addRoleMarket.value', addRoleMarket.value);
} else {
addRoleMarket.value = RoleArea.value
console.log('elseRoleArea',RoleArea);
console.log('elseRoleArea', RoleArea);
}
@ -883,7 +879,7 @@ const handleCheckChange = async (checkedNodes, checkedInfo) => {
};
const selectParentNodes = (treeData, nodeId, checkedKeys) => {
if (!Array.isArray(treeData)) return false;
if (!Array.isArray(treeData)) return false;
for (const item of treeData) {
//
@ -1052,7 +1048,7 @@ const permissionEditRoleInit = async function (row) {
data: { id: roleId }
});
data.value = res.data;
data.value = data.value.filter(item => item.id !== 9);
// id
if (row.tree && row.tree.length > 0) {
permissionEditRoleObj.value.checkedKeys = collectIds2(row.tree);
@ -1143,6 +1139,18 @@ const Rolerules = reactive({
}
]
});
const throttledPermissionEdit = _.throttle(permissionEdit, 5000, {
trailing: false
})
const throttledHandleAddRole = _.throttle(handleAddRole, 5000, {
trailing: false
})
// 使 _.throttle trailing false
const throttledPermissionAdd = _.throttle(permissionAdd, 5000, {
trailing: false
})
//
onMounted(async function () {
await getAdminData()
@ -1331,7 +1339,7 @@ onMounted(async function () {
</el-table-column> -->
<el-table-column prop="operation" label="操作" width="200px">
<template #default="scope">
<el-button type="warning" text @click="permissionEditRoleInit(scope.row)">
<el-button type="warning" text @click="permissionEditRoleInit(scope.row)" :disabled="scope.row.id === 2">
编辑
</el-button>
</template>
@ -1513,7 +1521,7 @@ onMounted(async function () {
<div>
<el-button @click="closePermissionAddVisible()">取消</el-button>
<el-button type="primary" @click="handleAddRole">
<el-button type="primary" @click="throttledHandleAddRole">
提交
</el-button>
</div>

Loading…
Cancel
Save