$params['level_two'], // 'level_one' => $params['level_one'], 'company_name' => $params['company_name'], 'organization_code' => $params['organization_code'], 'province' => $params['province'], 'city' => $params['city'], 'area' => $params['area'], 'street' => $params['street'], 'address' => $params['address'], 'company_type' => $params['company_type'], 'master_name' => $params['master_name'], 'master_position' => $params['master_position'], 'master_phone' => $params['master_phone'], 'master_email' => $params['master_email'], 'other_contacts' => $params['other_contacts'], // 'area_manager' => $params['area_manager'], // 'is_contract' => $params['is_contract'], // 'account' => $params['account'], // 'password' => $params['password'], // 'deposit' => $params['deposit'], // 'deposit_time' => $params['deposit_time'], 'qualification' => $params['qualification'], // 'status' => $params['status'] ]); $contract=$params['contract']; $datas=[ 'company_id'=>$data['id'], 'contract_type'=>$contract['contract_type'], 'contract_no'=>time(), 'file'=>$contract['file'], 'create_time'=>time(), 'update_time'=>time(), 'party_a'=>$contract['party_a'], 'party_b'=>$data['id'], 'type'=>1 ]; $ids=Db::name('contract')->insertGetId($datas); Company::where('id',$data['id'])->update(['contract_id'=>$ids]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 编辑 * @param array $params * @return bool * @author likeadmin * @date 2023/07/15 14:43 */ public static function edit(array $params): bool { Db::startTrans(); try { Company::where('id', $params['id'])->update([ // 'level_two' => $params['level_two'], // 'level_one' => $params['level_one'], 'company_name' => $params['company_name'], 'organization_code' => $params['organization_code'], 'province' => $params['province'], 'city' => $params['city'], 'area' => $params['area'], 'street' => $params['street'], 'address' => $params['address'], 'company_type' => $params['company_type'], 'master_name' => $params['master_name'], 'master_position' => $params['master_position'], 'master_phone' => $params['master_phone'], 'master_email' => $params['master_email'], 'other_contacts' => $params['other_contacts'], // 'area_manager' => $params['area_manager'], // 'is_contract' => $params['is_contract'], // 'account' => $params['account'], // 'password' => $params['password'], // 'deposit' => $params['deposit'], // 'deposit_time' => $params['deposit_time'], 'qualification' => $params['qualification'], // 'status' => $params['status'] ]); $contract=$params['contract']; $datas=[ 'company_id'=>$params['id'], 'contract_type'=>$contract['contract_type'], 'contract_no'=>time(), 'file'=>$contract['file'], 'update_time'=>time(), 'party_a'=>$contract['party_a'], 'party_b'=>$params['id'], ]; Db::name('contract')->insert($datas); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage(), $e->getFile()); return false; } } /** * @notes 删除 * @param array $params * @return bool * @author likeadmin * @date 2023/07/15 14:43 */ public static function delete(array $params): bool { return Company::destroy($params['id']); } /** * @notes 获取详情 * @param $params * @return array * @author likeadmin * @date 2023/07/15 14:43 */ public static function detail($params): array { $data=Company::findOrEmpty($params['id'])->toArray(); if($data){ $data['other_contacts']=json_decode($data['other_contacts'],true); $data['qualification']=json_decode($data['qualification'],true); $data['contract']=Db::name('contract')->where('id',$data['contract_id']) ->withAttr('party_a_name',function($value,$data){ return Db::name('company')->where('id',$data['party_a'])->value('company_name'); }) ->withAttr('contract_type_two_url',function($value,$data){ return Db::name('dict_data')->where('id',$data['contract_type_two'])->value('value'); }) ->find(); } return $data; } }