123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <?php
- namespace App\Exports;
- use Maatwebsite\Excel\Concerns\FromCollection;
- use Maatwebsite\Excel\Concerns\WithHeadings;
- class ThreadsExport implements FromCollection,WithHeadings
- {
- protected $data;
- public function __construct($data,$field)
- {
- $this->data = $data;
- $this->field = $field;
- }
- /**
- * @return \Illuminate\Support\Collection
- */
- public function collection()
- {
- $collection = [];
- foreach ($this->data as $item){
- $contact = $item->contact?$item->contact->phone:'暂无联系人信息';
- $qq = $item->contact?$item->contact->qq:'';
- $email = $item->contact?$item->contact->email:'';
- $companyName = $item->company->companyName;
- $ower_name = $item->ower->real_name;
- $companyWebsite = $item->company->website;
- $legalPerson = $item->company->legalPerson;
- $regCapital = $item->company->regCapital;
- $regAddr = $item->company->regAddr;
- $lastest = $item->latestProgress();
- $created_at = $item->created_at;
- $base_coll = [$companyName,$contact];
- if(substr_count($this->field,'qq')) array_push($base_coll,$qq);
- if(substr_count($this->field,'email')) array_push($base_coll,$email);
- if(substr_count($this->field,'ower_name')) array_push($base_coll,$ower_name);
- if(substr_count($this->field,'website')) array_push($base_coll,$companyWebsite);
- if(substr_count($this->field,'legalPerson')) array_push($base_coll,$legalPerson);
- if(substr_count($this->field,'regCapital')) array_push($base_coll, $regCapital);
- if(substr_count($this->field,'regAddr')) array_push($base_coll,$regAddr);
- if(substr_count($this->field,'lastest')) array_push($base_coll, $lastest);
- if(substr_count($this->field,'created_at')) array_push($base_coll,$created_at);
- $collection[] = $base_coll;
- }
- return collect($collection);
- }
- public function headings(): array
- {
- $head = ['企业名称','联系方式'];
- if(substr_count($this->field,'qq')) array_push($head,'QQ');
- if(substr_count($this->field,'email')) array_push($head,'Email');
- if(substr_count($this->field,'ower_name')) array_push($head,'线索拥有者');
- if(substr_count($this->field,'website')) array_push($head,'企业网站');
- if(substr_count($this->field,'legalPerson')) array_push($head,'法人');
- if(substr_count($this->field,'regCapital')) array_push($head,'注册资本(万)');
- if(substr_count($this->field,'regAddr')) array_push($head,'注册地址');
- if(substr_count($this->field,'lastest')) array_push($head,'最新跟进');
- if(substr_count($this->field,'created_at')) array_push($head,'领取时间');
- return $head;
- }
- }
|