1.修复角色组不能选择权限的报错
2.修复角色创建子角色报权限不够的问题
This commit is contained in:
@@ -2,7 +2,7 @@ import createAxios from '/@/utils/axios'
|
||||
|
||||
export function getAdminRules() {
|
||||
return createAxios({
|
||||
url: '/admin/auth.Rule/index',
|
||||
url: '/admin/auth.Group/rules',
|
||||
method: 'get',
|
||||
params: {
|
||||
force_menu_zh: 1,
|
||||
|
||||
@@ -104,6 +104,14 @@ const baTable = new baTableClass(
|
||||
}
|
||||
)
|
||||
|
||||
// 编辑自身时不提交角色组,避免与后端「不可修改自己所在管理组」校验冲突
|
||||
baTable.before.onSubmit = ({ operate, items }) => {
|
||||
if (operate === 'edit' && items.id == adminInfo.id) {
|
||||
delete items.group_arr
|
||||
delete items.group_name_arr
|
||||
}
|
||||
}
|
||||
|
||||
provide('baTable', baTable)
|
||||
|
||||
baTable.mount()
|
||||
|
||||
@@ -162,6 +162,9 @@ const rules: Partial<Record<string, FormItemRule[]>> = reactive({
|
||||
{
|
||||
required: true,
|
||||
validator: (_rule: any, val: unknown, callback: Function) => {
|
||||
if (baTable.form.operate === 'Edit' && adminInfo.id == baTable.form.items?.id) {
|
||||
return callback()
|
||||
}
|
||||
if (Array.isArray(val)) {
|
||||
if (val.length !== 1) {
|
||||
return callback(new Error(t('auth.admin.Please select exactly one group')))
|
||||
|
||||
@@ -182,9 +182,17 @@ const menuRuleTreeUpdate = () => {
|
||||
if (baTable.form.items!.rules && baTable.form.items!.rules.length) {
|
||||
if (baTable.form.items!.rules.includes('*')) {
|
||||
let arr: number[] = []
|
||||
for (const key in baTable.form.extend!.menuRules) {
|
||||
arr.push(baTable.form.extend!.menuRules[key].id)
|
||||
const walk = (nodes: anyObj[]) => {
|
||||
nodes.forEach((node) => {
|
||||
if (node.id) {
|
||||
arr.push(node.id)
|
||||
}
|
||||
if (node.children?.length) {
|
||||
walk(node.children)
|
||||
}
|
||||
})
|
||||
}
|
||||
walk(res.data.list || [])
|
||||
baTable.form.extend!.defaultCheckedKeys = arr
|
||||
} else {
|
||||
baTable.form.extend!.defaultCheckedKeys = baTable.form.items!.rules
|
||||
|
||||
Reference in New Issue
Block a user