Browse Source

需求邮件模板渲染

moell 9 months ago
parent
commit
616dab7add

+ 3 - 3
app/Mail/RequirementAction.php

@@ -18,9 +18,9 @@ class RequirementAction extends Mailable
     /**
      * Create a new message instance.
      */
-    public function __construct(protected  Requirement $requirement, protected ObjectAction $objectAction)
+    public function __construct(public  Requirement $requirement, public ObjectAction $objectAction, public array $actions = [])
     {
-        //
+
     }
 
     /**
@@ -29,7 +29,7 @@ class RequirementAction extends Mailable
     public function envelope(): Envelope
     {
         return new Envelope(
-            subject: 'Requirement Action',
+            subject: $this->requirement->title,
         );
     }
 

+ 1 - 1
app/Services/Notification/ActionEmail/ActionEmailService.php

@@ -50,7 +50,7 @@ class ActionEmailService
 
     protected function requirement(Requirement $requirement)
     {
-        $this->dispatch($requirement->mailto, new RequirementAction($requirement, $this->objectAction));
+        $this->dispatch($requirement->mailto, new RequirementAction($requirement, $this->objectAction, $this->actions));
     }
 
     protected function task(Task $task)

+ 11 - 5
resources/views/emails/actions/requirement.blade.php

@@ -1,11 +1,17 @@
 <x-mail::message>
-# Introduction
+# {{ sprintf("Requirement # %s %s", $requirement->id, $requirement->title) }}
 
-The body of your message.
+<x-mail::panel>{{ sprintf("%s %s by %s", data_get($actions, '0.created_at'), data_get($actions, '0.action_label'), data_get($actions, '0.created_by.name')) }}</x-mail::panel>
 
-<x-mail::button :url="''">
-Button Text
-</x-mail::button>
+## Requirement Status
+{{ __(sprintf("model-enums.requirement.status.%s", $requirement->status)) }}
+
+
+## Note
+
+{{ $requirement->note }}
+
+<x-email.history :actions="$actions"></x-email.history>
 
 Thanks,<br>
 {{ config('app.name') }}

+ 0 - 8
routes/web.php

@@ -16,11 +16,3 @@ use Illuminate\Support\Facades\Route;
 Route::get('/', function () {
     return view('welcome');
 });
-
-Route::middleware(['auth:sanctum'])->group(function () {
-    Route::get('/email', function() {
-        $task = \App\Models\Task::query()->first();
-
-        return (new \App\Mail\TaskAction($task, \App\Models\Enums\ObjectAction::DONE))->render();
-    });
-});