Нема описа
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

dashboard.html 4.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <app-header></app-header>
  2. <div class="dashboard-page">
  3. <app-side-menu></app-side-menu>
  4. <main class="dashboard-main">
  5. <section class="dashboard-panel">
  6. <div class="page-head">
  7. <div>
  8. <h1>ホーム</h1>
  9. </div>
  10. <div class="date-pill">{{ todayLabel }}</div>
  11. </div>
  12. <section class="overview" aria-label="概要">
  13. <a class="card" href="#">
  14. <div class="card-label">今週の法要</div>
  15. <div class="metric"><strong>{{ weeklyMemorialCount }}</strong><span>件</span></div>
  16. <p class="card-text">
  17. 本日 {{ todayMemorialCount }}件、明日以降 {{ upcomingWeeklyMemorialCount }}件。
  18. </p>
  19. </a>
  20. <a class="card" href="#">
  21. <div class="card-label">今月の年忌法要</div>
  22. <div class="metric"><strong>{{ monthlyMemorialCount }}</strong><span>名</span></div>
  23. </a>
  24. <div class="search-card">
  25. <div class="search-head">
  26. <div class="search-label">まとめて検索</div>
  27. <div class="search-title">檀家・家族・故人を探す</div>
  28. </div>
  29. <input
  30. class="search-input"
  31. type="search"
  32. [(ngModel)]="searchKeyword"
  33. placeholder="氏名、ふりがな、住所、戒名で検索"
  34. aria-label="まとめて検索"
  35. (keydown.enter)="searchAll()"
  36. />
  37. <button class="search-button" type="button" (click)="searchAll()">検索</button>
  38. </div>
  39. </section>
  40. <section class="section">
  41. <div class="section-head">
  42. <div>
  43. <h2>最近開いた檀家・世帯</h2>
  44. </div>
  45. </div>
  46. <div class="recent-table" role="table" aria-label="最近開いた檀家">
  47. <div class="recent-row recent-row-head" role="row">
  48. <div class="cell" role="columnheader">施主名・ふりがな</div>
  49. <div class="cell" role="columnheader">住所</div>
  50. <div class="cell" role="columnheader">次の法要</div>
  51. <div class="cell" role="columnheader">最終更新</div>
  52. </div>
  53. @if (recentDankaList.length > 0) {
  54. @for (recent of recentDankaList; track recent.danka.id) {
  55. <a class="recent-row" [routerLink]="['/danka-detail', recent.danka.id]" role="row">
  56. <div class="cell" role="cell">
  57. <p class="recent-name">{{ recent.danka.householder }}</p>
  58. <p class="recent-sub">{{ recent.danka.householderFurigana || 'ふりがな未登録' }}</p>
  59. </div>
  60. <div class="cell" role="cell">{{ recent.danka.address }}</div>
  61. <div class="cell" role="cell">{{ recent.nextMemorialLabel }}</div>
  62. <div class="cell" role="cell">{{ recent.updatedAtLabel }}</div>
  63. </a>
  64. }
  65. } @else {
  66. <div class="recent-row" role="row">
  67. <div class="cell muted" role="cell">表示できる檀家・世帯はありません</div>
  68. <div class="cell muted" role="cell">-</div>
  69. <div class="cell muted" role="cell">-</div>
  70. <div class="cell muted" role="cell">-</div>
  71. </div>
  72. }
  73. </div>
  74. </section>
  75. <section class="section">
  76. <div class="section-head">
  77. <div>
  78. <h2>近日の法要・命日</h2>
  79. </div>
  80. </div>
  81. <div class="upcoming-list">
  82. @if (upcomingMemorials.length > 0) {
  83. @for (memorial of upcomingMemorials; track memorial.id) {
  84. <a
  85. class="upcoming-item"
  86. [class.important]="memorial.dateLabel === '今日'"
  87. [routerLink]="['/danka-detail', memorial.dankaId]"
  88. [queryParams]="{tab: 'kakocho'}"
  89. >
  90. <div class="upcoming-date">{{ memorial.dateLabel }}</div>
  91. <div class="upcoming-main">
  92. <div class="upcoming-title">{{ memorial.title }}</div>
  93. <div class="upcoming-sub">{{ memorial.subText }}</div>
  94. </div>
  95. <div class="upcoming-type">{{ memorial.type }}</div>
  96. <div class="upcoming-status">{{ memorial.status }}</div>
  97. </a>
  98. }
  99. } @else {
  100. <div class="upcoming-item">
  101. <div class="upcoming-date">なし</div>
  102. <div class="upcoming-main">
  103. <div class="upcoming-title">近日の法要・命日はありません</div>
  104. <div class="upcoming-sub">過去帳に登録された命日から自動表示します。</div>
  105. </div>
  106. <div class="upcoming-type">-</div>
  107. <div class="upcoming-status">-</div>
  108. </div>
  109. }
  110. </div>
  111. </section>
  112. </section>
  113. </main>
  114. </div>