diff --git a/app/adminapi/lists/auth/AdminLists.php b/app/adminapi/lists/auth/AdminLists.php index 4a339e7c8..acbf62e3c 100755 --- a/app/adminapi/lists/auth/AdminLists.php +++ b/app/adminapi/lists/auth/AdminLists.php @@ -32,7 +32,7 @@ use think\facade\Db; * Class AdminLists * @package app\adminapi\lists\auth */ -class AdminLists extends BaseAdminDataLists implements ListsExtendInterface, ListsSearchInterface, ListsSortInterface,ListsExcelInterface +class AdminLists extends BaseAdminDataLists implements ListsExtendInterface, ListsSearchInterface, ListsSortInterface, ListsExcelInterface { /** * @notes 设置导出字段 @@ -77,7 +77,6 @@ class AdminLists extends BaseAdminDataLists implements ListsExtendInterface, Lis { return [ '%like%' => ['name', 'account'], - '=' => ['company_id'] ]; } @@ -121,16 +120,14 @@ class AdminLists extends BaseAdminDataLists implements ListsExtendInterface, Lis $where[] = ['id', 'in', $adminIds]; } } - if(isset($this->params['company_id']) && $this->params['company_id'] != ''){ - $where[] = ['company_id', '=', $this->params['company_id']]; - }else{ - if($this->adminInfo['root']!=1){ - $column_id=Db::name('company')->where('level_two',$this->adminInfo['company_id'])->column('id'); - array_push($column_id,$this->adminInfo['company_id']); - $where[]=['company_id','in',$column_id]; - + + if ($this->adminInfo['root'] != 1) { + if($this->adminInfo['role_id'][0]==10){ + $where[] = ['area_manager', '=', $this->adminId]; + } } + return $where; } @@ -148,7 +145,7 @@ class AdminLists extends BaseAdminDataLists implements ListsExtendInterface, Lis { $field = [ 'id', 'name', 'account', 'create_time', 'disable', 'root', 'province', 'city', 'area', 'street', - 'login_time', 'login_ip', 'multipoint_login', 'avatar', 'company_id', 'is_contract', 'create_time' + 'login_time', 'login_ip', 'multipoint_login', 'avatar', 'is_contract', 'create_time' ]; $adminLists = Admin::field($field) ->where($this->searchWhere) @@ -165,9 +162,9 @@ class AdminLists extends BaseAdminDataLists implements ListsExtendInterface, Lis $deptLists = Dept::column('name', 'id'); // 岗位列表 $jobsLists = Jobs::column('name', 'id'); - $companyIds = array_unique(array_column($adminLists, 'company_id')); - $company = Company::whereIn('id', $companyIds)->field('id,company_name')->select()->toArray(); - $adminLists = append($adminLists, $company, 'company_id', 'company'); + // $companyIds = array_unique(array_column($adminLists, 'company_id')); + // $company = Company::whereIn('id', $companyIds)->field('id,company_name')->select()->toArray(); + // $adminLists = append($adminLists, $company, 'company_id', 'company'); //管理员列表增加角色名称 foreach ($adminLists as $k => $v) { @@ -218,4 +215,4 @@ class AdminLists extends BaseAdminDataLists implements ListsExtendInterface, Lis { return []; } -} \ No newline at end of file +} diff --git a/app/adminapi/lists/contract/ContractLists.php b/app/adminapi/lists/contract/ContractLists.php index d06d78f26..637d0b542 100644 --- a/app/adminapi/lists/contract/ContractLists.php +++ b/app/adminapi/lists/contract/ContractLists.php @@ -55,7 +55,20 @@ class ContractLists extends BaseAdminDataLists implements ListsSearchInterface */ public function lists(): array { - return Contract::where($this->searchWhere)->with(['companyName','partyA','contractType']) + $params=$this->request->param(); + $where=[]; + if ($this->adminInfo['root'] != 1) { + if($this->adminInfo['role_id'][0]==10){ + if(isset($params['type']) && $params['type']==1){ + $where[] = ['check_status', '=',1]; + }else{ + $where[] = ['status', '=',0]; + $where[] = ['check_status', 'in',[2,3]]; + } + } + + } + return Contract::where($this->searchWhere)->where($where)->with(['companyName','party_a_info','contractType']) // ->field(['id', 'company_id', 'contract_type', 'contract_no', 'status', 'party_a', 'party_b', 'area_manager']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) @@ -63,10 +76,9 @@ class ContractLists extends BaseAdminDataLists implements ListsSearchInterface if($item->type==1){ $item->party_b_name=Db::name('company')->where('id',$item->party_b)->value('company_name'); }else{ - $item->party_b_name=Db::name('admin')->where('id',$item->party_b)->value('name'); + $item->party_b_name=Db::name('user')->where('id',$item->party_b)->value('nickname'); } - $item->party_a_name=Db::name('company')->where('id',$item->party_a)->value('company_name'); - $area_manager_name=Db::name('admin')->where('id',$item->area_manager)->value('name'); + $area_manager_name=Db::name('admin')->where('id',$item->party_a_info->area_manager)->value('name'); if($area_manager_name){ $item->area_manager_name=$area_manager_name; }else{ diff --git a/app/adminapi/logic/auth/AdminLogic.php b/app/adminapi/logic/auth/AdminLogic.php index 89cd31af0..872c13979 100755 --- a/app/adminapi/logic/auth/AdminLogic.php +++ b/app/adminapi/logic/auth/AdminLogic.php @@ -238,7 +238,7 @@ class AdminLogic extends BaseLogic public static function detail($params, $action = 'detail'): array { $admin = Admin::field([ - 'id', 'account', 'name', 'disable', 'root', 'company_id', + 'id', 'account', 'name', 'disable', 'root', 'multipoint_login', 'avatar', 'sex', 'province', 'city', 'area', 'street', 'address', 'qualification', 'is_contract', 'id_card,phone' ])->with(['company' => function ($query) { $query->field('id,company_name'); diff --git a/app/adminapi/logic/user/UserLogic.php b/app/adminapi/logic/user/UserLogic.php index ee8fd7d65..f04c7686c 100755 --- a/app/adminapi/logic/user/UserLogic.php +++ b/app/adminapi/logic/user/UserLogic.php @@ -52,7 +52,7 @@ class UserLogic extends BaseLogic // $user->sex = $user->getData('sex'); $user['qualification']=json_decode($user->qualification,true); if($user->is_contract==1){ - $user['contract']=Contract::where(['type'=>2,'party_b'=>$userId])->with(['partyAInfo','contractType'])->find(); + $user['contract']=Contract::where(['type'=>2,'party_b'=>$userId])->with(['party_a_info','contractType'])->find(); } return $user->toArray(); } diff --git a/app/common/logic/CompanyLogic.php b/app/common/logic/CompanyLogic.php index 11bffe7fc..dcd5ea40c 100644 --- a/app/common/logic/CompanyLogic.php +++ b/app/common/logic/CompanyLogic.php @@ -121,15 +121,15 @@ class CompanyLogic extends BaseLogic { Db::startTrans(); try { - Company::where('id', $params['id'])->update([ - // 'level_two' => $params['level_two'], - // 'level_one' => $params['level_one'], + $arr=[ 'company_name' => $params['company_name'], 'organization_code' => $params['organization_code'], 'province' => $params['province'], 'city' => $params['city'], 'area' => $params['area'], 'street' => $params['street'], + 'village' => $params['village'], + 'brigade' => $params['brigade'], 'address' => $params['address'], 'company_type' => $params['company_type'], 'master_name' => $params['master_name'], @@ -138,29 +138,35 @@ class CompanyLogic extends BaseLogic 'master_email' => $params['master_email'], 'other_contacts' => $params['other_contacts'], 'area_manager' => $params['area_manager'] ?? 0, - // 'is_contract' => $params['is_contract'], - // 'account' => $params['account'], - // 'password' => $params['password'], - // 'deposit' => $params['deposit'], - // 'deposit_time' => $params['deposit_time'], 'qualification' => $params['qualification'], - 'admin_id' => $params['admin_id'] ?? 0, 'level_one' => $params['contract']['party_a'] ?? 0, - // 'status' => $params['status'] - ]); - if ($params['contract']) { - $contractId = self::contract($params['id'], $params); - Company::update(['contract_id' => $contractId], ['id' => $params['id']]); - } - if($params['admin_id']){ - $admin=Admin::where('company_id', $params['id'])->find(); - Admin::where('id' , $params['admin_id'])->update(['company_id' => $params['id']]); - User::where('admin_id',$params['admin_id'])->update(['company_id' => $params['id'],'qualification'=>$params['qualification'],'province'=>$params['province'],'city'=>$params['city'],'area'=>$params['area'],'street'=>$params['street'],'address'=>$params['address'],'is_contract'=>$admin['is_contract'],'mobile'=>$admin['phone']]); - if($admin['id']!=$params['admin_id']){ - Admin::where('id',$admin['id'])->update(['company_id' =>0]); - User::where('admin_id' , $admin['id'])->update(['company_id' => 0]); - } - } + ]; + + $defaultAvatar = config('project.default_image.admin_avatar'); + $admin=$arr; + $account=$params['master_phone']; + $admin['id_card']=$params['id_card']; + $admin['area_manager']=$params['area_manager']; + $admin['sex']=$params['sex']; + $admin['name']=$params['master_name']; + $admin['account']=$params['master_phone']; + $admin['avatar'] = !empty($params['avatar']) ? FileService::setFileUrl($params['avatar']) : $defaultAvatar; + $admin['phone']=$params['master_phone']; + + Admin::strict(false)->where('account',$account)->update($admin); + $admin_id=Admin::where('account',$account)->value('id'); + + $arr['admin_id']=$admin_id; + Company::where('id', $params['id'])->update($arr); + + $admin['admin_id']=$admin_id; + $admin['sechannel']=4; + // $admin['company_id']=$data['id']; + $admin['real_name']=$params['master_name']; + $admin['nickname']=$params['master_name']; + $admin['mobile']=$params['master_phone']; + $admin['phone']=$params['master_phone']; + User::strict(false)->where('account',$account)->update($admin); Db::commit(); return true; } catch (\Exception $e) { @@ -200,9 +206,12 @@ class CompanyLogic extends BaseLogic if($data['qualification'] && isset($data['qualification']['other_qualifications'])){ $data['qualification']['other_qualifications']=json_decode($data['qualification']['other_qualifications'],true); } - $data['admin_name'] = Db::name('admin')->where('id', $data['admin_id'])->value('name'); + $find= Admin::where('id', $data['admin_id'])->field('avatar,id_card')->find(); + $data['avatar']=$find['avatar']; + $data['id_card']=$find['id_card']; $data['area_manager_name'] = Db::name('admin')->where('id', $data['area_manager'])->value('name'); - $data['contract'] = Contract::where(['party_b' => $data['id']])->with(['partyAInfo', 'contractType'])->find(); + $data['contract'] = Contract::where(['party_b' => $data['id']])->with(['party_a_info', 'contractType'])->find(); + } return $data; } diff --git a/app/common/model/contract/Contract.php b/app/common/model/contract/Contract.php index 8f473d46f..06271ebf7 100644 --- a/app/common/model/contract/Contract.php +++ b/app/common/model/contract/Contract.php @@ -46,7 +46,7 @@ class Contract extends BaseModel } public function partyAInfo() { - return $this->hasOne(Company::class, 'id', 'party_a')->field('id,company_name,organization_code,master_name,master_phone,master_email'); + return $this->hasOne(Company::class, 'id', 'party_a')->field('id,company_name,organization_code,master_name,master_phone,master_email,area_manager'); } public function partyA() { diff --git a/vendor/ebaoquan/junziqian_sdk b/vendor/ebaoquan/junziqian_sdk index 9acc82cd2..1294ea49f 160000 --- a/vendor/ebaoquan/junziqian_sdk +++ b/vendor/ebaoquan/junziqian_sdk @@ -1 +1 @@ -Subproject commit 9acc82cd23d807280ddd29df2117e7890094d049 +Subproject commit 1294ea49ff9ecc4532821f8798304816cbf8dd74