调整手机端公司列表

This commit is contained in:
luofei 2023-07-21 14:06:24 +08:00
parent 43873bca84
commit 91b2e59e13
2 changed files with 39 additions and 21 deletions

View File

@ -25,32 +25,29 @@ class CompanyController extends BaseApiController
$count = $query->count(); $count = $query->count();
$companies = $query->page($page)->limit($limit)->select()->each(function ($company) { $companies = $query->page($page)->limit($limit)->select()->each(function ($company) {
$company['other_contacts'] = json_decode($company['other_contacts'], true); $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(); })->toArray();
return $this->success('', ['count' => $count, 'data' => $companies]); 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['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) : '';
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):'';
$contract = Contract::find($company['contract_id']); $contract = Contract::find($company['contract_id']);
if (empty($contract)) { if (empty($contract)) {
return $this->fail('合同不存在'); 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'); $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_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'); $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(); $users = Admin::where('company_id', $company['id'])->field('id,name,account,phone,qualification')->select()->toArray();
foreach ($users as &$user) { foreach ($users as &$user) {
$user['is_main'] = $user['id'] == $company['admin_id'] ? 1 : 0; $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']); unset($user['role_id'], $user['dept_id'], $user['jobs_id'], $user['id']);
} }
return $this->success('success', ['contract' => $contract, 'company' => $company, 'users' => $users]); return $this->success('success', ['contract' => $contract, 'company' => $company, 'users' => $users]);

View File

@ -14,10 +14,8 @@
namespace app\common\model; namespace app\common\model;
use app\common\model\dict\DictData;
use app\common\model\BaseModel; use think\facade\Db;
/** /**
* Company模型 * Company模型
@ -28,7 +26,30 @@ class Company extends BaseModel
{ {
protected $name = 'company'; 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');
}
} }