gorden 3 hónapja
szülő
commit
eb141a6bc6

+ 16 - 5
app/admin/controller/member/WellnessRecordController.php

@@ -4,6 +4,7 @@ namespace app\admin\controller\member;
 
 use app\admin\validate\life\CinemaIlkValidate;
 use app\admin\validate\member\WellnessRecordValidate;
+use app\common\Pdf;
 use app\controller\Curd;
 use app\model\CinemaIlk as CinemaIlkModel;
 use app\model\SysField;
@@ -70,7 +71,7 @@ class WellnessRecordController extends Curd
         } catch (BusinessException $customException) {
             return json_fail($customException->getMessage());
         } catch (\Exception $e) {
-            dump($e->getMessage(),$e->getFile(),$e->getLine());
+            dump($e->getMessage(), $e->getFile(), $e->getLine());
             return json_fail('数据写入失败');
         }
         return json_success('success');
@@ -493,9 +494,9 @@ class WellnessRecordController extends Curd
     protected function insertInput(Request $request): array
     {
         $data = $this->inputFilter($request->post());
-        if (empty($data['wellness_record_datetime'])){
+        if (empty($data['wellness_record_datetime'])) {
             $data['wellness_record_datetime'] = date('Y-m-d H:i:s');
-        }else{
+        } else {
             $data['wellness_record_datetime'] = date('Y-m-d H:i:s', strtotime($data['wellness_record_datetime']));
         }
 
@@ -539,9 +540,9 @@ class WellnessRecordController extends Curd
             throw new BusinessException('记录不存在', 2);
         }
         $data = $this->inputFilter($request->post());
-        if (empty($data['wellness_record_datetime'])){
+        if (empty($data['wellness_record_datetime'])) {
             $data['wellness_record_datetime'] = date('Y-m-d H:i:s');
-        }else{
+        } else {
             $data['wellness_record_datetime'] = date('Y-m-d H:i:s', strtotime($data['wellness_record_datetime']));
         }
         if (!empty($data['wellness_record_file_json'])) {
@@ -564,4 +565,14 @@ class WellnessRecordController extends Curd
         unset($data[$primary_key]);
         return [$id, $data];
     }
+
+    public function exportArchivePdf(Request $request)
+    {
+        $data = [
+            'title'=>'导出PDF'
+        ];
+
+        $pdf = Pdf::export('member/archive-pdf',$data);
+        return $pdf->download('example.pdf');
+    }
 }

+ 19 - 0
app/common/Pdf.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace app\common;
+
+use Barryvdh\DomPDF\PDF as PdfPackage;
+
+class Pdf
+{
+    public static function export($template, $data)
+    {
+        $pdf = new PdfPackage();
+        $pdf->loadHtml(view($template, $data)); // 假设有一个pdf/template视图文件
+
+        return $pdf;
+//        return $pdf->stream(); // 直接显示PDF
+        // 或者
+//         return $pdf->download('example.pdf'); // 下载PDF
+    }
+}

+ 10 - 0
app/view/member/archive-pdf.html

@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title><?= $title?></title>
+</head>
+<body>
+
+</body>
+</html>

+ 2 - 1
composer.json

@@ -46,7 +46,8 @@
     "yansongda/pay": "v2.10",
     "webman/event": "^1.0",
     "endroid/qr-code": "^4.6",
-    "phpoffice/phpspreadsheet": "^1.12"
+    "phpoffice/phpspreadsheet": "^1.12",
+    "barryvdh/laravel-dompdf": "^2.2"
   },
   "suggest": {
     "ext-event": "For better performance. "

+ 1 - 0
route/admin.php

@@ -893,6 +893,7 @@ Route::group('/admin', function () {
             Route::post('/advice/add', [\app\admin\controller\member\WellnessRecordController::class, 'insertAdvice']);
             Route::post('/advice/update', [\app\admin\controller\member\WellnessRecordController::class, 'updateAdvice']);
             Route::get('/archives', [\app\admin\controller\member\WellnessRecordController::class, 'archives']);
+            Route::get('/exportArchive', [\app\admin\controller\member\WellnessRecordController::class, 'exportArchivePdf']);
             Route::get('/checkup', [\app\admin\controller\member\WellnessRecordController::class, 'checkup']);
             Route::get('/visit/{id:[0-9a-zA-Z]+}', [\app\admin\controller\member\WellnessRecordController::class, 'visit']);
             Route::get('/list', [\app\admin\controller\member\WellnessRecordController::class, 'select']);