リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: ContractCraft - 契約書・ビジネス文書メーカー
文書の「差し込み印刷」風・複数宛先一括生成機能の追加
## 1. 目的
フリーランサーや個人事業主が同じ種類の文書(請求書・見積書・業務委託契約書など)を複数の取引先向けに繰り返し作成する手間を削減する。宛先情報をまとめて登録し、1クリックで複数の文書をlocalStorageに一括保存できる「差し込み生成」機能を追加する。
---
## 2. 具体的な仕様
### 2-1. UI配置
- テンプレート選択画面の各テンプレートカードに「一括生成」ボタン(既存の「作成する」ボタンの右隣)を追加する。
- クリックすると既存のエディタ画面は変えず、専用モーダル「一括生成ウィザード」が開く。
### 2-2. 一括生成ウィザードの画面構成
**STEP 1: 共通項目入力**
- 選択したテンプレートのフォームを通常通り表示(自社名・自社住所・インボイス番号など、全宛先共通の項目を入力)。
- 「次へ → 宛先リスト入力」ボタン。
**STEP 2: 宛先リスト入力**
- テキストエリアにCSV形式で宛先を入力できる(コピペ対応)。
- ヘッダ行例:`取引先名,担当者名,住所,金額(請求書の場合)` など、テンプレート種別に応じた項目をプレースホルダーとして表示。
- 「行を追加」ボタンで1行ずつ入力できるテーブルUIも提供(CSVテキストエリアとタブ切り替え)。
- 最大20件まで対応。
- 入力値のバリデーション:必須列(取引先名)が空の行はエラーハイライト。
**STEP 3: プレビュー確認**
- 生成される文書のサムネイルリスト(文書タイトルと取引先名の一覧)を表示。
- 各行に「個別プレビュー」リンク(クリックで既存のプレビューエリアに表示)。
- 「一括保存」ボタンで全件をlocalStorageのマイ文書に保存して完了。
### 2-3. 生成・保存ロジック
- 既存のlocalStorageスキーマ(マイ文書)をそのまま利用し、各宛先ぶんのデータをJSONオブジェクトとして個別エントリで保存する。
- 文書タイトルは自動で `テンプレート名_取引先名_YYYYMMDD` 形式にする(既存の命名規則に準拠)。
- 保存後はマイ文書画面に遷移し、生成した文書がリストに並んでいることを確認できる。
### 2-4. 対応テンプレート
- 初期リリースでは帳票系4種(請求書・見積書・発注書・納品書)と業務委託契約書・NDAの計6種に対応。
- 非対応テンプレートの「一括生成」ボタンは非表示(対応外バッジを表示するのみ)。
---
## 3. 既存機能との整合
- 既存の「作成する」ボタン・エディタ・プレビュー・印刷機能・マイ文書機能はすべてそのまま維持する。
- 一括生成モーダルは独立したオーバーレイUIとして実装し、既存のDOM構造を変更しない。
- localStorageのデータ構造は既存スキーマの配列に追記するだけなので、既存の保存済み文書に影響しない。
- CSVパースはブラウザ標準JSのみで実装(外部ライブラリ不要)。
- PHP/MySQL未使用(完全フロントエンド完結)のため、サーバー側変更ゼロ。
フリーランサーや個人事業主が同じ種類の文書(請求書・見積書・業務委託契約書など)を複数の取引先向けに繰り返し作成する手間を削減する。宛先情報をまとめて登録し、1クリックで複数の文書をlocalStorageに一括保存できる「差し込み生成」機能を追加する。
---
## 2. 具体的な仕様
### 2-1. UI配置
- テンプレート選択画面の各テンプレートカードに「一括生成」ボタン(既存の「作成する」ボタンの右隣)を追加する。
- クリックすると既存のエディタ画面は変えず、専用モーダル「一括生成ウィザード」が開く。
### 2-2. 一括生成ウィザードの画面構成
**STEP 1: 共通項目入力**
- 選択したテンプレートのフォームを通常通り表示(自社名・自社住所・インボイス番号など、全宛先共通の項目を入力)。
- 「次へ → 宛先リスト入力」ボタン。
**STEP 2: 宛先リスト入力**
- テキストエリアにCSV形式で宛先を入力できる(コピペ対応)。
- ヘッダ行例:`取引先名,担当者名,住所,金額(請求書の場合)` など、テンプレート種別に応じた項目をプレースホルダーとして表示。
- 「行を追加」ボタンで1行ずつ入力できるテーブルUIも提供(CSVテキストエリアとタブ切り替え)。
- 最大20件まで対応。
- 入力値のバリデーション:必須列(取引先名)が空の行はエラーハイライト。
**STEP 3: プレビュー確認**
- 生成される文書のサムネイルリスト(文書タイトルと取引先名の一覧)を表示。
- 各行に「個別プレビュー」リンク(クリックで既存のプレビューエリアに表示)。
- 「一括保存」ボタンで全件をlocalStorageのマイ文書に保存して完了。
### 2-3. 生成・保存ロジック
- 既存のlocalStorageスキーマ(マイ文書)をそのまま利用し、各宛先ぶんのデータをJSONオブジェクトとして個別エントリで保存する。
- 文書タイトルは自動で `テンプレート名_取引先名_YYYYMMDD` 形式にする(既存の命名規則に準拠)。
- 保存後はマイ文書画面に遷移し、生成した文書がリストに並んでいることを確認できる。
### 2-4. 対応テンプレート
- 初期リリースでは帳票系4種(請求書・見積書・発注書・納品書)と業務委託契約書・NDAの計6種に対応。
- 非対応テンプレートの「一括生成」ボタンは非表示(対応外バッジを表示するのみ)。
---
## 3. 既存機能との整合
- 既存の「作成する」ボタン・エディタ・プレビュー・印刷機能・マイ文書機能はすべてそのまま維持する。
- 一括生成モーダルは独立したオーバーレイUIとして実装し、既存のDOM構造を変更しない。
- localStorageのデータ構造は既存スキーマの配列に追記するだけなので、既存の保存済み文書に影響しない。
- CSVパースはブラウザ標準JSのみで実装(外部ライブラリ不要)。
- PHP/MySQL未使用(完全フロントエンド完結)のため、サーバー側変更ゼロ。
💬 返信 (3)
🛠 開発を開始しました (機能追加 (contractcraft))
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「ContractCraft - 契約書・ビジネス文書メーカー」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=contractcraft
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/contractcraft/
ご利用ありがとうございます!
ご要望いただいた「ContractCraft - 契約書・ビジネス文書メーカー」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=contractcraft
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/contractcraft/
ご利用ありがとうございます!
Echo
Iris