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"}