diff --git a/lib/database/item_table.dart b/lib/database/item_table.dart index cd9e5cb..96280be 100644 --- a/lib/database/item_table.dart +++ b/lib/database/item_table.dart @@ -6,7 +6,7 @@ CREATE TABLE items ( location_id INTEGER, description TEXT, purchase_date TEXT, - is_in_use INTEGER DEFAULT 0, + is_in_use TEXT DEFAULT 'no', created_at TEXT DEFAULT (datetime('now')), updated_at TEXT DEFAULT (datetime('now')) ); diff --git a/lib/models/item_model.dart b/lib/models/item_model.dart index f8e8ba9..bf1aee4 100644 --- a/lib/models/item_model.dart +++ b/lib/models/item_model.dart @@ -11,7 +11,7 @@ class Item { // 购买日期 final DateTime? purchaseDate; // 是否使用 - final String isInUse; + final String? isInUse; final DateTime? createdAt; final DateTime? updatedAt; @@ -29,7 +29,6 @@ class Item { Map toMap() { return { - 'id': id, 'name': name, 'category_id': categoryId, 'location_id': locationId, diff --git a/lib/screens/item_list_screen.dart b/lib/screens/item_list_screen.dart index 45199ef..276916f 100644 --- a/lib/screens/item_list_screen.dart +++ b/lib/screens/item_list_screen.dart @@ -1,8 +1,10 @@ import 'package:flutter/material.dart'; import 'package:item_tracker/provider/item_provider.dart'; -import 'package:item_tracker/screens/addItem/add_item_screen.dart'; +import 'package:item_tracker/screens/item_screens/add_item_screen.dart'; import 'package:provider/provider.dart'; +import 'item_screens/detail_item_screen.dart'; + class ItemListScreen extends StatefulWidget { @override _ItemListScreenState createState() => _ItemListScreenState(); @@ -46,6 +48,14 @@ class _ItemListScreenState extends State { return ListTile( title: Text(item.name), subtitle: Text(item.description ?? ""), + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => DetailItemScreen(item: item), + ), + ); + }, ); })); }), diff --git a/lib/screens/addItem/add_item_screen.dart b/lib/screens/item_screens/add_item_screen.dart similarity index 100% rename from lib/screens/addItem/add_item_screen.dart rename to lib/screens/item_screens/add_item_screen.dart diff --git a/lib/screens/item_screens/detail_item_screen.dart b/lib/screens/item_screens/detail_item_screen.dart new file mode 100644 index 0000000..387df53 --- /dev/null +++ b/lib/screens/item_screens/detail_item_screen.dart @@ -0,0 +1,27 @@ +import 'package:flutter/material.dart'; +import 'package:item_tracker/models/item_model.dart'; + +class DetailItemScreen extends StatelessWidget { + final Item item; + + DetailItemScreen({required this.item}); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text('${item.name}'), + ), + body: Padding( + padding: EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('名称: ${item.toMap().toString()}'), + Text('描述: ${item.description}') + ] + ) + ) + ); + } +} \ No newline at end of file