'kqList', self::type_two => '', self::type_three => '', self::type_four => '', self::type_five => '', ]; protected static $fuc_name = [ self::type_one => '考勤', self::type_two => '', self::type_three => '', self::type_four => '', self::type_five => '', ]; public static $filename = ""; public function exportAll($data,$user){ if(empty($data['id'])) return [false,'请选择导出数据']; if(empty($data['type']) || ! isset(self::$fuc[$data['type']])) return [false,'导出文件类型错误或者不存在']; self::$filename = self::$fuc_name[$data['type']] ?? ""; //不超时 ini_set('max_execution_time', 0); //内存设置 ini_set('memory_limit', -1); $function = self::$fuc[$data['type']]; $return = $this->$function($data); return [true, $return]; } public function kqList($ergs){ $id = $ergs['id']; // 导出数据 $return = []; DB::table('kq_list') ->whereIn('id', $id) ->select('id','order_number','model_type','sales_order_type','sign_time','plat_order','plat_type','product_total','other_fee','discount_fee','contract_fee','crt_time','crt_id','state','invoice_state','pay_way') ->orderBy('id','desc') ->chunk(500,function ($data) use(&$return){ $data = Collect($data)->map(function ($object) { return (array)$object; })->toArray(); $list['data'] = $data; }); $header = ['合同单号']; return $this->saveExportData($return,$header); } public function saveExportData($data, $headers, $type = 'default',$file_name = ''){ if(empty($file_name)) $file_name = self::$filename . "_". date("Y-m-d") . "_". rand(1000,9999); $filename = $file_name . '.' . 'xlsx'; $bool = Excel::store(new ExportOrder($data,$type,$headers),"/public/export/{$filename}", null, 'Xlsx', []); return $filename; } }