isAjax()) { $page = input('page', 1); $page_size = input('page_size', PAGE_LIST_ROWS); $search_keys = input('search_keys', ""); if (!empty($search_keys)) { $condition[] = [ 'group_name', 'like', '%' . $search_keys . '%' ]; } $condition[] = [ '', 'exp', Db::raw("keyword = '' OR site_id = {$this->site_id}") ]; $group_model = new Group(); $list = $group_model->getGroupPageList($condition, $page, $page_size); return $list; } else { $this->forthMenu(); return $this->fetch("user/group_list"); } } /** * 添加用户组 * @return mixed */ public function addGroup() { if (request()->isAjax()) { $group_name = input('group_name', ''); $menu_array = input('menu_array', ''); $desc = input('desc', ''); $group_model = new Group(); $data = array ( "group_name" => $group_name, "site_id" => $this->site_id, "menu_array" => $menu_array, "desc" => $desc, "create_time" => time(), ); $result = $group_model->addGroup($data); return $result; } else { $menu_model = new Menu(); $menu_list = $menu_model->getMenuList([], '*'); $menu_tree = list_to_tree($menu_list[ 'data' ], 'name', 'parent', 'child_list', ''); $this->assign('tree_data', $menu_tree); return $this->fetch('user/add_group'); } } /** * 编辑用户组 * @return mixed */ public function editGroup() { $group_model = new Group(); if (request()->isAjax()) { $group_name = input('group_name', ''); $menu_array = input('menu_array', ''); $group_id = input('group_id', 0); $desc = input('desc', ''); $data = array ( "group_name" => $group_name, "menu_array" => $menu_array, "desc" => $desc, ); $condition = array ( [ "group_id", "=", $group_id ], [ "site_id", "=", $this->site_id ], ); $result = $group_model->editGroup($data, $condition); return $result; } else { $group_id = input('group_id', 0); $condition = array ( [ "group_id", "=", $group_id ], [ "site_id", "=", $this->site_id ], ); $group_info_result = $group_model->getGroupInfo($condition); $group_info = $group_info_result[ "data" ]; if (empty($group_info)) $this->error('未获取到用户组数据', addon_url('shop/user/group')); $this->assign("group_info", $group_info); $this->assign("group_id", $group_id); //获取菜单权限 $menu_model = new Menu(); $menu_list = $menu_model->getMenuList([], '*'); //处理选中数据 $group_array = $group_info[ 'menu_array' ]; $checked_array = explode(',', $group_array); foreach ($menu_list[ 'data' ] as $key => $val) { if (in_array($val[ 'name' ], $checked_array)) { $menu_list[ 'data' ][ $key ][ 'checked' ] = true; } else { $menu_list[ 'data' ][ $key ][ 'checked' ] = false; } } $menu_tree = list_to_tree($menu_list[ 'data' ], 'name', 'parent', 'child_list', ''); $this->assign('tree_data', $menu_tree); return $this->fetch('user/edit_group'); } } /** * 删除用户组 */ public function deleteGroup() { if (request()->isAjax()) { $group_id = input('group_id', ''); $condition = array ( [ "group_id", "=", $group_id ], [ "site_id", "=", $this->site_id ], ); $group_model = new Group(); $result = $group_model->deleteGroup($condition); return $result; } } }