diff --git a/app/admin/controller/Admin.php b/app/admin/controller/Admin.php index 98584f1..8daf357 100644 --- a/app/admin/controller/Admin.php +++ b/app/admin/controller/Admin.php @@ -205,8 +205,35 @@ class Admin extends BaseController //查看 public function view() - { - add_log('view', get_params('id')); + { + $id = get_params('id'); + $menu = get_admin_menu(); + $rule = get_admin_rule(); + + $user_groups = Db::name('AdminGroupAccess') + ->alias('a') + ->join("AdminGroup g", "a.group_id=g.id", 'LEFT') + ->where("a.uid='{$id}' and g.status='1'") + ->select() + ->toArray(); + $groups = $user_groups ?: []; + + $menus = []; + $rules = []; + foreach ($groups as $g) { + $menus = array_merge($menus, explode(',', trim($g['menus'], ','))); + $rules = array_merge($rules, explode(',', trim($g['rules'], ','))); + } + $menus = array_unique($menus); + $rules = array_unique($rules); + + $role_menu = create_tree_list(0, $menu, $menus); + $role_rule = create_tree_list(0, $rule, $rules); + + View::assign('role_menu', $role_menu); + View::assign('role_rule', $role_rule); + View::assign('admin', get_admin($id)); + add_log('view', get_params('id')); return view('', ['admin' => get_admin(get_params('id'))]); } //删除 diff --git a/app/admin/controller/Role.php b/app/admin/controller/Role.php index 27b7b86..12c0de1 100644 --- a/app/admin/controller/Role.php +++ b/app/admin/controller/Role.php @@ -40,10 +40,21 @@ class Role extends BaseController public function add() { $id = empty(get_params('id')) ? 0 : get_params('id'); - if ($id > 0) { + $menu = get_admin_menu(); + $rule = get_admin_rule(); + if($id > 0) { + $group = get_admin_group_info($id); + $role_menu = create_tree_list(0, $menu, $group['menus']); + $role_rule = create_tree_list(0, $rule, $group['rules']); $role = Db::name('AdminGroup')->where(['id' => $id])->find(); View::assign('role', $role); } + else{ + $role_menu = create_tree_list(0, $menu, []); + $role_rule = create_tree_list(0, $rule, []); + } + View::assign('role_menu', $role_menu); + View::assign('role_rule', $role_rule); View::assign('id', $id); return view(); } @@ -53,7 +64,12 @@ class Role extends BaseController { if (request()->isAjax()) { $param = get_params(); - + $menuData = isset($param['menu']) ? $param['menu'] : 0; + $ruleData = isset($param['rule']) ? $param['rule'] : 0; + //sort($menuData); + //sort($ruleData); + $param['menus'] = implode(',',$menuData); + $param['rules'] = implode(',',$ruleData); if (!empty($param['id']) && $param['id'] > 0) { try { validate(GroupCheck::class)->scene('edit')->check($param); diff --git a/app/admin/view/admin/add.html b/app/admin/view/admin/add.html index 60c2b10..401fefb 100644 --- a/app/admin/view/admin/add.html +++ b/app/admin/view/admin/add.html @@ -163,22 +163,23 @@ {block name="script"} {/block} @@ -34,7 +34,8 @@ {block name="script"} @@ -25,7 +32,8 @@ {block name="script"}