'账号', 'name' => '名称', 'role_name' => '角色', 'create_time' => '创建时间', 'login_time' => '最后登录时间', 'login_ip' => '最后登录IP', 'disable_desc' => '状态', ]; } /** * @notes 设置导出文件名 * @return string * @author 令狐冲 * @date 2021/7/26 17:49 */ public function setFileName(): string { return '管理员列表'; } /** * @notes 设置搜索条件 * @return \string[][] * @author 令狐冲 * @date 2021/7/13 00:52 */ public function setSearch(): array { return [ '%like%' => ['name', 'account'], '=' => ['role_id'] ]; } /** * @notes 设置支持排序字段 * @return string[] * @author 令狐冲 * @date 2021/7/15 23:40 */ public function setSortFields(): array { // 格式: ['前端传过来的字段名' => '数据库中的字段名']; return ['create_time' => 'create_time', 'id' => 'id']; } /** * @notes 设置默认排序 * @return string[] * @author 令狐冲 * @date 2021/7/16 00:04 */ public function setDefaultOrder(): array { return ['id' => 'desc']; } /** * @notes 获取管理列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author 令狐冲 * @date 2021/7/13 00:52 */ public function lists(): array { $adminLists = Admin::field(['id', 'name','root', 'account', 'role_id', 'create_time', 'disable', 'login_time', 'login_ip', 'multipoint_login', 'avatar']) ->where($this->searchWhere) ->append(['disable_desc']) ->limit($this->limitOffset, $this->limitLength) ->order($this->sortOrder) ->select() ->toArray(); //获取角色数组('角色id'=>'角色名称') $roleLists = Role::column('name', 'id'); //管理员列表增加角色名称 foreach ($adminLists as $k => $v) { $adminLists[$k]['role_name'] = $roleLists[$v['role_id']] ?? ''; if($v['root']){ $adminLists[$k]['role_name'] = '超级管理员'; } } return $adminLists; } /** * @notes 获取数量 * @return int * @author 令狐冲 * @date 2021/7/13 00:52 */ public function count(): int { return Admin::where($this->searchWhere)->count(); } public function extend() { return []; } }