This commit is contained in:
mkm 2023-07-21 13:46:06 +08:00
commit 6cc4d33408
6 changed files with 90 additions and 16 deletions

View File

@ -257,7 +257,7 @@ class CompanyController extends BaseAdminController
$existUsers = Company::where('status', '<>', -1)->column('admin_id');
$existUsers = array_unique($existUsers);
$users = Admin::whereNotIn('id', $existUsers)->field('id,name,avatar')->select()->toArray();
return $this->success('success', $users, 1, 1);
return $this->success('success', $users);
}
/**
@ -268,11 +268,11 @@ class CompanyController extends BaseAdminController
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function subordinate($id)
public function subordinate($company_id)
{
$company = Company::findOrEmpty($id);
$company = Company::findOrEmpty($company_id);
$result = loopGetChild(Company::class, $company->id, 'level_one');
return $this->success('success', $result, 1, 1);
return $this->success('success', $result);
}
}

View File

@ -87,7 +87,7 @@ class TaskController extends BaseAdminController
}
unset($param['name'], $param['real_val']);
}
return to_assign(200, '发布成功');
return to_assign(200, '发布成功', 1, 1);
} else {
$param['create_time'] = time();
$param['admin_id'] = $this->adminId;
@ -104,7 +104,7 @@ class TaskController extends BaseAdminController
}
$param['initial_end_time'] = $param['end_time'];
$sid = Task::strict(false)->field(true)->insertGetId($param);
return to_assign(200, '发布成功');
return to_assign(200, '发布成功', 1, 1);
}
}
@ -214,9 +214,9 @@ class TaskController extends BaseAdminController
);
Db::name('Log')->strict(false)->field(true)->insert($log_data);
}
return to_assign(200, '驳回成功');
return to_assign(200, '驳回成功', 1, 1);
} else {
return to_assign(200, '驳回失败');
return to_assign(200, '驳回失败', 1, 1);
}
}

View File

@ -45,6 +45,8 @@ class ArticleLogic extends BaseLogic
'cid' => $params['cid'],
'is_show' => $params['is_show'],
'content' => $params['content'] ?? '',
'admin_id' => request()->adminInfo['admin_id'] ?? 0,
'company_id' => request()->adminInfo['company_id'] ?? 0,
]);
}

View File

@ -0,0 +1,69 @@
<?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 CompanyController
* @package app\api\controller
*/
class CompanyController extends BaseApiController
{
public function index()
{
$page = $this->request->get('page', 1);
$limit = $this->request->get('limit', 15);
$admin = Admin::findOrEmpty($this->userInfo['admin_id']);
$myCompany = Company::findOrEmpty($admin['company_id'])->toArray();
$companyIds = Contract::where('party_a', $myCompany['id'])->column('party_b');
$query = Company::whereIn('id', $companyIds);
$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):'';
})->toArray();
return $this->success('', ['count' => $count, 'data' => $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):'';
$contract = Contract::find($company['contract_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_type_name'] = Db::name('dict_data')->where('id', $company['company_type'])->value('name');
$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]);
}
}

View File

@ -30,7 +30,7 @@ class ContractController extends BaseApiController
}
$count = $query->count();
$contract = $query->page($page)->limit($limit)->select();
return $this->success('success', ['count' => $count, 'data' => $contract], 1, 1);
return $this->success('success', ['count' => $count, 'data' => $contract]);
}
public function view($id)
@ -57,7 +57,7 @@ class ContractController extends BaseApiController
$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], 1, 1);
return $this->success('success', ['contract' => $contract, 'company' => $company, 'users' => $users]);
}
}

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']);
}
}