Showing
10 changed files
with
87 additions
and
31 deletions
... | @@ -70,7 +70,15 @@ appbar 관련 디자인은 추후 구현 예정 | ... | @@ -70,7 +70,15 @@ appbar 관련 디자인은 추후 구현 예정 |
70 | ### 2021-05-22 | 70 | ### 2021-05-22 |
71 | + 약병 검색 기능 구현 중 | 71 | + 약병 검색 기능 구현 중 |
72 | 72 | ||
73 | -### 2021-0523 | 73 | +### 2021-05-23 |
74 | + 로그인 하여 메인페이지 과정 구현 완료 | 74 | + 로그인 하여 메인페이지 과정 구현 완료 |
75 | + 폴더 정리 | 75 | + 폴더 정리 |
76 | 76 | ||
77 | + | ||
78 | +### 2021-05-24 | ||
79 | +회원 가입 --> 허브 등록 --> 약병 등록 -->로그인 페이지로 | ||
80 | +로그인 --> 허브 리스트 --> 약병 리스트 --> 메인 페이지 | ||
81 | ++ 시나리오 수정 완료 | ||
82 | ++ 메인 페이지 데이터 출력 완료 | ||
83 | + | ||
84 | + | ... | ... |
This diff is collapsed. Click to expand it.
... | @@ -5,18 +5,46 @@ import 'package:http/http.dart' as http; | ... | @@ -5,18 +5,46 @@ import 'package:http/http.dart' as http; |
5 | import 'package:flutter_dotenv/flutter_dotenv.dart'; | 5 | import 'package:flutter_dotenv/flutter_dotenv.dart'; |
6 | import '../models/Bottle.dart'; | 6 | import '../models/Bottle.dart'; |
7 | import '../DashBoard.dart'; | 7 | import '../DashBoard.dart'; |
8 | +import '../models/Medicine.dart'; | ||
8 | 9 | ||
9 | class BottleList extends StatefulWidget { | 10 | class BottleList extends StatefulWidget { |
10 | List<Bottle> bottlelist; | 11 | List<Bottle> bottlelist; |
11 | - BottleList({Key key, this.bottlelist}) : super(key: key); | 12 | + String hubid; |
13 | + BottleList({Key key, this.bottlelist, this.hubid}) : super(key: key); | ||
12 | 14 | ||
13 | @override | 15 | @override |
14 | _BottleListState createState() => _BottleListState(); | 16 | _BottleListState createState() => _BottleListState(); |
15 | } | 17 | } |
16 | 18 | ||
17 | class _BottleListState extends State<BottleList> { | 19 | class _BottleListState extends State<BottleList> { |
20 | + Bottle _bottleinformation = new Bottle(); | ||
21 | + Medicine _medicineinformation = new Medicine(); | ||
22 | + | ||
23 | + Future<Bottle> getbottle(int index) async { | ||
24 | + http.Response response = await http.get(Uri.encodeFull( | ||
25 | + DotEnv().env['SERVER_URL'] + | ||
26 | + 'bottle/' + | ||
27 | + widget.bottlelist[index].bottleId.toString())); | ||
28 | + | ||
29 | + if (response.statusCode == 200) { | ||
30 | + Map<String, dynamic> jsonData = jsonDecode(response.body); | ||
31 | + print(jsonData); | ||
32 | + _bottleinformation = Bottle.fromJson(jsonData); | ||
33 | + } | ||
34 | + } | ||
35 | + | ||
36 | + Future<Bottle> getmedicine(int index) async { | ||
37 | + http.Response medicineresponse = await http.get(Uri.encodeFull( | ||
38 | + DotEnv().env['SERVER_URL'] + | ||
39 | + 'medicine/' + | ||
40 | + widget.bottlelist[index].medicineId.toString())); | ||
41 | + if (medicineresponse.statusCode == 200) { | ||
42 | + Map<String, dynamic> data = jsonDecode(medicineresponse.body); | ||
43 | + _medicineinformation = Medicine.fromJson(data); | ||
44 | + } | ||
45 | + } | ||
46 | + | ||
18 | Widget build(BuildContext context) { | 47 | Widget build(BuildContext context) { |
19 | - print(widget.bottlelist); | ||
20 | final Size size = MediaQuery.of(context).size; | 48 | final Size size = MediaQuery.of(context).size; |
21 | return Scaffold( | 49 | return Scaffold( |
22 | body: Container( | 50 | body: Container( |
... | @@ -62,13 +90,19 @@ class _BottleListState extends State<BottleList> { | ... | @@ -62,13 +90,19 @@ class _BottleListState extends State<BottleList> { |
62 | fontWeight: FontWeight.bold), | 90 | fontWeight: FontWeight.bold), |
63 | ), | 91 | ), |
64 | trailing: Icon(Icons.arrow_forward), | 92 | trailing: Icon(Icons.arrow_forward), |
65 | - onTap: () { | 93 | + onTap: () async { |
94 | + getbottle(index); | ||
95 | + getmedicine(index); | ||
96 | + print(_bottleinformation); | ||
97 | + print(_medicineinformation); | ||
98 | + | ||
66 | Navigator.push( | 99 | Navigator.push( |
67 | context, | 100 | context, |
68 | MaterialPageRoute( | 101 | MaterialPageRoute( |
69 | builder: (BuildContext context) => DashBoard( | 102 | builder: (BuildContext context) => DashBoard( |
70 | pageNumber: 1, | 103 | pageNumber: 1, |
71 | - bottleID: widget.bottlelist[index].bottleId, | 104 | + bottleInformation: _bottleinformation, |
105 | + medicineInformation: _medicineinformation, | ||
72 | ), | 106 | ), |
73 | )); | 107 | )); |
74 | }), | 108 | }), | ... | ... |
1 | import 'package:Smart_Medicine_Box/src/screens/DashBoard.dart'; | 1 | import 'package:Smart_Medicine_Box/src/screens/DashBoard.dart'; |
2 | +import 'package:Smart_Medicine_Box/src/screens/Homepage.dart'; | ||
2 | import 'package:flutter/material.dart'; | 3 | import 'package:flutter/material.dart'; |
3 | import 'package:flutter/cupertino.dart'; | 4 | import 'package:flutter/cupertino.dart'; |
4 | import 'dart:convert'; | 5 | import 'dart:convert'; |
... | @@ -28,7 +29,6 @@ class _DetailMedicineState extends State<DetailMedicine> { | ... | @@ -28,7 +29,6 @@ class _DetailMedicineState extends State<DetailMedicine> { |
28 | 'dosage': medicineDosageController.text | 29 | 'dosage': medicineDosageController.text |
29 | })); | 30 | })); |
30 | 31 | ||
31 | - print(response.statusCode); | ||
32 | if (response.statusCode == 200) { | 32 | if (response.statusCode == 200) { |
33 | return "Complete"; | 33 | return "Complete"; |
34 | } else if (response.statusCode == 404) { | 34 | } else if (response.statusCode == 404) { |
... | @@ -207,14 +207,12 @@ class _DetailMedicineState extends State<DetailMedicine> { | ... | @@ -207,14 +207,12 @@ class _DetailMedicineState extends State<DetailMedicine> { |
207 | child: new Text('Close'), | 207 | child: new Text('Close'), |
208 | onPressed: () { | 208 | onPressed: () { |
209 | Navigator.push( | 209 | Navigator.push( |
210 | - context, | 210 | + context, |
211 | - MaterialPageRoute( | 211 | + MaterialPageRoute( |
212 | - builder: (BuildContext context) => | 212 | + builder: (BuildContext context) => |
213 | - DashBoard( | 213 | + HomePage(), |
214 | - pageNumber: 1, | 214 | + ), |
215 | - bottleID: int.parse( | 215 | + ); |
216 | - widget.bottleId), | ||
217 | - ))); | ||
218 | }) | 216 | }) |
219 | ], | 217 | ], |
220 | ); | 218 | ); | ... | ... |
... | @@ -94,8 +94,9 @@ class _HubListState extends State<HubList> { | ... | @@ -94,8 +94,9 @@ class _HubListState extends State<HubList> { |
94 | MaterialPageRoute( | 94 | MaterialPageRoute( |
95 | builder: (BuildContext context) => | 95 | builder: (BuildContext context) => |
96 | BottleList( | 96 | BottleList( |
97 | - bottlelist: _bottleList, | 97 | + bottlelist: _bottleList, |
98 | - ), | 98 | + hubid: widget.hublist[index] |
99 | + .toString()), | ||
99 | )); | 100 | )); |
100 | } else if (result == "Not Found") { | 101 | } else if (result == "Not Found") { |
101 | showDialog( | 102 | showDialog( | ... | ... |
... | @@ -110,18 +110,19 @@ class _RegisterBottleState extends State<RegisterBottle> { | ... | @@ -110,18 +110,19 @@ class _RegisterBottleState extends State<RegisterBottle> { |
110 | content: new Text('약병 등록이 완료 되었습니다.'), | 110 | content: new Text('약병 등록이 완료 되었습니다.'), |
111 | actions: <Widget>[ | 111 | actions: <Widget>[ |
112 | new FlatButton( | 112 | new FlatButton( |
113 | - child: new Text('Close'), | 113 | + child: new Text('Close'), |
114 | - onPressed: () { | 114 | + onPressed: () { |
115 | - Navigator.push( | 115 | + Navigator.push( |
116 | - context, | 116 | + context, |
117 | - MaterialPageRoute( | 117 | + MaterialPageRoute( |
118 | - builder: (BuildContext context) => | 118 | + builder: (BuildContext context) => |
119 | - SearchMedicine( | 119 | + SearchMedicine( |
120 | - bottleId: | 120 | + bottleId: medicineBottleIDController.text, |
121 | - medicineBottleIDController | 121 | + ), |
122 | - .text, | 122 | + ), |
123 | - ))); | 123 | + ); |
124 | - }) | 124 | + }, |
125 | + ), | ||
125 | ], | 126 | ], |
126 | ); | 127 | ); |
127 | }); | 128 | }); | ... | ... |
... | @@ -8,7 +8,6 @@ import 'DetailMedicine.dart'; | ... | @@ -8,7 +8,6 @@ import 'DetailMedicine.dart'; |
8 | 8 | ||
9 | class SearchMedicine extends StatefulWidget { | 9 | class SearchMedicine extends StatefulWidget { |
10 | String bottleId; | 10 | String bottleId; |
11 | - | ||
12 | SearchMedicine({Key key, this.bottleId}) : super(key: key); | 11 | SearchMedicine({Key key, this.bottleId}) : super(key: key); |
13 | @override | 12 | @override |
14 | _SearchMedicineState createState() => _SearchMedicineState(); | 13 | _SearchMedicineState createState() => _SearchMedicineState(); | ... | ... |
... | @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; | ... | @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; |
3 | import 'package:http/http.dart' as http; | 3 | import 'package:http/http.dart' as http; |
4 | import 'package:flutter_dotenv/flutter_dotenv.dart'; | 4 | import 'package:flutter_dotenv/flutter_dotenv.dart'; |
5 | 5 | ||
6 | -import '../Homepage.dart'; | 6 | +import 'RegsiterHub.dart'; |
7 | 7 | ||
8 | class SignUpLocal extends StatefulWidget { | 8 | class SignUpLocal extends StatefulWidget { |
9 | @override | 9 | @override |
... | @@ -182,7 +182,7 @@ class _SignUpLocalState extends State<SignUpLocal> { | ... | @@ -182,7 +182,7 @@ class _SignUpLocalState extends State<SignUpLocal> { |
182 | context, | 182 | context, |
183 | MaterialPageRoute( | 183 | MaterialPageRoute( |
184 | builder: (BuildContext context) => | 184 | builder: (BuildContext context) => |
185 | - HomePage())); | 185 | + RegisterHub())); |
186 | }) | 186 | }) |
187 | ], | 187 | ], |
188 | ); | 188 | ); | ... | ... |
... | @@ -156,6 +156,13 @@ packages: | ... | @@ -156,6 +156,13 @@ packages: |
156 | url: "https://pub.dartlang.org" | 156 | url: "https://pub.dartlang.org" |
157 | source: hosted | 157 | source: hosted |
158 | version: "3.1.4" | 158 | version: "3.1.4" |
159 | + infinite_listview: | ||
160 | + dependency: transitive | ||
161 | + description: | ||
162 | + name: infinite_listview | ||
163 | + url: "https://pub.dartlang.org" | ||
164 | + source: hosted | ||
165 | + version: "1.0.1+1" | ||
159 | intl: | 166 | intl: |
160 | dependency: "direct main" | 167 | dependency: "direct main" |
161 | description: | 168 | description: |
... | @@ -198,6 +205,13 @@ packages: | ... | @@ -198,6 +205,13 @@ packages: |
198 | url: "https://pub.dartlang.org" | 205 | url: "https://pub.dartlang.org" |
199 | source: hosted | 206 | source: hosted |
200 | version: "0.9.7" | 207 | version: "0.9.7" |
208 | + numberpicker: | ||
209 | + dependency: "direct main" | ||
210 | + description: | ||
211 | + name: numberpicker | ||
212 | + url: "https://pub.dartlang.org" | ||
213 | + source: hosted | ||
214 | + version: "1.3.0" | ||
201 | page_transition: | 215 | page_transition: |
202 | dependency: "direct main" | 216 | dependency: "direct main" |
203 | description: | 217 | description: | ... | ... |
... | @@ -37,6 +37,7 @@ dependencies: | ... | @@ -37,6 +37,7 @@ dependencies: |
37 | cupertino_icons: ^0.1.3 | 37 | cupertino_icons: ^0.1.3 |
38 | http: ^0.12.0+4 | 38 | http: ^0.12.0+4 |
39 | flutter_dotenv: ^2.1.0 | 39 | flutter_dotenv: ^2.1.0 |
40 | + numberpicker: ^1.3.0 | ||
40 | 41 | ||
41 | dev_dependencies: | 42 | dev_dependencies: |
42 | flutter_test: | 43 | flutter_test: | ... | ... |
-
Please register or login to post a comment