From 17307981f8e9070788f7134265d562dbfa3a98a0 Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Sat, 22 Jul 2023 14:02:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BA=BA=E5=91=98=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=95=B0=E6=8D=AE=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/adminapi/lists/auth/AdminLists.php | 10 +++++++--- app/common.php | 12 ++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/adminapi/lists/auth/AdminLists.php b/app/adminapi/lists/auth/AdminLists.php index 6fd5f89dd..f191026f5 100755 --- a/app/adminapi/lists/auth/AdminLists.php +++ b/app/adminapi/lists/auth/AdminLists.php @@ -22,6 +22,7 @@ use app\common\lists\ListsSortInterface; 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\dept\Dept; use app\common\model\dept\Jobs; @@ -135,8 +136,8 @@ class AdminLists extends BaseAdminDataLists implements ListsExtendInterface, Lis public function lists(): array { $field = [ - 'id', 'name', 'account', 'create_time', 'disable', 'root', - 'login_time', 'login_ip', 'multipoint_login', 'avatar' + 'id', 'name', 'account', 'create_time', 'disable', 'root', 'province', 'city', 'area', 'street', + 'login_time', 'login_ip', 'multipoint_login', 'avatar', 'company_id', 'contract_id', 'create_time' ]; $adminLists = Admin::field($field) @@ -144,7 +145,7 @@ class AdminLists extends BaseAdminDataLists implements ListsExtendInterface, Lis ->where($this->queryWhere()) ->limit($this->limitOffset, $this->limitLength) ->order($this->sortOrder) - ->append(['role_id', 'dept_id', 'jobs_id', 'disable_desc']) + ->append(['role_id', 'dept_id', 'jobs_id', 'disable_desc', 'province_name', 'city_name', 'area_name', 'street_name']) ->select() ->toArray(); @@ -154,6 +155,9 @@ class AdminLists extends BaseAdminDataLists implements ListsExtendInterface, Lis $deptLists = Dept::column('name', 'id'); // 岗位列表 $jobsLists = Jobs::column('name', 'id'); + $companyIds = array_unique(array_column($adminLists, 'company_id')); + $company = Company::whereIn('id', $companyIds)->field('id,company_name')->select()->toArray(); + $adminLists = append($adminLists, $company, 'company_id', 'company'); //管理员列表增加角色名称 foreach ($adminLists as $k => $v) { diff --git a/app/common.php b/app/common.php index 220304148..d1ab4521b 100755 --- a/app/common.php +++ b/app/common.php @@ -464,4 +464,16 @@ function loopGetChild($model, $id, $parentKey = 'pid', $field = '*') } } return $result; +} + +function append($data, $append, $key = 'id', $appendKey = 'append') +{ + $tmp = []; + foreach ($append as $item) { + $tmp[$item['id']] = $item; + } + foreach ($data as &$v) { + $v[$appendKey] = $tmp[$v[$key]] ?? []; + } + return $data; } \ No newline at end of file