- 创建 TerminalResource 及其所有页面(列表、创建、编辑、查看) - 实现终端基本信息管理(名称、编码、IP、线站、组态图) - 添加显示配置管理(KeyValue 组件) - 实现在线状态显示和筛选 - 添加按线站分组功能 - 创建 TerminalPolicy 权限策略 - 支持搜索、排序、批量删除等功能
44 lines
1.1 KiB
PHP
44 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Resources\TerminalResource\Pages;
|
|
|
|
use App\Filament\Resources\TerminalResource;
|
|
use Filament\Resources\Pages\CreateRecord;
|
|
|
|
class CreateTerminal extends CreateRecord
|
|
{
|
|
protected static string $resource = TerminalResource::class;
|
|
|
|
protected function getRedirectUrl(): string
|
|
{
|
|
return $this->getResource()::getUrl('index');
|
|
}
|
|
|
|
protected function getCreatedNotificationTitle(): ?string
|
|
{
|
|
return '终端创建成功';
|
|
}
|
|
|
|
protected function mutateFormDataBeforeCreate(array $data): array
|
|
{
|
|
// 提取提示词数据,稍后单独处理
|
|
$this->promptData = $data['prompt'] ?? null;
|
|
unset($data['prompt']);
|
|
|
|
return $data;
|
|
}
|
|
|
|
protected function afterCreate(): void
|
|
{
|
|
// 创建终端后,创建或更新提示词
|
|
if (!empty($this->promptData['prompt_template'])) {
|
|
$this->record->prompt()->create([
|
|
'prompt_template' => $this->promptData['prompt_template'],
|
|
'variables' => $this->promptData['variables'] ?? [],
|
|
]);
|
|
}
|
|
}
|
|
|
|
private ?array $promptData = null;
|
|
}
|