| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | <?php/** * Created by PhpStorm. * User: Administrator * Date: 2019/4/13 * Time: 10:29 */namespace App\Admin\Exports\Jobfair;use App\Admin\Exports\RowExport;use PhpOffice\PhpSpreadsheet\Style\NumberFormat;class CompanyExport extends RowExport{    /**     * 设置标题,返回标题数组     * @return array     */    public function headings(): array    {        return [            '招聘会名称',            '举办时间',            '举办地点',            '参会企业',            '预定展位',            '审核状态',            '签到状态',            '参会职位数',            '报名时间',            ];    }    /**     * 处理行数据     * @param Model $row     * @return array     */    public function map($row): array    {        if(!isset($row->jobfair)) {            $result['title'] = '此招聘会已被删除';            $result['predetermined'] = '';            $result['address'] = '';        }else {            $result['title'] = $row->jobfair->title;            $result['predetermined'] = date('Y-m-d H:i:s',$row->jobfair->predetermined_start).'~'. date('Y-m-d H:i:s',$row->jobfair->predetermined_end);            $result['address'] = $row->jobfair->address;        }        $result['companyname'] = $row->companys->companyname;        $result['position'] = $row->position;        switch ($row->audit) {            case 1:                $result['audit'] = '预订成功';                break;            case 2:                $result['audit'] = '等待确认';                break;            case 3:                $result['audit'] = '审核未通过';                break;        }        switch ($row->type) {            case 0:                $result['type'] = '未签到';                break;            case 1:                $result['type'] = '迟到';                break;            case 2:                $result['type'] = '早退';                break;            case 3:                $result['type'] = '迟到/早退';                break;            case 4:                $result['type'] = '已签到';                break;        }        $result['number'] = count($row->jobfairPutJob);        $result['created_at'] = $row->created_at;        return $result;    }    /**     * 设置文件名     * @return string     */    public function getFilename(): string    {        return "jobfair_company.xlsx";    }    /**     * 格式化指定列.     * 只有在需要的时候设置,例如在身份证不要显示科学计数时设定列格式:['A'=>NumberFormat::FORMAT_NUMBER]     * @return array     */    public function columnFormats(): array    {        return [        ];    }}
 |