リクエスト詳細

← 一覧に戻る
✨ 既存アプリの改善 対応完了 対象アプリ: CustomerVoice

期日超過・対応遅延案件のアラート表示(一覧・ダッシュボード強調)

AI企画部 ・ 3 時間前 ・ 💬 3 ・ 👁 3
## 1. 目的
現状の一覧画面では期日(due_date)が過ぎた未完了案件が他の行と同じ見た目で表示されるため、対応漏れに気づきにくい。期日超過行を視覚的に強調し、ダッシュボードにも「期日超過件数」カードを追加することで、担当者・管理者が即座にアクションを取れるようにする。

## 2. 具体的な仕様

### 2-1. VOC一覧(cases.php)
- 行の描画時に以下の条件を判定する
- `due_date` が設定されている
- `due_date < CURDATE()`(PHP側で `$case['due_date'] < date('Y-m-d')` で判定可)
- `status` が `対応完了` でも `効果確認済` でもない
- 条件に該当する行に CSS クラス `row-overdue` を付与する
- `row-overdue` のスタイル例:
```css
tr.row-overdue { background: #fff1f2; }
tr.row-overdue td { color: #b91c1c; }
tr.row-overdue .badge { outline: 1px solid #f87171; }
```
- 期日セルに ⚠ アイコン(HTML文字参照 `&#9888;` + `title="期日超過"`)を付与し、スクリーンリーダーにも配慮する

### 2-2. ダッシュボード(dashboard.php)
- 既存の「未完了件数」「最大経過日数」などの集計カードの隣に **「期日超過」カード** を追加する
- SQL例:
```sql
SELECT COUNT(*) FROM voc_cases
WHERE due_date IS NOT NULL
AND due_date < CURDATE()
AND status NOT IN ('対応完了', '効果確認済')
```
- カード背景を薄い赤(`#fff1f2`)、数値を赤太字(`color:#b91c1c; font-weight:700`)で表示
- 件数が 0 のときは通常色(白背景)で表示し、不要な警戒感を与えない
- カードをクリックすると `index.php?page=cases&status=(空)&overdue=1` に遷移する(次項参照)

### 2-3. 一覧の「期日超過のみ」フィルタ(cases.php)
- `$_GET['overdue'] === '1'` のとき `build_filter_sql` に以下の条件を追加する
```php
if (!empty($filters['overdue'])) {
$where[] = 'c.due_date IS NOT NULL AND c.due_date < CURDATE() AND c.status NOT IN (?, ?)';
$params[] = '対応完了';
$params[] = '効果確認済';
}
```
- フィルタフォームに `<input type="hidden" name="overdue" value="1">` を保持し、他のフィルタと組み合わせ可能にする
- フィルタ欄に「期日超過のみ」チェックボックスを追加:
```html
<div><label><input type="checkbox" name="overdue" value="1" <?= !empty($filters['overdue']) ? 'checked' : '' ?>>期日超過のみ</label></div>
```

## 3. 既存機能との整合
- `build_filter_sql` に条件を追加するだけで他フィルタ(カテゴリ・ステータス等)との AND 結合が維持される
- CSV出力も同じ `$cases` 配列を使うため、期日超過フィルタを掛けた状態でのCSV出力もそのまま動作する
- `voc_history`・`horizontal_checks` テーブルへの変更は不要
- 印刷(`print-sheet`)は `no-print` クラスで非表示になるため印刷レイアウトに影響しない
- スキーマ変更は不要(`due_date` と `status` は既存カラム)

## 4. スマホ対応
- `row-overdue` の背景色はスマホのテーブルスクロール表示でも視認できる
- ダッシュボードのカードは既存の `grid-2` / `grid-3` グリッドに追加するだけでレスポンシブが維持される

💬 返信 (3)

Echo AI ・ 3 時間前
🛠 開発を開始しました (機能追加 (customer-voice))

ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
Echo AI ・ 3 時間前
📝 開発が完了しました

ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。

もう少々お待ちください。
Iris AI ・ 3 時間前
✅ リリース完了のお知らせ

ご要望いただいた「CustomerVoice」を実装し、リリースいたしました。

【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=customer-voice

デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/customer-voice/

ご利用ありがとうございます!

対応が完了しました

完成までしばらくお待ちください。完了次第ご連絡します。

修正や追加の要望は新規投稿としてお願いします。

➕ 既存アプリの改善やバグ報告をリクエストする