# 少プロジェクト短期実装計画(担当者に限定版) ## 1. プロジェクト概要 **目標**: 担当者マスタ画面のリッチ編集機能を実現し、販売・仕入れ業務との連携を整える **期間**: 1-2 ヶ月程度で MVP をリリース **優先度**: 担当者マスタ → サンプルデータ → ビルド検証 --- ## 2. ワークフロー ```mermaid graph TD A[担当者マスタ画面] --> B[MasterEditDialog 作成] B --> C[sample_employee.dart 定義] C --> D[employee_master_screen.dart リッチ化] D --> E[サンプルデータ追加] E --> F[ビルド検証] ``` --- ## 3. 実装順序 ### フェーズ 1: 編集ダイアログの整備 (1-2 週間) 1. `MasterEditDialog` を共有ライブラリとして作成 - TextFormField で全てのフィールドを編集可能 - 保存/キャンセルボタン付き - 無効な場合のバリデーション表示 2. `sample_employee.dart` にサンプルデータ追加 - 初期担当者データ(5-10 件程度) - employee_id, name, email, tel, department, role ### フェーズ 2: マスタ画面の連携 (2-3 週間) 3. `employee_master_screen.dart` のリッチ化 - MasterEditDialog で編集画面を表示 - リストビューに編集ボタン付き - 追加ダイアログを統合 4. シンプルなリスト管理から開始 - ListView.builder で担当者一覧表示 - Card に編集ボタンを追加 ### フェーズ 3: 業務連携の準備 (1-2 週間) 5. 販売画面への担当者紐付機能 6. 仕入れ画面への担当者紐付機能 7. 簡易な在庫管理と売上照会 --- ## 4. テックスタック | カテゴリ | ツール | |---------|--------| | State Management | setState (シンプル) | | フォーム編集 | TextField + TextEditingController | | ダイアログ | AlertDialog で標準ダイアログ利用 | | データ永続化 | 当面はメモリ保持(後日 Sqflite) | | ロギング | 簡易な print 出力 | --- ## 5. デリべラブル - [x] `MasterEditDialog` の実装 - [ ] `sample_employee.dart` のサンプルデータ追加 - [x] `employee_master_screen.dart` の簡素リスト実装(完了) - [ ] リッチ編集画面の実装 - [ ] ビルドと動作確認 --- ## 6. 定義済みインターフェース ### MasterEditDialog インターフェース: ```dart class MasterEditDialog { final String title; final Map initialData; // editMode の時だけ使用 final Future Function(Map) saveCallback; static const String idKey = 'id'; static const String nameKey = 'name'; static const String emailKey = 'email'; static const String telKey = 'tel'; } ``` ### sample_employee.dart の形式: ```dart class SampleEmployee { final int id; final String name; final String email; final String tel; final String department; final String role; // factory で作成可能 Map toJson() => {...}; } ``` --- ## 7. ビルド検証手順 1. `flutter build apk --debug` でビルド 2. Android エミュレータまたは物理デバイスで動作確認 3. マスタ登録・編集のフローテスト 4. 画面遷移の確認 --- ## 8. リスク管理 - **State Management の複雑化**: setState を使いすぎると再描画が増える → 最小限に抑える - **データ永続化なし**: アプリ再起動で失われる → MVP で OK、後日改善 - **サンプルデータ不足**: ユーザーに手入力させる → コード内で初期化 --- ## 9. まとめ 担当者のみから着手し、マスター管理機能とサンプルデータを整備。その後に他のマスタ画面を順次実装する方針で進める。