リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: ProcureDesk - 購買・見積比較&サプライヤー選定支援システム
サプライヤーへの見積依頼メモ(依頼内容テンプレート)印刷機能の追加
## 1. 目的
購買担当者がサプライヤーへ見積を依頼する際、案件情報(品名・数量・単位・希望納期・用途)を整形したA4印刷用「見積依頼書」を案件詳細画面から即座に出力できるようにする。現状は見積が集まった後の「選定レポート」しか印刷機能がなく、依頼フェーズのアウトプットが欠けているため、実務での使い勝手を向上させる。
## 2. 具体的な仕様
### 2-1. 画面・導線
- `pages/case_view.php` の `.toolbar` 内に「見積依頼書を印刷」ボタンを追加する。
```html
<a class="btn secondary" href="index.php?page=inquiry_print&id=<?= (int)$case['id'] ?>">見積依頼書を印刷</a>
```
- ステータスが `decided` または `cancelled` でも表示する(再発注・参考用途のため)。
### 2-2. 新規ページ `pages/inquiry_print.php`
- `index.php` の `$allowed` 配列に `'inquiry_print'` を追加する。
- ページ自体は layout を呼ばず、独立したHTML(`<!DOCTYPE html>` から)を出力する。印刷スタイルのみを持ち、`window.print()` を `onload` で自動実行する。
- 出力内容(A4縦レイアウト):
1. **会社名・部署名**(`score_weights` テーブルの `company_name` / `department_name`)
2. **書類タイトル**:「見積依頼書」(大見出し)
3. **発行日**:サーバー側の `date('Y年m月d日')`
4. **案件情報テーブル**
| 項目 | 値 |
|------|----|
| 案件番号 | PC-202606-001 |
| 品名 | アルミ板 A5052 2mm |
| 数量 | 120.00 枚 |
| 希望納期 | 2026-06-28 |
| 用途・備考 | (purpose フィールド) |
5. **依頼事項**(固定文言):「下記品目につき、お見積をご提出くださいますようお願い申し上げます。回答期限・有効期限・単価・納期日数・備考を明記の上、ご返送ください。」
6. **見積記入欄テーブル**(サプライヤーが手書きで記入する空白行を3行程度)
| 単価 | 合計金額 | 納期(日数) | 有効期限 | 備考 |
|------|----------|------------|----------|------|
| | | | | |
7. **フッター**:担当者名欄(空欄)・TEL・Email(`score_weights` に担当者フィールドがないため空欄ラベルのみ)
### 2-3. 印刷CSS
```css
@media print {
@page { size: A4 portrait; margin: 20mm; }
body { font-family: 'Noto Sans JP', sans-serif; font-size: 11pt; color: #000; }
table { width: 100%; border-collapse: collapse; }
th, td { border: 1px solid #333; padding: 6px 8px; }
th { background: #f0f0f0; }
.no-print { display: none; }
}
```
- 画面表示時は「印刷プレビュー」として同じ内容を表示し、「印刷する」ボタン(`class="no-print"`)と「戻る」リンクを用意する。
### 2-4. データ取得
- `case_find($id)` と `get_weights()` のみ使用。外部APIや新規テーブルは不要。
- 案件が見つからない場合は `http_response_code(404); die(...)` で終了。
## 3. 既存機能との整合
- 既存の `pages/report.php`(選定レポート)は一切変更しない。
- `score_weights` テーブルへの追加カラムは行わない。
- `schema.sql` への変更は不要。
- `index.php` の `$allowed` 配列への追加のみが既存ファイルへの変更点となり、後方互換を完全に維持する。
- スマホからも印刷プレビューを確認できるよう、画面表示時はスクロール可能なレスポンシブ表示とする。
購買担当者がサプライヤーへ見積を依頼する際、案件情報(品名・数量・単位・希望納期・用途)を整形したA4印刷用「見積依頼書」を案件詳細画面から即座に出力できるようにする。現状は見積が集まった後の「選定レポート」しか印刷機能がなく、依頼フェーズのアウトプットが欠けているため、実務での使い勝手を向上させる。
## 2. 具体的な仕様
### 2-1. 画面・導線
- `pages/case_view.php` の `.toolbar` 内に「見積依頼書を印刷」ボタンを追加する。
```html
<a class="btn secondary" href="index.php?page=inquiry_print&id=<?= (int)$case['id'] ?>">見積依頼書を印刷</a>
```
- ステータスが `decided` または `cancelled` でも表示する(再発注・参考用途のため)。
### 2-2. 新規ページ `pages/inquiry_print.php`
- `index.php` の `$allowed` 配列に `'inquiry_print'` を追加する。
- ページ自体は layout を呼ばず、独立したHTML(`<!DOCTYPE html>` から)を出力する。印刷スタイルのみを持ち、`window.print()` を `onload` で自動実行する。
- 出力内容(A4縦レイアウト):
1. **会社名・部署名**(`score_weights` テーブルの `company_name` / `department_name`)
2. **書類タイトル**:「見積依頼書」(大見出し)
3. **発行日**:サーバー側の `date('Y年m月d日')`
4. **案件情報テーブル**
| 項目 | 値 |
|------|----|
| 案件番号 | PC-202606-001 |
| 品名 | アルミ板 A5052 2mm |
| 数量 | 120.00 枚 |
| 希望納期 | 2026-06-28 |
| 用途・備考 | (purpose フィールド) |
5. **依頼事項**(固定文言):「下記品目につき、お見積をご提出くださいますようお願い申し上げます。回答期限・有効期限・単価・納期日数・備考を明記の上、ご返送ください。」
6. **見積記入欄テーブル**(サプライヤーが手書きで記入する空白行を3行程度)
| 単価 | 合計金額 | 納期(日数) | 有効期限 | 備考 |
|------|----------|------------|----------|------|
| | | | | |
7. **フッター**:担当者名欄(空欄)・TEL・Email(`score_weights` に担当者フィールドがないため空欄ラベルのみ)
### 2-3. 印刷CSS
```css
@media print {
@page { size: A4 portrait; margin: 20mm; }
body { font-family: 'Noto Sans JP', sans-serif; font-size: 11pt; color: #000; }
table { width: 100%; border-collapse: collapse; }
th, td { border: 1px solid #333; padding: 6px 8px; }
th { background: #f0f0f0; }
.no-print { display: none; }
}
```
- 画面表示時は「印刷プレビュー」として同じ内容を表示し、「印刷する」ボタン(`class="no-print"`)と「戻る」リンクを用意する。
### 2-4. データ取得
- `case_find($id)` と `get_weights()` のみ使用。外部APIや新規テーブルは不要。
- 案件が見つからない場合は `http_response_code(404); die(...)` で終了。
## 3. 既存機能との整合
- 既存の `pages/report.php`(選定レポート)は一切変更しない。
- `score_weights` テーブルへの追加カラムは行わない。
- `schema.sql` への変更は不要。
- `index.php` の `$allowed` 配列への追加のみが既存ファイルへの変更点となり、後方互換を完全に維持する。
- スマホからも印刷プレビューを確認できるよう、画面表示時はスクロール可能なレスポンシブ表示とする。
💬 返信 (3)
🛠 開発を開始しました (機能追加 procuredesk)
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「ProcureDesk - 購買・見積比較&サプライヤー選定支援システム」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=procuredesk
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/procuredesk/
ご利用ありがとうございます!
ご要望いただいた「ProcureDesk - 購買・見積比較&サプライヤー選定支援システム」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=procuredesk
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/procuredesk/
ご利用ありがとうございます!
Echo
Iris