kp-detail.blade.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. @php
  2. $skills = collect($point['skills'] ?? []);
  3. @endphp
  4. <div class="space-y-6">
  5. <x-filament::section>
  6. <dl class="grid gap-4 sm:grid-cols-2">
  7. <div>
  8. <dt class="text-sm text-gray-500">编号</dt>
  9. <dd class="text-base font-medium text-gray-900 dark:text-gray-100">{{ $point['kp_code'] ?? '-' }}</dd>
  10. </div>
  11. <div>
  12. <dt class="text-sm text-gray-500">名称</dt>
  13. <dd class="text-base font-medium text-gray-900 dark:text-gray-100">{{ $point['cn_name'] ?? '-' }}</dd>
  14. </div>
  15. <div>
  16. <dt class="text-sm text-gray-500">学段 / 年级</dt>
  17. <dd class="text-base font-medium text-gray-900 dark:text-gray-100">
  18. {{ $point['phase'] ?? '未知' }} @if($point['grade']) · {{ $point['grade'] }}年级 @endif
  19. </dd>
  20. </div>
  21. <div>
  22. <dt class="text-sm text-gray-500">类别</dt>
  23. <dd class="text-base font-medium text-gray-900 dark:text-gray-100">{{ $point['category'] ?? '-' }}</dd>
  24. </div>
  25. <div class="sm:col-span-2">
  26. <dt class="text-sm text-gray-500">知识路径</dt>
  27. <dd class="text-base font-medium text-gray-900 dark:text-gray-100">{{ $point['group_path'] ?? '-' }}</dd>
  28. </div>
  29. <div class="sm:col-span-2">
  30. <dt class="text-sm text-gray-500">描述</dt>
  31. <dd class="text-base text-gray-900 dark:text-gray-100 whitespace-pre-line">
  32. {{ $point['description'] ?? '暂无描述' }}
  33. </dd>
  34. </div>
  35. <div class="sm:col-span-2">
  36. <dt class="text-sm text-gray-500">父节点</dt>
  37. <dd class="text-base text-gray-900 dark:text-gray-100">
  38. @forelse(($point['parents'] ?? []) as $parent)
  39. <span class="inline-flex items-center rounded-full bg-primary-50 px-2.5 py-0.5 text-xs font-medium text-primary-700 dark:bg-primary-500/10 dark:text-primary-300">
  40. {{ $parent }}
  41. </span>
  42. @empty
  43. <span class="text-gray-500">无</span>
  44. @endforelse
  45. </dd>
  46. </div>
  47. </dl>
  48. </x-filament::section>
  49. <x-filament::section heading="技能拆解({{ $skills->count() }})">
  50. <div class="space-y-3">
  51. @forelse($skills as $skill)
  52. <div class="rounded-lg border border-gray-200/70 px-4 py-3 dark:border-gray-700/60">
  53. <div class="flex flex-wrap items-center justify-between gap-2">
  54. <div class="text-sm font-semibold text-gray-900 dark:text-gray-100">
  55. {{ $skill['skill_name'] ?? '未命名技能' }}
  56. </div>
  57. <div class="text-xs text-gray-500">
  58. {{ $skill['skill_type'] ?? '类型未知' }} · 难度 {{ $skill['difficulty'] ?? '-' }}
  59. </div>
  60. </div>
  61. <p class="mt-2 text-sm text-gray-600 dark:text-gray-300">
  62. {{ $skill['description'] ?? '暂无描述' }}
  63. </p>
  64. </div>
  65. @empty
  66. <p class="text-sm text-gray-500">该知识点尚未配置技能。</p>
  67. @endforelse
  68. </div>
  69. </x-filament::section>
  70. </div>