|
@ -317,10 +317,20 @@ const getLists = async function () { |
|
|
data: {id: roleId} |
|
|
data: {id: roleId} |
|
|
}) |
|
|
}) |
|
|
data.value = res.data |
|
|
data.value = res.data |
|
|
data.value = data.value.filter(item => item.id !== 9); |
|
|
|
|
|
|
|
|
let originalData = res.data.filter(item => item.id !== 9); // 排除权限管理 |
|
|
|
|
|
|
|
|
|
|
|
// data.value = data.value.filter(item => item.id !== 9); |
|
|
console.log('看看data', data.value) |
|
|
console.log('看看data', data.value) |
|
|
console.log('parentID:', addRole.value.parentId, 'roleId:', roleId) |
|
|
console.log('parentID:', addRole.value.parentId, 'roleId:', roleId) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 根据地区过滤金豆菜单 |
|
|
|
|
|
if (addRole.value.market !== '总部') { |
|
|
|
|
|
// 非总部地区:过滤掉金豆相关菜单 |
|
|
|
|
|
originalData = filterGoldenBeanMenus(originalData); |
|
|
|
|
|
} |
|
|
|
|
|
data.value = originalData; // 更新菜单树数据 |
|
|
|
|
|
|
|
|
if (addRole.value.parentId && addRole.value.parentId !== 2) { |
|
|
if (addRole.value.parentId && addRole.value.parentId !== 2) { |
|
|
const result = await API({ |
|
|
const result = await API({ |
|
|
url: '/general/roleMarket', |
|
|
url: '/general/roleMarket', |
|
@ -353,6 +363,33 @@ const getLists = async function () { |
|
|
console.log('请求失败', error) |
|
|
console.log('请求失败', error) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//金豆过滤 |
|
|
|
|
|
const goldenBeanMenuIds = new Set([ |
|
|
|
|
|
43, 55, 54, // 财务审核 -> 金豆审核 |
|
|
|
|
|
41, 47, 46, 48, // 充值管理 -> 金豆充值 |
|
|
|
|
|
42, 50, 49, 52, 51, // 消耗管理 -> 金豆消耗 |
|
|
|
|
|
45, 53 // 客户账户明细 -> 金豆客户账户明细 |
|
|
|
|
|
]); |
|
|
|
|
|
const filterGoldenBeanMenus = (tree) => { |
|
|
|
|
|
return tree |
|
|
|
|
|
.filter(item => { |
|
|
|
|
|
// 排除金豆相关的顶层菜单 |
|
|
|
|
|
if (goldenBeanMenuIds.has(item.id)) { |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
// 递归处理子菜单 |
|
|
|
|
|
if (item.children && item.children.length > 0) { |
|
|
|
|
|
item.children = filterGoldenBeanMenus(item.children); |
|
|
|
|
|
} |
|
|
|
|
|
return true; |
|
|
|
|
|
}); |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
const handleMarketChange = () => { |
|
|
|
|
|
getLists(); // 重新获取并过滤菜单树 |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
const treeRef = ref(null) |
|
|
const treeRef = ref(null) |
|
|
// 处理编辑角色权限时的勾选事件 |
|
|
// 处理编辑角色权限时的勾选事件 |
|
|
const handleEditRolePermissionCheck = (checkedNodes, checkedInfo) => { |
|
|
const handleEditRolePermissionCheck = (checkedNodes, checkedInfo) => { |
|
@ -734,7 +771,7 @@ onMounted(async function () { |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="market" label="所属地区:" required> |
|
|
<el-form-item prop="market" label="所属地区:" required> |
|
|
<el-select v-model="addRole.market" placeholder="请选择所属地区" style="width: 240px" clearable> |
|
|
|
|
|
|
|
|
<el-select v-model="addRole.market" placeholder="请选择所属地区" style="width: 240px" clearable @change="handleMarketChange" > |
|
|
<el-option v-for="item in addRoleMarket" :key="item" :label="item" :value="item"/> |
|
|
<el-option v-for="item in addRoleMarket" :key="item" :label="item" :value="item"/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|