|
@@ -22,25 +22,7 @@ class KnowledgeGraphManagement extends Page
|
|
|
protected static ?string $title = '知识图谱管理';
|
|
protected static ?string $title = '知识图谱管理';
|
|
|
protected string $view = 'filament.pages.knowledge-graph-management';
|
|
protected string $view = 'filament.pages.knowledge-graph-management';
|
|
|
|
|
|
|
|
- public array $knowledgePoints = [];
|
|
|
|
|
-
|
|
|
|
|
- public function mount(KnowledgeGraphService $service): void
|
|
|
|
|
- {
|
|
|
|
|
- $result = $service->listKnowledgePoints(1, 1000);
|
|
|
|
|
- $this->knowledgePoints = $result['data'] ?? [];
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- public function edit(string $code): void
|
|
|
|
|
- {
|
|
|
|
|
- $this->mountAction('edit', ['code' => $code]);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- public function delete(string $code): void
|
|
|
|
|
- {
|
|
|
|
|
- $this->mountAction('delete', ['code' => $code]);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- protected function getHeaderActions(): array
|
|
|
|
|
|
|
+ protected function getActions(): array
|
|
|
{
|
|
{
|
|
|
return [
|
|
return [
|
|
|
Action::make('create')
|
|
Action::make('create')
|
|
@@ -169,63 +151,73 @@ class KnowledgeGraphManagement extends Page
|
|
|
->persistent()
|
|
->persistent()
|
|
|
->send();
|
|
->send();
|
|
|
}
|
|
}
|
|
|
|
|
+ }),
|
|
|
|
|
+ Action::make('edit')
|
|
|
|
|
+ ->label('编辑')
|
|
|
|
|
+ ->icon('heroicon-o-pencil-square')
|
|
|
|
|
+ ->color('warning')
|
|
|
|
|
+ ->modalHeading('编辑知识点')
|
|
|
|
|
+ ->modalDescription('修改知识点的基本信息和属性')
|
|
|
|
|
+ ->form([
|
|
|
|
|
+ TextInput::make('cn_name')->label('中文名称')->required(),
|
|
|
|
|
+ TextInput::make('en_name')->label('英文名称'),
|
|
|
|
|
+ Select::make('phase')->label('学段')->options([
|
|
|
|
|
+ '小学' => '小学', '初中' => '初中', '高中' => '高中'
|
|
|
|
|
+ ])->required(),
|
|
|
|
|
+ Select::make('grade')->label('年级')->options([
|
|
|
|
|
+ 7 => '七年级', 8 => '八年级', 9 => '九年级'
|
|
|
|
|
+ ]),
|
|
|
|
|
+ TextInput::make('category')->label('分类'),
|
|
|
|
|
+ TextInput::make('importance')->label('重要性')->numeric(),
|
|
|
|
|
+ Textarea::make('description')->label('描述'),
|
|
|
|
|
+ ])
|
|
|
|
|
+ ->fillForm(function (array $arguments, KnowledgeGraphService $service) {
|
|
|
|
|
+ $code = $arguments['code'];
|
|
|
|
|
+ $data = $service->getKnowledgePoint($code);
|
|
|
|
|
+ return $data ?? [];
|
|
|
})
|
|
})
|
|
|
|
|
+ ->action(function (array $data, array $arguments, KnowledgeGraphService $service) {
|
|
|
|
|
+ if ($service->updateKnowledgePoint($arguments['code'], $data)) {
|
|
|
|
|
+ Notification::make()->title('更新成功')->success()->send();
|
|
|
|
|
+ $this->mount($service);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ Notification::make()->title('更新失败')->danger()->send();
|
|
|
|
|
+ }
|
|
|
|
|
+ }),
|
|
|
|
|
+ Action::make('delete')
|
|
|
|
|
+ ->label('删除')
|
|
|
|
|
+ ->icon('heroicon-o-trash')
|
|
|
|
|
+ ->color('error')
|
|
|
|
|
+ ->requiresConfirmation()
|
|
|
|
|
+ ->modalHeading('删除知识点')
|
|
|
|
|
+ ->modalDescription('此操作将永久删除该知识点及其所有关联数据,此操作不可恢复!')
|
|
|
|
|
+ ->modalSubmitActionLabel('确认删除')
|
|
|
|
|
+ ->action(function (array $arguments, KnowledgeGraphService $service) {
|
|
|
|
|
+ if ($service->deleteKnowledgePoint($arguments['code'])) {
|
|
|
|
|
+ Notification::make()->title('删除成功')->success()->send();
|
|
|
|
|
+ $this->mount($service);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ Notification::make()->title('删除失败')->danger()->send();
|
|
|
|
|
+ }
|
|
|
|
|
+ }),
|
|
|
];
|
|
];
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public function editAction(): Action
|
|
|
|
|
|
|
+ public array $knowledgePoints = [];
|
|
|
|
|
+
|
|
|
|
|
+ public function mount(KnowledgeGraphService $service): void
|
|
|
|
|
+ {
|
|
|
|
|
+ $result = $service->listKnowledgePoints(1, 1000);
|
|
|
|
|
+ $this->knowledgePoints = $result['data'] ?? [];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public function edit(string $code): void
|
|
|
{
|
|
{
|
|
|
- return Action::make('edit')
|
|
|
|
|
- ->label('编辑')
|
|
|
|
|
- ->icon('heroicon-o-pencil-square')
|
|
|
|
|
- ->color('warning')
|
|
|
|
|
- ->modalHeading('编辑知识点')
|
|
|
|
|
- ->modalDescription('修改知识点的基本信息和属性')
|
|
|
|
|
- ->form([
|
|
|
|
|
- TextInput::make('cn_name')->label('中文名称')->required(),
|
|
|
|
|
- TextInput::make('en_name')->label('英文名称'),
|
|
|
|
|
- Select::make('phase')->label('学段')->options([
|
|
|
|
|
- '小学' => '小学', '初中' => '初中', '高中' => '高中'
|
|
|
|
|
- ])->required(),
|
|
|
|
|
- Select::make('grade')->label('年级')->options([
|
|
|
|
|
- 7 => '七年级', 8 => '八年级', 9 => '九年级'
|
|
|
|
|
- ]),
|
|
|
|
|
- TextInput::make('category')->label('分类'),
|
|
|
|
|
- TextInput::make('importance')->label('重要性')->numeric(),
|
|
|
|
|
- Textarea::make('description')->label('描述'),
|
|
|
|
|
- ])
|
|
|
|
|
- ->fillForm(function (array $arguments, KnowledgeGraphService $service) {
|
|
|
|
|
- $code = $arguments['code'];
|
|
|
|
|
- $data = $service->getKnowledgePoint($code);
|
|
|
|
|
- return $data ?? [];
|
|
|
|
|
- })
|
|
|
|
|
- ->action(function (array $data, array $arguments, KnowledgeGraphService $service) {
|
|
|
|
|
- if ($service->updateKnowledgePoint($arguments['code'], $data)) {
|
|
|
|
|
- Notification::make()->title('更新成功')->success()->send();
|
|
|
|
|
- $this->mount($service);
|
|
|
|
|
- } else {
|
|
|
|
|
- Notification::make()->title('更新失败')->danger()->send();
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ $this->mountAction('edit', ['code' => $code]);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public function deleteAction(): Action
|
|
|
|
|
|
|
+ public function delete(string $code): void
|
|
|
{
|
|
{
|
|
|
- return Action::make('delete')
|
|
|
|
|
- ->label('删除')
|
|
|
|
|
- ->icon('heroicon-o-trash')
|
|
|
|
|
- ->color('error')
|
|
|
|
|
- ->requiresConfirmation()
|
|
|
|
|
- ->modalHeading('删除知识点')
|
|
|
|
|
- ->modalDescription('此操作将永久删除该知识点及其所有关联数据,此操作不可恢复!')
|
|
|
|
|
- ->modalConfirmButtonLabel('确认删除')
|
|
|
|
|
- ->action(function (array $arguments, KnowledgeGraphService $service) {
|
|
|
|
|
- if ($service->deleteKnowledgePoint($arguments['code'])) {
|
|
|
|
|
- Notification::make()->title('删除成功')->success()->send();
|
|
|
|
|
- $this->mount($service);
|
|
|
|
|
- } else {
|
|
|
|
|
- Notification::make()->title('删除失败')->danger()->send();
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ $this->mountAction('delete', ['code' => $code]);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|