From 3dc5e2e47fc2522c8cac2634f5ebb0b207b80648 Mon Sep 17 00:00:00 2001 From: weiz Date: Mon, 11 Dec 2023 10:54:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E4=BA=BA=E5=91=98=E3=80=81=E8=8E=B7=E5=8F=96=E6=9F=90?= =?UTF-8?q?=E4=B8=AA=E9=83=A8=E9=97=A8=E4=B8=8B=E7=9A=84=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E3=80=81=E8=8E=B7=E5=8F=96=E6=9F=90=E4=B8=AA=E5=B2=97=E4=BD=8D?= =?UTF-8?q?=E4=B8=8B=E7=9A=84=E4=BA=BA=E5=91=98=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/auth/AdminController.php | 65 +++++++++++++++++++ app/adminapi/logic/dept/JobsLogic.php | 4 ++ 2 files changed, 69 insertions(+) diff --git a/app/adminapi/controller/auth/AdminController.php b/app/adminapi/controller/auth/AdminController.php index dd718713f..2def5328f 100755 --- a/app/adminapi/controller/auth/AdminController.php +++ b/app/adminapi/controller/auth/AdminController.php @@ -134,4 +134,69 @@ class AdminController extends BaseAdminController $result = AdminLogic::editSelf($params); return $this->success('操作成功', [], 1, 1); } + + //获取所有人员 + public function getAdminsByAll(): \think\response\Json + { + $data = Admin::field('id,name,avatar,org_id,dept_id,job_id')->select()->each(function($item){ + $job = Jobs::field('name')->where('id',$item['job_id'])->findOrEmpty(); + $dept = Dept::field('name')->where('id',$item['dept_id'])->findOrEmpty(); + $org = Orgs::field('name')->where('id',$item['org_id'])->findOrEmpty(); + $item['job_name'] = $job->isEmpty() ? '' : $job['name']; + $item['dept_name'] = $dept->isEmpty() ? '' : $dept['name']; + $item['org_name'] = $org->isEmpty() ? '' : $org['name']; + unset($item['org_id'],$item['dept_id'],$item['job_id']); + return $item; + })->toArray(); + foreach($data as $k=>$v){ + unset($data[$k]['role_id']); + } + return $this->success('请求成功',$data); + } + + //获取某个部门下的所有人员 + public function getAdminsByDept(): \think\response\Json + { + $dept_id = $this->request->get('dept_id'); + if(empty($dept_id)){ + return $this->fail('参数错误'); + } + $data = Admin::field('id,name,avatar,org_id,dept_id,job_id')->where('dept_id',$dept_id)->select()->each(function($item){ + $job = Jobs::field('name')->where('id',$item['job_id'])->findOrEmpty(); + $dept = Dept::field('name')->where('id',$item['dept_id'])->findOrEmpty(); + $org = Orgs::field('name')->where('id',$item['org_id'])->findOrEmpty(); + $item['job_name'] = $job->isEmpty() ? '' : $job['name']; + $item['dept_name'] = $dept->isEmpty() ? '' : $dept['name']; + $item['org_name'] = $org->isEmpty() ? '' : $org['name']; + unset($item['org_id'],$item['dept_id'],$item['job_id']); + return $item; + })->toArray(); + foreach($data as $k=>$v){ + unset($data[$k]['role_id']); + } + return $this->success('请求成功',$data); + } + + //获取某个岗位下的所有人员 + public function getAdminsByJob(): \think\response\Json + { + $job_id = $this->request->get('job_id'); + if(empty($job_id)){ + return $this->fail('参数错误'); + } + $data = Admin::field('id,name,avatar,org_id,dept_id,job_id')->where('job_id',$job_id)->select()->each(function($item){ + $job = Jobs::field('name')->where('id',$item['job_id'])->findOrEmpty(); + $dept = Dept::field('name')->where('id',$item['dept_id'])->findOrEmpty(); + $org = Orgs::field('name')->where('id',$item['org_id'])->findOrEmpty(); + $item['job_name'] = $job->isEmpty() ? '' : $job['name']; + $item['dept_name'] = $dept->isEmpty() ? '' : $dept['name']; + $item['org_name'] = $org->isEmpty() ? '' : $org['name']; + unset($item['org_id'],$item['dept_id'],$item['job_id']); + return $item; + })->toArray(); + foreach($data as $k=>$v){ + unset($data[$k]['role_id']); + } + return $this->success('请求成功',$data); + } } \ No newline at end of file diff --git a/app/adminapi/logic/dept/JobsLogic.php b/app/adminapi/logic/dept/JobsLogic.php index ed368ca60..001efe937 100755 --- a/app/adminapi/logic/dept/JobsLogic.php +++ b/app/adminapi/logic/dept/JobsLogic.php @@ -19,6 +19,7 @@ use app\common\logic\BaseLogic; use app\common\model\article\Article; use app\common\model\dept\Dept; use app\common\model\dept\Jobs; +use app\common\model\dept\Orgs; use app\common\service\FileService; @@ -99,7 +100,10 @@ class JobsLogic extends BaseLogic return []; } $dept = Dept::where('id',$jobs['dept_id'])->findOrEmpty(); + $org = Orgs::where('id',$dept['org_id'])->findOrEmpty(); $jobs['dept_name'] = $dept->isEmpty() ? '' : $dept['name']; + $jobs['org_id'] = $org->isEmpty() ? 0 : $org['id']; + $jobs['org_name'] = $org->isEmpty() ? '' : $org['name']; $jobs['status_text'] = $jobs->status_text; return $jobs->toArray(); }