userIds = $userIds; } /** * 获取数据集合 */ public function collection() { $query = User::with(['department', 'roles']); if (!empty($this->userIds)) { $query->whereIn('id', $this->userIds); } return $query->get(); } /** * 设置表头 */ public function headings(): array { return [ 'ID', '用户名', '真实姓名', '邮箱', '手机号', '部门', '角色', '状态', '最后登录时间', '创建时间', ]; } /** * 映射数据 */ public function map($user): array { return [ $user->id, $user->username, $user->real_name, $user->email, $user->phone, $user->department ? $user->department->name : '', $user->roles->pluck('name')->implode(','), $user->status == 1 ? '启用' : '禁用', $user->last_login_at ? (string)$user->last_login_at : '', $user->created_at ? (string)$user->created_at : '', ]; } }