| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | 
							- <?php
 
- namespace App\Service\Excel;
 
- use App\Exports\MyExport;
 
- use App\Model\Header_ext;
 
- use App\Model\SysMenu;
 
- use Illuminate\Support\Facades\DB;
 
- use App\Service\Service;
 
- /**
 
-  * 相关
 
-  * @package App\Models
 
-  */
 
- class ExcelService extends Service
 
- {
 
-     public function excelExport($request){
 
-         $data = $request->all();
 
-         $menu_id = $data['menu_id'];
 
-         $list = $this->excelGetData($menu_id,$request);
 
-         $list_key = Header_ext::where('menu_id',$menu_id)->select('key','value','type')->orderBy('sort','asc')->get()->toArray();
 
-         $excel_top_list = [];
 
-         $excel_list = [];
 
-         foreach ($list_key as $v){
 
-             $excel_top_list[] = $v['value'];
 
-         }
 
-         $excel_list[] = $excel_top_list;
 
-         foreach ($list as $v){
 
-             $detail = [];
 
-             foreach ($list_key as $vv){
 
-                 if($vv['type'] === '2') $value = date('Y-m-d H:i:s',$v[$vv['key']]);
 
-                 else $value = $v[$vv['key']];
 
-                 $detail[] = $value;
 
-             }
 
-             $excel_list[] = $detail;
 
-         }
 
-         $myExport = new MyExport();
 
-         $data = $myExport->commonExport(['data'=>$excel_list]);
 
-         return [true,$data];
 
-     }
 
-     public function excelGetData($menu_id,$request){
 
-         $api = SysMenu::where('id',$menu_id)->value('api');
 
-         $path = $this->getMenu();
 
-         $control = '\\'.$path[$api]["controller"];
 
-         $act = $path[$api]["act"];
 
-         $new = new $control();
 
-         $detail = $new->$act($request);
 
- //        if(!isset($detail['data']['data'][0])) $detail['data']['data'][0] = $detail['data'];
 
-         return $detail['data']['data'];
 
-     }
 
-     public function getMenu(){
 
-         $app = App();
 
-         $routes = $app->routes->getRoutes();
 
-         $path = [];
 
-         foreach ($routes as $k => $value) {
 
-             if(!isset($value->action['controller'])) continue;
 
-             $act = explode('@',$value->action['controller']);
 
-             if(!isset($act[1])) continue;
 
-             $path[$value->uri]['act'] = $act[1];
 
-             $path[$value->uri]['controller'] = $act[0];
 
-         }
 
-         return $path;
 
-     }
 
- }
 
 
  |