From 085324505fa4ea36c0da60a9aaff0fc449f18c03 Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Fri, 21 Jul 2023 16:28:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E6=9C=BA=E7=AB=AF=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=85=AC=E5=8F=B8=E4=BA=BA=E5=91=98=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/BaseApiController.php | 7 +++++++ app/api/controller/CompanyController.php | 22 ++++++++++++++++++++-- app/api/controller/ContractController.php | 3 +-- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/app/api/controller/BaseApiController.php b/app/api/controller/BaseApiController.php index 365105865..8c56eeeff 100755 --- a/app/api/controller/BaseApiController.php +++ b/app/api/controller/BaseApiController.php @@ -28,4 +28,11 @@ class BaseApiController extends BaseLikeAdminController $this->userId = $this->request->userInfo['user_id']; } } + + public function getPage() + { + $page = $this->request->get('page', 1); + $limit = $this->request->get('limit', 15); + return [$page, $limit]; + } } \ No newline at end of file diff --git a/app/api/controller/CompanyController.php b/app/api/controller/CompanyController.php index d3a3aad6d..001587523 100644 --- a/app/api/controller/CompanyController.php +++ b/app/api/controller/CompanyController.php @@ -4,6 +4,7 @@ namespace app\api\controller; use app\common\model\auth\Admin; use app\common\model\auth\AdminRole; +use app\common\model\auth\SystemRole; use app\common\model\Company; use app\common\model\contract\Contract; use think\facade\Db; @@ -17,8 +18,7 @@ class CompanyController extends BaseApiController public function index() { - $page = $this->request->get('page', 1); - $limit = $this->request->get('limit', 15); + [$page, $limit] = $this->getPage(); $admin = Admin::findOrEmpty($this->userInfo['admin_id']); $myCompany = Company::findOrEmpty($admin['company_id'])->toArray(); $companyIds = Contract::where('party_a', $myCompany['id'])->column('party_b'); @@ -71,4 +71,22 @@ class CompanyController extends BaseApiController return $this->success('success', $data); } + public function users() + { + [$page, $limit] = $this->getPage(); + $companyId = $this->request->param('company_id', 0); + $query = Admin::where('company_id', $companyId); + $count = $query->count(); + $users = $query->page($page)->limit($limit)->with(['company' => function ($query) { + $query->field('id,company_name'); + }])->field('id,avatar,name,account,phone,qualification,province,city,area,street,is_contract,company_id')->select()->toArray(); + foreach ($users as &$user) { + $roleIds = AdminRole::where('admin_id', $user['id'])->column('role_id'); + $user['roles'] = SystemRole::whereIn('id', $roleIds)->column('name'); + $user['qualification'] = $user['qualification'] != null ? json_decode($user['qualification'], true) : []; + unset($user['role_id'], $user['dept_id'], $user['jobs_id'], $user['id']); + } + return $this->success('success', ['count' => $count, 'data' => $users]); + } + } \ No newline at end of file diff --git a/app/api/controller/ContractController.php b/app/api/controller/ContractController.php index 27475fa32..58524a9e8 100644 --- a/app/api/controller/ContractController.php +++ b/app/api/controller/ContractController.php @@ -17,8 +17,7 @@ class ContractController extends BaseApiController public function index() { - $page = $this->request->get('page', 1); - $limit = $this->request->get('limit', 15); + [$page, $limit] = $this->getPage(); $admin = Admin::where('id', $this->userInfo['admin_id'])->find(); if (empty($admin)) { return $this->success();