diff --git a/app/api/controller/CompanyController.php b/app/api/controller/CompanyController.php index 135d863ee..092c07488 100644 --- a/app/api/controller/CompanyController.php +++ b/app/api/controller/CompanyController.php @@ -85,9 +85,24 @@ class CompanyController extends BaseApiController $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']); + unset($user['role_id'], $user['dept_id'], $user['jobs_id']); } return $this->success('success', ['count' => $count, 'data' => $users]); } + public function user($id) + { + $query = Admin::where('id', $id); + $user = $query->with(['company' => function ($query) { + $query->field('id,company_name'); + }])->append(['province_name', 'city_name', 'area_name', 'street_name'])->field('id,sex,avatar,name,account,phone,qualification,province,city,area,street,is_contract,company_id')->find()->toArray(); + $contract = Contract::whereRaw("(type=1 and party_b={$user['company_id']}) or (type=2 and party_b={$user['id']})")->append(['contract_type_name'])->find(); + $user['contract'] = $contract; + $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']); + return $this->success('success', $user); + } + } \ No newline at end of file diff --git a/app/common/model/contract/Contract.php b/app/common/model/contract/Contract.php index 207552961..ae86d6c78 100644 --- a/app/common/model/contract/Contract.php +++ b/app/common/model/contract/Contract.php @@ -52,4 +52,10 @@ class Contract extends BaseModel { return $this->hasOne(DictData::class, 'id', 'contract_type')->bind(['contract_type_name'=>'name']); } + + public function getContractTypeNameAttr($value) + { + return DictData::where(['id' => $this->contract_type])->value('name'); + } + } \ No newline at end of file