From 22793d8ec3c48f8ef4ebc478d8dc66ed8a3a8616 Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Fri, 21 Jul 2023 11:05:12 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=96=87=E7=AB=A0?= =?UTF-8?q?=E5=BD=95=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/adminapi/controller/CompanyController.php | 4 ++-- app/adminapi/logic/article/ArticleLogic.php | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/adminapi/controller/CompanyController.php b/app/adminapi/controller/CompanyController.php index 9067fdd56..588e9f1ae 100644 --- a/app/adminapi/controller/CompanyController.php +++ b/app/adminapi/controller/CompanyController.php @@ -268,9 +268,9 @@ 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); } diff --git a/app/adminapi/logic/article/ArticleLogic.php b/app/adminapi/logic/article/ArticleLogic.php index 641ab0404..1e0e0d0db 100755 --- a/app/adminapi/logic/article/ArticleLogic.php +++ b/app/adminapi/logic/article/ArticleLogic.php @@ -45,6 +45,8 @@ class ArticleLogic extends BaseLogic 'cid' => $params['cid'], 'is_show' => $params['is_show'], 'content' => $params['content'] ?? '', + 'admin_id' => request()->adminInfo['id'] ?? 0, + 'company_id' => request()->adminInfo['company_id'] ?? 0, ]); } From 7155cc3c696f73eb6fd11fd4109afc852658ea93 Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Fri, 21 Jul 2023 11:07:59 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=96=87=E7=AB=A0?= =?UTF-8?q?=E5=BD=95=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/adminapi/logic/article/ArticleLogic.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/adminapi/logic/article/ArticleLogic.php b/app/adminapi/logic/article/ArticleLogic.php index 1e0e0d0db..b513a2e79 100755 --- a/app/adminapi/logic/article/ArticleLogic.php +++ b/app/adminapi/logic/article/ArticleLogic.php @@ -45,7 +45,7 @@ class ArticleLogic extends BaseLogic 'cid' => $params['cid'], 'is_show' => $params['is_show'], 'content' => $params['content'] ?? '', - 'admin_id' => request()->adminInfo['id'] ?? 0, + 'admin_id' => request()->adminInfo['admin_id'] ?? 0, 'company_id' => request()->adminInfo['company_id'] ?? 0, ]); } From 11e46d81e9ed4197769f211252c4b6de1183f892 Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Fri, 21 Jul 2023 11:23:39 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/adminapi/controller/CompanyController.php | 4 ++-- app/adminapi/controller/TaskController.php | 8 ++++---- app/api/controller/ContractController.php | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/adminapi/controller/CompanyController.php b/app/adminapi/controller/CompanyController.php index 588e9f1ae..256f5d9d4 100644 --- a/app/adminapi/controller/CompanyController.php +++ b/app/adminapi/controller/CompanyController.php @@ -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); } /** @@ -272,7 +272,7 @@ class CompanyController extends BaseAdminController { $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); } } diff --git a/app/adminapi/controller/TaskController.php b/app/adminapi/controller/TaskController.php index ea7d447c3..bebe33e8a 100644 --- a/app/adminapi/controller/TaskController.php +++ b/app/adminapi/controller/TaskController.php @@ -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); } } diff --git a/app/api/controller/ContractController.php b/app/api/controller/ContractController.php index 3cfff4e2e..27475fa32 100644 --- a/app/api/controller/ContractController.php +++ b/app/api/controller/ContractController.php @@ -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]); } } \ No newline at end of file From c2d6a069a25707f28e2adb556659f0246e01fb99 Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Fri, 21 Jul 2023 11:32:23 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=8B=E6=9C=BA?= =?UTF-8?q?=E7=AB=AF=E5=85=AC=E5=8F=B8=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/CompanyController.php | 45 ++++++++++++++++++++++++ app/common/model/contract/Contract.php | 15 ++++---- 2 files changed, 54 insertions(+), 6 deletions(-) create mode 100644 app/api/controller/CompanyController.php diff --git a/app/api/controller/CompanyController.php b/app/api/controller/CompanyController.php new file mode 100644 index 000000000..233756bce --- /dev/null +++ b/app/api/controller/CompanyController.php @@ -0,0 +1,45 @@ +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); + } + +} \ No newline at end of file diff --git a/app/common/model/contract/Contract.php b/app/common/model/contract/Contract.php index b1b066387..207552961 100644 --- a/app/common/model/contract/Contract.php +++ b/app/common/model/contract/Contract.php @@ -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']); } } \ No newline at end of file From f39dbca235f8d6a9ca6ab7567f4fa0b3b29f2d9b Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Fri, 21 Jul 2023 11:39:02 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=8B=E6=9C=BA?= =?UTF-8?q?=E7=AB=AF=E5=85=AC=E5=8F=B8=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/CompanyController.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/api/controller/CompanyController.php b/app/api/controller/CompanyController.php index 233756bce..2dc032313 100644 --- a/app/api/controller/CompanyController.php +++ b/app/api/controller/CompanyController.php @@ -15,14 +15,18 @@ 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'); - $companies = Company::whereIn('id', $companyIds)->select()->each(function ($company) { + $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('', $companies); + return $this->success('', ['count' => $count, 'data' => $companies]); } public function view($id) From 877f643b873a219573d0461174483a2bb99a9198 Mon Sep 17 00:00:00 2001 From: luofei <604446095@qq.com> Date: Fri, 21 Jul 2023 12:00:39 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=88=91=E7=9A=84?= =?UTF-8?q?=E5=85=AC=E5=8F=B8=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/CompanyController.php | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/app/api/controller/CompanyController.php b/app/api/controller/CompanyController.php index 2dc032313..80352dd59 100644 --- a/app/api/controller/CompanyController.php +++ b/app/api/controller/CompanyController.php @@ -5,6 +5,7 @@ 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 @@ -43,7 +44,26 @@ class CompanyController extends BaseApiController $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); + $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]); } } \ No newline at end of file