From 91b2e59e13d337200a0a46deb537e0f44bd32a2f Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Fri, 21 Jul 2023 14:06:24 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=89=8B=E6=9C=BA=E7=AB=AF?= =?UTF-8?q?=E5=85=AC=E5=8F=B8=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/CompanyController.php | 29 ++++++++++------------ app/common/model/Company.php | 31 ++++++++++++++++++++---- 2 files changed, 39 insertions(+), 21 deletions(-) diff --git a/app/api/controller/CompanyController.php b/app/api/controller/CompanyController.php index 80352dd59..c039d4869 100644 --- a/app/api/controller/CompanyController.php +++ b/app/api/controller/CompanyController.php @@ -25,32 +25,29 @@ class CompanyController extends BaseApiController $count = $query->count(); $companies = $query->page($page)->limit($limit)->select()->each(function ($company) { $company['other_contacts'] = json_decode($company['other_contacts'], true); - $company['qualification'] = $company['qualification']!=null?json_decode($company['qualification'], true):''; + $company['qualification'] = $company['qualification'] != null ? json_decode($company['qualification'], true) : ''; })->toArray(); return $this->success('', ['count' => $count, 'data' => $companies]); } - public function view($id) + public function view() { - $company = Company::findOrEmpty($id)->toArray(); + $id = $this->request->param('id', 0); + if (empty($id)) { + $admin = Admin::findOrEmpty($this->userInfo['admin_id']); + $company = Company::findOrEmpty($admin['company_id'])->toArray(); + } else { + $company = Company::findOrEmpty($id)->toArray(); + } $company['other_contacts'] = json_decode($company['other_contacts'], true); - $company['qualification'] = $company['qualification']!=null?json_decode($company['qualification'], true):''; - return $this->success('', $company); - } - - public function mine() - { - $admin = Admin::findOrEmpty($this->userInfo['admin_id']); - $company = Company::findOrEmpty($admin['company_id'])->toArray(); - $company['other_contacts'] = json_decode($company['other_contacts'], true); - $company['qualification'] = $company['qualification']!=null?json_decode($company['qualification'], true):''; + $company['qualification'] = $company['qualification'] != null ? json_decode($company['qualification'], true) : ''; $contract = Contract::find($company['contract_id']); if (empty($contract)) { return $this->fail('合同不存在'); } - if($contract['admin_id']!=0){ + if ($contract['admin_id'] != 0) { $contract['party_b_name'] = Admin::where('id', $contract['admin_id'])->value('name'); - }else{ + } else { $contract['party_b_name'] = Db::name('company')->where('id', $contract['party_b'])->value('company_name'); } $contract['party_a_name'] = Db::name('company')->where('id', $contract['party_a'])->value('company_name'); @@ -60,7 +57,7 @@ class CompanyController extends BaseApiController $users = Admin::where('company_id', $company['id'])->field('id,name,account,phone,qualification')->select()->toArray(); foreach ($users as &$user) { $user['is_main'] = $user['id'] == $company['admin_id'] ? 1 : 0; - $user['qualification'] =$user['qualification']!=null?json_decode($user['qualification'], true):[]; + $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', ['contract' => $contract, 'company' => $company, 'users' => $users]); diff --git a/app/common/model/Company.php b/app/common/model/Company.php index 888f92c73..cd157724d 100644 --- a/app/common/model/Company.php +++ b/app/common/model/Company.php @@ -14,10 +14,8 @@ namespace app\common\model; - -use app\common\model\BaseModel; - - +use app\common\model\dict\DictData; +use think\facade\Db; /** * Company模型 @@ -28,7 +26,30 @@ class Company extends BaseModel { protected $name = 'company'; - + public function getCompanyTypeAttr($value) + { + return DictData::where('id', $value)->value('name'); + } + + public function getProvinceAttr($value) + { + return Db::name('geo_province')->where(['province_code' => $value])->value('province_name'); + } + + public function getCityAttr($value) + { + return Db::name('geo_city')->where(['city_code' => $value])->value('city_name'); + } + + public function getAreaAttr($value) + { + return Db::name('geo_area')->where(['area_code' => $value])->value('area_name'); + } + + public function getStreetAttr($value) + { + return Db::name('geo_street')->where(['street_code' => $value])->value('street_name'); + } } \ No newline at end of file