63 lines
2.6 KiB
PHP
63 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace app\api\controller;
|
|
|
|
use app\common\model\auth\Admin;
|
|
use app\common\model\Company;
|
|
use app\common\model\contract\Contract;
|
|
use think\facade\Db;
|
|
|
|
/**
|
|
* 搜索
|
|
* Class ContractController
|
|
* @package app\api\controller
|
|
*/
|
|
class ContractController extends BaseApiController
|
|
{
|
|
|
|
public function index()
|
|
{
|
|
$page = $this->request->get('page', 1);
|
|
$limit = $this->request->get('limit', 15);
|
|
$admin = Admin::where('id', $this->userInfo['admin_id'])->find();
|
|
if (empty($admin)) {
|
|
return $this->success();
|
|
}
|
|
if (!empty($admin['company_id'])) {
|
|
$query = Contract::whereRaw("(type=1 and party_b={$admin['company_id']}) or (type=2 and party_b={$admin['id']})");
|
|
} else {
|
|
$query = Contract::where('party_b', $admin['id']);
|
|
}
|
|
$count = $query->count();
|
|
$contract = $query->page($page)->limit($limit)->select();
|
|
return $this->success('success', ['count' => $count, 'data' => $contract]);
|
|
}
|
|
|
|
public function view($id)
|
|
{
|
|
$contract = Contract::find($id);
|
|
if (empty($contract)) {
|
|
return $this->fail('合同不存在');
|
|
}
|
|
if($contract['admin_id']!=0){
|
|
$contract['party_b_name'] = Admin::where('id', $contract['admin_id'])->value('name');
|
|
}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');
|
|
|
|
$contract['contract_type_name'] = Db::name('dict_data')->where('id', $contract['contract_type'])->value('name');
|
|
$company = Company::where('id', $contract['company_id'])->find();
|
|
$company['company_type_name'] = Db::name('dict_data')->where('id', $company['company_type'])->value('name');
|
|
$company['other_contacts'] = json_decode($company['other_contacts'], true);
|
|
$company['qualification'] = $company['qualification']!=null?json_decode($company['qualification'], true):'';
|
|
$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):[];
|
|
unset($user['role_id'], $user['dept_id'], $user['jobs_id'], $user['id']);
|
|
}
|
|
return $this->success('success', ['contract' => $contract, 'company' => $company, 'users' => $users]);
|
|
}
|
|
|
|
} |