From a8b7f5d41f99f9c043d8fd260ee4d11cf63f0bd3 Mon Sep 17 00:00:00 2001 From: hdm Date: Mon, 1 Nov 2021 01:04:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=90=8E=E5=8F=B0=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E7=9A=84tab=E9=A1=B5=E9=9D=A2=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E6=95=88=E6=9E=9C=EF=BC=8C=E4=BD=93=E9=AA=8C=E6=9B=B4=E5=AE=8C?= =?UTF-8?q?=E7=BE=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/controller/Admin.php | 31 +++- app/admin/controller/Role.php | 20 ++- app/admin/view/admin/add.html | 15 +- app/admin/view/admin/index.html | 29 ++-- app/admin/view/admin/log.html | 7 +- app/admin/view/admin/view.html | 81 +++++++++- app/admin/view/article/index.html | 18 ++- app/admin/view/index/index.html | 10 +- app/admin/view/keywords/index.html | 13 +- app/admin/view/nav/index.html | 13 +- app/admin/view/role/add.html | 184 +++++++++++++--------- app/admin/view/role/index.html | 19 ++- app/admin/view/search/index.html | 13 +- app/admin/view/sitemap/index.html | 13 +- app/admin/view/slide/index.html | 13 +- app/admin/view/user/index.html | 38 +++-- app/admin/view/user/log.html | 7 +- app/admin/view/user/view.html | 5 +- public/static/admin/css/common.css | 7 +- public/static/admin/css/gougucms.css | 47 +++--- public/static/admin/js/module/gougucms.js | 150 +++++++++++------- 21 files changed, 472 insertions(+), 261 deletions(-) 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"}