Browse Source

角色新增多子权限问题,角色名取空格

zhangrenyuan/feature-20250714163943-金币前端二期
ZhangYong 3 weeks ago
parent
commit
6513da6386
  1. 2
      .env.development
  2. 62
      src/views/permissions/permission.vue

2
.env.development

@ -1,7 +1,7 @@
VITE_API_BASE='https://hwjb.homilychart.com/dev/admin' VITE_API_BASE='https://hwjb.homilychart.com/dev/admin'
# VITE_API_BASE='http://192.168.9.28:8081/'
# 测试环境 # 测试环境
# VITE_API_BASE='http://18.143.76.3:10704/' # VITE_API_BASE='http://18.143.76.3:10704/'
# VITE_API_BASE='http://192.168.9.52:10705/' # VITE_API_BASE='http://192.168.9.52:10705/'
VITE_UPLOAD_URL=http://39.101.133.168:8828/hljw/api/aws/upload VITE_UPLOAD_URL=http://39.101.133.168:8828/hljw/api/aws/upload
# VITE_API_BASE='http://192.168.9.28:8081/'

62
src/views/permissions/permission.vue

@ -694,6 +694,8 @@ const handleAddRole = async function () {
} }
}); });
}); });
addRole.value.roleName = addRole.value.roleName.replace(/\s+/g, '');
console.log('去除角色名空格:',addRole.value.roleName);
const res = await API({ const res = await API({
@ -859,51 +861,47 @@ const handleEditRolePermissionCheck = (checkedNodes, { checkedKeys }) => {
const handleCheckChange = async (checkedNodes, checkedInfo) => { const handleCheckChange = async (checkedNodes, checkedInfo) => {
const { checkedKeys, checkedNodes: allCheckedNodes } = checkedInfo; const { checkedKeys, checkedNodes: allCheckedNodes } = checkedInfo;
//
if (allCheckedNodes.length === 0) return;
//
const node = allCheckedNodes[0];
//
const checked = checkedKeys.includes(node.id);
console.log('checkedInfo', checkedInfo);
console.log('node', node);
console.log('checked', checked);
if (checked) {
const newCheckedKeys = [...checkedInfo.checkedKeys];
console.log('初始选中项:', newCheckedKeys);
//
const uniqueKeys = [...new Set(newCheckedKeys)];
selectParentNodes(data.value, node.id, uniqueKeys);
console.log('包含父级的选中项:', uniqueKeys);
addRole.value.checkedKeys = uniqueKeys;
} else {
addRole.value.checkedKeys = checkedInfo.checkedKeys;
console.log('else');
//
if (allCheckedNodes.length === 0) {
addRole.value.checkedKeys = [];
return;
} }
// SetID
const allKeys = new Set(checkedKeys);
//
allCheckedNodes.forEach(node => {
//
selectParentNodes(data.value, node.id, allKeys);
});
// Set
addRole.value.checkedKeys = Array.from(allKeys);
console.log('包含所有父级的选中项:', addRole.value.checkedKeys);
}; };
const selectParentNodes = (treeData, nodeId, checkedKeys) => { const selectParentNodes = (treeData, nodeId, checkedKeys) => {
if (!Array.isArray(treeData)) return false;
if (!Array.isArray(treeData)) return false;
for (const item of treeData) { for (const item of treeData) {
if (item.children && Array.isArray(item.children) && item.children.length > 0) {
const found = selectParentNodes(item.children, nodeId, checkedKeys);
if (found) {
//
if (!checkedKeys.includes(item.id)) {
checkedKeys.push(item.id);
}
//
if (item.children && item.children.length > 0) {
const foundInChildren = selectParentNodes(item.children, nodeId, checkedKeys);
if (foundInChildren) {
//
checkedKeys.add(item.id);
return true; return true;
} }
} }
//
if (item.id === nodeId) { if (item.id === nodeId) {
return true; return true;
} }
} }
return false; return false;
}; };
// //

Loading…
Cancel
Save