From d9e18b5178382be7afff8fbabe2056284fdad4cc Mon Sep 17 00:00:00 2001 From: chenbo <709206448@qq.com> Date: Thu, 14 Sep 2023 09:35:33 +0800 Subject: [PATCH] =?UTF-8?q?add:=E5=95=86=E6=88=B7=E5=90=88=E5=90=8C?= =?UTF-8?q?=EF=BC=8C=E7=94=B2=E6=96=B9=E4=B9=99=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/adminapi/lists/ShopContractLists.php | 1 + app/common/model/ShopContract.php | 47 +++++++++++++++++++++++- app/common/model/ShopMerchant.php | 2 +- 3 files changed, 47 insertions(+), 3 deletions(-) diff --git a/app/adminapi/lists/ShopContractLists.php b/app/adminapi/lists/ShopContractLists.php index f919ff24f..25062a387 100644 --- a/app/adminapi/lists/ShopContractLists.php +++ b/app/adminapi/lists/ShopContractLists.php @@ -59,6 +59,7 @@ class ShopContractLists extends BaseAdminDataLists implements ListsSearchInterfa ->field(['id', 'contract_no', 'party_a', 'party_b', 'area_manager', 'type', 'evidence_url', 'check_status', 'status']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) + ->with(['partyA', 'partyB']) ->select() ->toArray(); } diff --git a/app/common/model/ShopContract.php b/app/common/model/ShopContract.php index 08f58008e..3fee57d1b 100644 --- a/app/common/model/ShopContract.php +++ b/app/common/model/ShopContract.php @@ -28,7 +28,50 @@ class ShopContract extends BaseModel { protected $name = 'shop_contract'; - - + + /** + * @notes 关联company_name + * @return \think\model\relation\HasOne + * @author likeadmin + * @date 2023/07/18 14:28 + */ + public function companyName() + { + return $this->hasOne(ShopMerchant::class, 'id', 'company_id')->bind(['company_name']); + } + public function company() + { + return $this->hasOne(ShopMerchant::class, 'id', 'company_id'); + } + public function partyAInfo() + { + return $this->hasOne(ShopMerchant::class, 'id', 'party_a')->field('id,company_name,organization_code,master_name,master_phone,master_email,area_manager'); + } + public function partyBInfo() + { + // halt($this->type); + // if($this->type==1){ + return $this->hasOne(ShopMerchant::class, 'id', 'party_b')->field('id,company_name,organization_code,master_name,master_phone,master_email,area_manager'); + // }else{ + // return $this->hasOne(User::class, 'id', 'party_b')->field('id,nickname company_name'); + // } + } + public function partyA() + { + return $this->hasOne(ShopMerchant::class, 'id', 'party_a')->bind(['party_a_name' => 'company_name']); + } + public function partyB() + { + return $this->hasOne(ShopMerchant::class, 'id', 'party_b')->bind(['party_b_name' => 'company_name']); + } + public function contractType() + { + return $this->hasOne(DictData::class, 'id', 'contract_type')->bind(['contract_type_name' => 'name']); + } + + public function getContractTypeNameAttr($value) + { + return DictData::where(['id' => $this->contract_type])->value('name'); + } } \ No newline at end of file diff --git a/app/common/model/ShopMerchant.php b/app/common/model/ShopMerchant.php index e1e971cac..07c239643 100644 --- a/app/common/model/ShopMerchant.php +++ b/app/common/model/ShopMerchant.php @@ -51,7 +51,7 @@ class ShopMerchant extends BaseModel public function getContractAttr() { - $find=Contract::where('party_a|party_b', $this->id)->field('check_status,status')->find(); + $find=ShopContract::where('party_a|party_b', $this->id)->field('check_status,status')->find(); if($find){ return $find->toArray(); }else{