label('编辑'), Actions\DeleteAction::make() ->label('删除'), ]; } public function infolist(Infolist $infolist): Infolist { return $infolist ->schema([ Infolists\Components\Section::make('基本信息') ->schema([ Infolists\Components\TextEntry::make('name') ->label('终端名称'), Infolists\Components\TextEntry::make('code') ->label('终端编码') ->copyable(), Infolists\Components\TextEntry::make('ip_address') ->label('IP地址') ->copyable() ->placeholder('未设置'), Infolists\Components\TextEntry::make('station_id') ->label('线站ID') ->placeholder('未绑定'), ]) ->columns(2), Infolists\Components\Section::make('组态配置') ->schema([ Infolists\Components\TextEntry::make('diagram_url') ->label('组态界面地址') ->copyable() ->placeholder('未设置') ->url(fn($state) => $state) ->openUrlInNewTab(), ]), Infolists\Components\Section::make('知识库关联') ->schema([ Infolists\Components\RepeatableEntry::make('knowledgeBases') ->label('关联的知识库') ->schema([ Infolists\Components\TextEntry::make('name') ->label('知识库名称'), Infolists\Components\TextEntry::make('pivot.priority') ->label('优先级') ->badge() ->color('success'), ]) ->columns(2) ->placeholder('未关联任何知识库'), ]) ->collapsible(), Infolists\Components\Section::make('AI提示词配置') ->schema([ Infolists\Components\TextEntry::make('prompt.prompt_template') ->label('提示词模板') ->markdown() ->placeholder('未配置提示词'), ]) ->collapsible(), Infolists\Components\Section::make('语音唤醒') ->schema([ Infolists\Components\IconEntry::make('voice_wakeup_enabled') ->label('语音唤醒') ->boolean() ->trueIcon('heroicon-o-check-circle') ->falseIcon('heroicon-o-x-circle') ->trueColor('success') ->falseColor('danger'), Infolists\Components\TextEntry::make('voice_wakeup_word') ->label('唤醒词') ->placeholder('未设置'), ]) ->columns(2), Infolists\Components\Section::make('状态信息') ->schema([ Infolists\Components\IconEntry::make('is_online') ->label('在线状态') ->boolean() ->trueIcon('heroicon-o-check-circle') ->falseIcon('heroicon-o-x-circle') ->trueColor('success') ->falseColor('danger'), Infolists\Components\TextEntry::make('last_online_at') ->label('最后在线时间') ->dateTime('Y-m-d H:i:s') ->placeholder('从未在线'), ]) ->columns(2), Infolists\Components\Section::make('时间信息') ->schema([ Infolists\Components\TextEntry::make('created_at') ->label('创建时间') ->dateTime('Y-m-d H:i:s'), Infolists\Components\TextEntry::make('updated_at') ->label('更新时间') ->dateTime('Y-m-d H:i:s'), ]) ->columns(2) ->collapsed(), ]); } }