diff --git a/app/api/controller/CompanyController.php b/app/api/controller/CompanyController.php index 001587523..e4062fe78 100644 --- a/app/api/controller/CompanyController.php +++ b/app/api/controller/CompanyController.php @@ -36,10 +36,11 @@ class CompanyController extends BaseApiController $id = $this->request->param('id', 0); if (empty($id)) { $admin = Admin::findOrEmpty($this->userInfo['admin_id']); - $company = Company::findOrEmpty($admin['company_id'])->toArray(); + $query = Company::find($admin['company_id']); } else { - $company = Company::findOrEmpty($id)->toArray(); + $query = Company::find($id); } + $company = $query->append(['province_name', 'city_name', 'area_name', 'street_name', 'area_manager_name'])->toArray(); $company['other_contacts'] = json_decode($company['other_contacts'], true); $company['qualification'] = $company['qualification'] != null ? json_decode($company['qualification'], true) : ''; $contract = Contract::find($company['contract_id']); @@ -67,7 +68,7 @@ class CompanyController extends BaseApiController public function areaManager() { $adminIds = AdminRole::where('role_id', 8)->column('admin_id'); - $data = Admin::wherein('id', $adminIds)->field('id,name,account,avatar,province,city,area,street')->select()->toArray(); + $data = Admin::wherein('id', $adminIds)->append(['province_name', 'city_name', 'area_name', 'street_name'])->field('id,name,account,avatar,province,city,area,street')->select()->toArray(); return $this->success('success', $data); } diff --git a/app/common/model/Company.php b/app/common/model/Company.php index 0f7d420f6..95fe1e89d 100644 --- a/app/common/model/Company.php +++ b/app/common/model/Company.php @@ -32,4 +32,29 @@ class Company extends BaseModel return DictData::where('id', $value)->value('name'); } + public function getProvinceNameAttr($value) + { + return Db::name('geo_province')->where(['province_code' => $this->province])->value('province_name'); + } + + public function getCityNameAttr($value) + { + return Db::name('geo_city')->where(['city_code' => $this->city])->value('city_name'); + } + + public function getAreaNameAttr($value) + { + return Db::name('geo_area')->where(['area_code' => $this->area])->value('area_name'); + } + + public function getStreetNameAttr($value) + { + return Db::name('geo_street')->where(['street_code' => $this->street])->value('street_name'); + } + + public function getAreaManagerNameAttr($value) + { + return Db::name('admin')->where(['id' => $this->area_manager])->value('name'); + } + } \ No newline at end of file diff --git a/app/common/model/auth/Admin.php b/app/common/model/auth/Admin.php index 8d0528570..bb00cbe95 100755 --- a/app/common/model/auth/Admin.php +++ b/app/common/model/auth/Admin.php @@ -120,4 +120,24 @@ class Admin extends BaseModel return $this->hasOne(Company::class, 'id', 'company_id'); } + public function getProvinceNameAttr($value) + { + return Db::name('geo_province')->where(['province_code' => $this->province])->value('province_name'); + } + + public function getCityNameAttr($value) + { + return Db::name('geo_city')->where(['city_code' => $this->city])->value('city_name'); + } + + public function getAreaNameAttr($value) + { + return Db::name('geo_area')->where(['area_code' => $this->area])->value('area_name'); + } + + public function getStreetNameAttr($value) + { + return Db::name('geo_street')->where(['street_code' => $this->street])->value('street_name'); + } + } \ No newline at end of file