From e97112117bd8c193c99293348d329a480a60e439 Mon Sep 17 00:00:00 2001 From: liyinglin Date: Wed, 8 May 2024 13:15:39 +0800 Subject: [PATCH] 1 --- .../Controllers/Admin/ProjectController.php | 40 ++++++++++++++++++- .../admin/project/asksubmit_index.blade.php | 9 ++++- 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Admin/ProjectController.php b/app/Http/Controllers/Admin/ProjectController.php index 0e46e27..e01d09c 100755 --- a/app/Http/Controllers/Admin/ProjectController.php +++ b/app/Http/Controllers/Admin/ProjectController.php @@ -25,6 +25,8 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Kris\LaravelFormBuilder\FormBuilder; use Maatwebsite\Excel\Facades\Excel; +use PhpOffice\PhpSpreadsheet\Spreadsheet; +use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use Spatie\Permission\Models\Role; class ProjectController extends CommonController @@ -294,6 +296,7 @@ class ProjectController extends CommonController */ public function askSubmit() { + $is_export = \request('is_export', 0); $userId = auth()->id(); $project_id = \request('project_id', 0); $projects = (new ProjectController())->_checkProjects(); @@ -308,8 +311,41 @@ class ProjectController extends CommonController ->where(function ($qeury) use ($hushizhang, $userId, $project_id) { if ($hushizhang) $qeury->where('admin_id', $userId); if ($project_id) $qeury->where('project_id', $project_id); - })->paginate(10); - + }); + + // 导出 + if ($is_export) { + $data = $data->get()->toArray(); + $spreadsheet = new Spreadsheet(); + $sheet = $spreadsheet->getActiveSheet(); + $sheet->setCellValue('A1', '日期'); + $sheet->setCellValue('B1', '名字'); + $sheet->setCellValue('C1', '医院'); + $sheet->setCellValue('D1', '详情'); + $sheet->setCellValue('E1', '建议'); + $sheet->setCellValue('F1', '总分'); + + $count = count($data); //计算有多少条数据 + for ($i = 2; $i <= $count + 1; $i++) { + $content = ''; + foreach ($data[$i - 2]['content'] as $item) { + $content .= $item['content'] . "/n"; + } + $sheet->setCellValue('A' . $i, $data[$i - 2]['date']); + $sheet->setCellValue('B' . $i, $data[$i - 2]['admin']['name']); + $sheet->setCellValue('C' . $i, $data[$i - 2]['project']['name']); + $sheet->setCellValue('D' . $i, $content); + $sheet->setCellValue('E' . $i, $data[$i - 2]['score']); + $sheet->setCellValue('E' . $i, $data[$i - 2]['tip']); + } + header('Content-Type: application/vnd.ms-excel'); + header('Content-Disposition: attachment;filename="' . '满意度调查_' . date('YmdHis') . '.xlsx"'); + header('Cache-Control: max-age=0'); + $writer = new Xlsx($spreadsheet); + $writer->save('php://output'); + exit; + } + $data = $data->paginate(10); return view($this->bladePath . ".asksubmit_index", compact("data", "projects", "project_id")); } diff --git a/resources/views/admin/project/asksubmit_index.blade.php b/resources/views/admin/project/asksubmit_index.blade.php index 4c79349..b96e64a 100755 --- a/resources/views/admin/project/asksubmit_index.blade.php +++ b/resources/views/admin/project/asksubmit_index.blade.php @@ -19,6 +19,7 @@ + @@ -73,6 +74,12 @@ @push("footer") @endpush