// Version: 1.5 - 見積書画面(簡易実装) import 'package:flutter/material.dart'; import '../models/customer.dart'; /// 見積書作成画面 class EstimateScreen extends StatefulWidget { const EstimateScreen({super.key}); @override State createState() => _EstimateScreenState(); } class _EstimateScreenState extends State { Customer? _selectedCustomer; List _customers = []; DateTime? _expiryDate; @override void initState() { super.initState(); _loadCustomers(); } Future _loadCustomers() async { // TODO: DatabaseHelper.instance.getCustomers() を使用 setState(() => _customers = []); } /// 見積有効期限を設定(簡易) void setExpiryDate(DateTime date) { setState(() => _expiryDate = date); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('見積書')), body: _selectedCustomer == null ? const Center(child: Text('得意先を選択してください')) : SingleChildScrollView( child: Padding( padding: const EdgeInsets.all(16), child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ // 見積有効期限設定エリア(簡易) ListTile( contentPadding: EdgeInsets.zero, title: const Text('見積有効期限'), subtitle: _expiryDate != null ? Text('${_expiryDate!.day}/${_expiryDate!.month}') : const Text('-'), trailing: IconButton(icon: const Icon(Icons.calendar_today), onPressed: () { // TODO: デイティピッカーの実装 }), ), const Divider(), // 合計金額表示(簡易) Card( child: ListTile( contentPadding: EdgeInsets.zero, title: const Text('見積書合計'), subtitle: const Text('¥0.00'), trailing: IconButton(icon: const Icon(Icons.edit), onPressed: () {}), ), ), const SizedBox(height: 16), // PDF 帳票出力ボタン(簡易) TextButton.icon( onPressed: () { ScaffoldMessenger.of(context).showSnackBar( const SnackBar(content: Text('PDF 帳票生成中...')), ); }, icon: const Icon(Icons.download), label: const Text('PDF をダウンロード'), ), ], ), ), ), ); } }