upMerge branch 'master' of ssh://118.31.104.155:4422/mnt/git/v2.tiantianxinye.365care

master
weizong song 2 years ago
commit baeb2b67b7

@ -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('export', 0);
$userId = auth()->id();
$project_id = \request('project_id', 0);
$projects = (new ProjectController())->_checkProjects();
@ -308,8 +311,48 @@ 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', '总分');
$sheet->getColumnDimension('A')->setWidth(20);
$sheet->getColumnDimension('B')->setWidth(20);
$sheet->getColumnDimension('C')->setWidth(20);
$sheet->getColumnDimension('D')->setWidth(60);
$sheet->getColumnDimension('E')->setWidth(20);
$sheet->getColumnDimension('F')->setWidth(20);
$count = count($data); //计算有多少条数据
for ($i = 2; $i <= $count + 1; $i++) {
$content = '';
foreach ($data[$i - 2]['content'] as $item) {
$content .= $item['ask'] . ':' . $item['score'] . "\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]['tip']);
$sheet->setCellValue('F' . $i, $data[$i - 2]['score']);
}
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"));
}

@ -10,6 +10,8 @@
<a class="btn btn-primary" href="{{url($urlPrefix.'/asksubmit_create')}}">
@lang("icons.action_create") @lang('actions.create')新建满意度调查
</a>&nbsp;&nbsp;&nbsp;
<button class="btn btn-primary ml-1" type="button" onclick="doExport(this)">导出</button>
&nbsp;&nbsp;
<select class="form-control mr-1" name="project_id"
onchange="$(this).closest('form').submit()">
@foreach($projects as $pp)
@ -18,6 +20,7 @@
@endforeach
</select>
</form>
</div>
<table class="table table-bordered" id="data-table">
@ -73,6 +76,10 @@
@push("footer")
<script>
function doExport(ele) {
var url = window.location.href;
url += window.location.search ? ("&export=1") : ("?export=1");
window.open(url);
}
</script>
@endpush

Loading…
Cancel
Save