添加手机端公司查询

This commit is contained in:
luofei 2023-07-21 11:32:23 +08:00
parent 11e46d81e9
commit c2d6a069a2
2 changed files with 54 additions and 6 deletions

View File

@ -0,0 +1,45 @@
<?php
namespace app\api\controller;
use app\common\model\auth\Admin;
use app\common\model\Company;
use app\common\model\contract\Contract;
/**
* Class CompanyController
* @package app\api\controller
*/
class CompanyController extends BaseApiController
{
public function index()
{
$admin = Admin::findOrEmpty($this->userInfo['admin_id']);
$myCompany = Company::findOrEmpty($admin['company_id'])->toArray();
$companyIds = Contract::where('party_a', $myCompany['id'])->column('party_b');
$companies = Company::whereIn('id', $companyIds)->select()->each(function ($company) {
$company['other_contacts'] = json_decode($company['other_contacts'], true);
$company['qualification'] = $company['qualification']!=null?json_decode($company['qualification'], true):'';
})->toArray();
return $this->success('', $companies);
}
public function view($id)
{
$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):'';
return $this->success('', $company);
}
}

View File

@ -14,10 +14,9 @@
namespace app\common\model\contract;
use app\common\model\BaseModel;
use app\common\model\Company;
use app\common\model\dict\DictData;
/**
* Contract模型
@ -39,14 +38,18 @@ class Contract extends BaseModel
*/
public function companyName()
{
return $this->hasOne(\app\common\model\Company::class, 'id', 'company_id')->bind(['company_name']);;
return $this->hasOne(Company::class, 'id', 'company_id')->bind(['company_name']);
}
public function company()
{
return $this->hasOne(Company::class, 'id', 'company_id');
}
public function partyA()
{
return $this->hasOne(\app\common\model\Company::class, 'id', 'company_id')->bind(['party_a_name'=>'company_name']);;
return $this->hasOne(Company::class, 'id', 'company_id')->bind(['party_a_name'=>'company_name']);;
}
public function contractType()
{
return $this->hasOne(\app\common\model\dict\DictData::class, 'id', 'contract_type')->bind(['contract_type_name'=>'name']);;
return $this->hasOne(DictData::class, 'id', 'contract_type')->bind(['contract_type_name'=>'name']);
}
}