Showing
10 changed files
with
227 additions
and
94 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 | + | ... | ... |
1 | import 'package:flutter/material.dart'; | 1 | import 'package:flutter/material.dart'; |
2 | -import 'package:Smart_Medicine_Box/src/screens/SettingPage.dart'; | ||
3 | import 'dart:convert'; | 2 | import 'dart:convert'; |
4 | import 'package:shared_preferences/shared_preferences.dart'; | 3 | import 'package:shared_preferences/shared_preferences.dart'; |
5 | import 'package:http/http.dart' as http; | 4 | import 'package:http/http.dart' as http; |
6 | import 'package:flutter_dotenv/flutter_dotenv.dart'; | 5 | import 'package:flutter_dotenv/flutter_dotenv.dart'; |
7 | 6 | ||
7 | +import 'models/Bottle.dart'; | ||
8 | +import 'models/Medicine.dart'; | ||
9 | +import 'package:Smart_Medicine_Box/src/screens/SettingPage.dart'; | ||
10 | + | ||
8 | class DashBoard extends StatefulWidget { | 11 | class DashBoard extends StatefulWidget { |
9 | int pageNumber; | 12 | int pageNumber; |
10 | - int bottleID; | 13 | + Bottle bottleInformation; |
11 | - DashBoard({Key key, this.pageNumber, this.bottleID}) : super(key: key); | 14 | + Medicine medicineInformation; |
15 | + | ||
16 | + DashBoard( | ||
17 | + {Key key, | ||
18 | + this.pageNumber, | ||
19 | + this.bottleInformation, | ||
20 | + this.medicineInformation}) | ||
21 | + : super(key: key); | ||
12 | 22 | ||
13 | @override | 23 | @override |
14 | _DashBoardState createState() => _DashBoardState(); | 24 | _DashBoardState createState() => _DashBoardState(); |
15 | } | 25 | } |
16 | 26 | ||
17 | class _DashBoardState extends State<DashBoard> { | 27 | class _DashBoardState extends State<DashBoard> { |
28 | + Bottle _bottleinformation = new Bottle(); | ||
18 | int _selectedIndex = 0; | 29 | int _selectedIndex = 0; |
19 | - | 30 | + Medicine _medicineInformation = new Medicine(); |
20 | Widget build(BuildContext context) { | 31 | Widget build(BuildContext context) { |
21 | _selectedIndex = widget.pageNumber; | 32 | _selectedIndex = widget.pageNumber; |
22 | - | 33 | + _medicineInformation = widget.medicineInformation; |
34 | + _bottleinformation = widget.bottleInformation; | ||
23 | var _tabs = [ | 35 | var _tabs = [ |
24 | - ineerInformationpage(context), | 36 | + ineerInformationpage(context, _bottleinformation), |
25 | - mainpage(context), | 37 | + mainpage(context, _medicineInformation), |
26 | - outerInformationpage(context), | 38 | + outerInformationpage(context, _bottleinformation), |
27 | ]; | 39 | ]; |
28 | 40 | ||
29 | return Scaffold( | 41 | return Scaffold( |
... | @@ -112,7 +124,7 @@ class _DashBoardState extends State<DashBoard> { | ... | @@ -112,7 +124,7 @@ class _DashBoardState extends State<DashBoard> { |
112 | } | 124 | } |
113 | } | 125 | } |
114 | 126 | ||
115 | -Widget mainpage(BuildContext context) { | 127 | +Widget mainpage(BuildContext context, Medicine medicineInformation) { |
116 | Future<String> getHubList() async { | 128 | Future<String> getHubList() async { |
117 | SharedPreferences prefs = await SharedPreferences.getInstance(); | 129 | SharedPreferences prefs = await SharedPreferences.getInstance(); |
118 | 130 | ||
... | @@ -122,117 +134,165 @@ Widget mainpage(BuildContext context) { | ... | @@ -122,117 +134,165 @@ Widget mainpage(BuildContext context) { |
122 | print(response.statusCode); | 134 | print(response.statusCode); |
123 | } | 135 | } |
124 | 136 | ||
137 | + //현재 접속 중인 허브 리스트 id와 약병 리스트 id 출력 | ||
138 | + //약 상세 정보 가져오기 --> 이건 Detail Medicine에서 가져 오면 됨 | ||
125 | final Size size = MediaQuery.of(context).size; | 139 | final Size size = MediaQuery.of(context).size; |
126 | - /* | ||
127 | - Main 화면 | ||
128 | - 약의 정보를 가져와서 출력을 하는 곳 | ||
129 | - 유저 이메일 | ||
130 | - 약 이름 | ||
131 | - 약 제조사 | ||
132 | - */ | ||
133 | return Scaffold( | 140 | return Scaffold( |
134 | backgroundColor: Colors.white, | 141 | backgroundColor: Colors.white, |
135 | - body: Container( | 142 | + body: SingleChildScrollView( |
136 | - height: size.height * 0.6, | 143 | + child: Container( |
137 | margin: EdgeInsets.fromLTRB(0, 30, 0, 0), | 144 | margin: EdgeInsets.fromLTRB(0, 30, 0, 0), |
138 | padding: EdgeInsets.fromLTRB(5, 0, 5, 5), | 145 | padding: EdgeInsets.fromLTRB(5, 0, 5, 5), |
139 | child: Column( | 146 | child: Column( |
140 | crossAxisAlignment: CrossAxisAlignment.center, | 147 | crossAxisAlignment: CrossAxisAlignment.center, |
141 | children: <Widget>[ | 148 | children: <Widget>[ |
149 | + SizedBox(height: 20), | ||
142 | Container( | 150 | Container( |
143 | - padding: EdgeInsets.fromLTRB(5, 0, 5, 5), | ||
144 | - margin: EdgeInsets.fromLTRB(0, 30, 0, 0), | ||
145 | - height: size.height * 0.15, | ||
146 | width: size.width, | 151 | width: size.width, |
152 | + padding: EdgeInsets.fromLTRB(5, 0, 5, 5), | ||
153 | + margin: EdgeInsets.all(15), | ||
147 | decoration: BoxDecoration( | 154 | decoration: BoxDecoration( |
148 | border: Border.all(), | 155 | border: Border.all(), |
149 | borderRadius: BorderRadius.all( | 156 | borderRadius: BorderRadius.all( |
150 | - Radius.circular(4.0) // <--- border radius here | 157 | + Radius.circular(25.0) // <--- border radius here |
151 | ), | 158 | ), |
152 | ), | 159 | ), |
153 | - child: new Column( | 160 | + child: Column( |
154 | - crossAxisAlignment: CrossAxisAlignment.start, | ||
155 | children: [ | 161 | children: [ |
156 | - Text( | 162 | + SizedBox(height: 30), |
157 | - '약 이름:', | 163 | + Container( |
164 | + child: Center( | ||
165 | + child: Text( | ||
166 | + medicineInformation.name == null | ||
167 | + ? '-' | ||
168 | + : medicineInformation.name, | ||
158 | style: TextStyle( | 169 | style: TextStyle( |
159 | color: Colors.black, | 170 | color: Colors.black, |
160 | fontSize: 24, | 171 | fontSize: 24, |
161 | fontFamily: 'NotoSansKR', | 172 | fontFamily: 'NotoSansKR', |
162 | - fontWeight: FontWeight.w700), | 173 | + fontWeight: FontWeight.w700)), |
174 | + ), | ||
175 | + ), | ||
176 | + SizedBox(height: 30), | ||
177 | + Container( | ||
178 | + width: size.width, | ||
179 | + alignment: Alignment(0.9, 0), | ||
180 | + child: Wrap( | ||
181 | + children: [ | ||
182 | + Text( | ||
183 | + '제조사: ', | ||
184 | + style: TextStyle( | ||
185 | + color: Colors.grey, | ||
186 | + fontSize: 14, | ||
187 | + ), | ||
163 | ), | 188 | ), |
164 | Text( | 189 | Text( |
165 | - '무슨 무슨 비타민 ', | 190 | + medicineInformation.company == null |
191 | + ? '-' | ||
192 | + : medicineInformation.company, | ||
166 | style: TextStyle( | 193 | style: TextStyle( |
167 | - color: Colors.black, | 194 | + color: Colors.grey, |
168 | - fontSize: 36, | 195 | + fontSize: 14, |
169 | - fontFamily: 'NotoSansKR', | 196 | + ), |
170 | - fontWeight: FontWeight.w700), | ||
171 | ), | 197 | ), |
172 | ], | 198 | ], |
173 | ), | 199 | ), |
174 | ), | 200 | ), |
201 | + SizedBox(height: 30), | ||
175 | Container( | 202 | Container( |
176 | - padding: EdgeInsets.fromLTRB(5, 0, 5, 5), | ||
177 | - margin: EdgeInsets.fromLTRB(0, 30, 0, 0), | ||
178 | - height: size.height * 0.15, | ||
179 | width: size.width, | 203 | width: size.width, |
180 | - decoration: BoxDecoration( | 204 | + padding: EdgeInsets.fromLTRB(5, 0, 5, 0), |
181 | - border: Border.all(), | 205 | + alignment: Alignment(-1, 0), |
182 | - borderRadius: BorderRadius.all( | 206 | + child: Wrap( |
183 | - Radius.circular(4.0) // <--- border radius here | 207 | + children: [ |
208 | + Text( | ||
209 | + '타겟 층 : ', | ||
210 | + style: TextStyle( | ||
211 | + color: Colors.grey, | ||
212 | + fontSize: 14, | ||
213 | + ), | ||
214 | + ), | ||
215 | + Text( | ||
216 | + medicineInformation.target == null | ||
217 | + ? '-' | ||
218 | + : medicineInformation.target, | ||
219 | + style: TextStyle( | ||
220 | + color: Colors.grey, | ||
221 | + fontSize: 14, | ||
184 | ), | 222 | ), |
185 | ), | 223 | ), |
186 | - child: new Column( | 224 | + ], |
187 | - crossAxisAlignment: CrossAxisAlignment.start, | 225 | + ), |
226 | + ), | ||
227 | + SizedBox(height: 15), | ||
228 | + Container( | ||
229 | + width: size.width, | ||
230 | + padding: EdgeInsets.fromLTRB(5, 0, 5, 0), | ||
231 | + alignment: Alignment(-1, 0), | ||
232 | + child: Wrap( | ||
188 | children: [ | 233 | children: [ |
189 | Text( | 234 | Text( |
190 | - '약 제조사:', | 235 | + '복약 정보 : ', |
191 | style: TextStyle( | 236 | style: TextStyle( |
192 | - color: Colors.black, | 237 | + color: Colors.grey, |
193 | - fontSize: 24, | 238 | + fontSize: 14, |
194 | - fontFamily: 'NotoSansKR', | 239 | + ), |
195 | - fontWeight: FontWeight.w700), | ||
196 | ), | 240 | ), |
197 | Text( | 241 | Text( |
198 | - 'Test123', | 242 | + medicineInformation.dosage == null |
243 | + ? '-' | ||
244 | + : medicineInformation.dosage, | ||
199 | style: TextStyle( | 245 | style: TextStyle( |
200 | - color: Colors.black, | 246 | + color: Colors.grey, |
201 | - fontSize: 32, | 247 | + fontSize: 14, |
202 | - fontFamily: 'NotoSansKR', | 248 | + ), |
203 | - fontWeight: FontWeight.w700), | ||
204 | ), | 249 | ), |
205 | ], | 250 | ], |
206 | ), | 251 | ), |
207 | ), | 252 | ), |
253 | + SizedBox(height: 10), | ||
208 | Container( | 254 | Container( |
209 | - height: 80, | 255 | + width: size.width, |
210 | - padding: const EdgeInsets.fromLTRB(20, 20, 20, 20), | 256 | + padding: EdgeInsets.fromLTRB(5, 10, 5, 10), |
211 | - child: RaisedButton( | 257 | + alignment: Alignment(-1, 0), |
212 | - onPressed: () async { | 258 | + child: Column( |
213 | - String saveMessage = await getHubList(); | 259 | + children: [ |
214 | - }, | 260 | + SizedBox( |
215 | - shape: RoundedRectangleBorder( | 261 | + height: 12, |
216 | - borderRadius: new BorderRadius.circular(18.0), | 262 | + ), |
217 | - side: BorderSide(color: Colors.blue)), | 263 | + Container( |
218 | - color: Color(0xff1674f6), | 264 | + width: size.width, |
219 | child: Text( | 265 | child: Text( |
220 | - '회원 가입', | 266 | + '경고', |
221 | - textScaleFactor: 1.0, | ||
222 | style: TextStyle( | 267 | style: TextStyle( |
223 | - fontSize: 16, | 268 | + color: Colors.redAccent, fontSize: 14), |
224 | - color: Colors.white, | 269 | + ), |
225 | - fontWeight: FontWeight.bold), | 270 | + ), |
271 | + SizedBox(height: 12), | ||
272 | + Container( | ||
273 | + width: size.width, | ||
274 | + child: Text( | ||
275 | + medicineInformation.warn == null | ||
276 | + ? '-' | ||
277 | + : medicineInformation.warn, | ||
278 | + style: TextStyle( | ||
279 | + color: Colors.redAccent, fontSize: 14), | ||
280 | + ), | ||
281 | + ), | ||
282 | + ], | ||
226 | ), | 283 | ), |
227 | ), | 284 | ), |
228 | - ) | ||
229 | ], | 285 | ], |
230 | ), | 286 | ), |
231 | ), | 287 | ), |
288 | + ], | ||
289 | + ), | ||
290 | + ), | ||
291 | + ), | ||
232 | ); | 292 | ); |
233 | } | 293 | } |
234 | 294 | ||
235 | -Widget ineerInformationpage(BuildContext context) { | 295 | +Widget ineerInformationpage(BuildContext context, Bottle bottleinformation) { |
236 | final Size size = MediaQuery.of(context).size; | 296 | final Size size = MediaQuery.of(context).size; |
237 | return Scaffold( | 297 | return Scaffold( |
238 | backgroundColor: Colors.white, | 298 | backgroundColor: Colors.white, |
... | @@ -306,7 +366,12 @@ Widget ineerInformationpage(BuildContext context) { | ... | @@ -306,7 +366,12 @@ Widget ineerInformationpage(BuildContext context) { |
306 | mainAxisAlignment: MainAxisAlignment.center, | 366 | mainAxisAlignment: MainAxisAlignment.center, |
307 | children: [ | 367 | children: [ |
308 | Text( | 368 | Text( |
309 | - '14', | 369 | + bottleinformation.temperature |
370 | + .toString() == | ||
371 | + null | ||
372 | + ? '-' | ||
373 | + : bottleinformation.temperature | ||
374 | + .toString(), | ||
310 | textAlign: TextAlign.center, | 375 | textAlign: TextAlign.center, |
311 | textScaleFactor: 1.0, | 376 | textScaleFactor: 1.0, |
312 | style: TextStyle( | 377 | style: TextStyle( |
... | @@ -367,7 +432,11 @@ Widget ineerInformationpage(BuildContext context) { | ... | @@ -367,7 +432,11 @@ Widget ineerInformationpage(BuildContext context) { |
367 | mainAxisAlignment: MainAxisAlignment.center, | 432 | mainAxisAlignment: MainAxisAlignment.center, |
368 | children: [ | 433 | children: [ |
369 | Text( | 434 | Text( |
370 | - '57', | 435 | + bottleinformation.humidity.toString() == |
436 | + null | ||
437 | + ? '-' | ||
438 | + : bottleinformation.humidity | ||
439 | + .toString(), | ||
371 | textAlign: TextAlign.center, | 440 | textAlign: TextAlign.center, |
372 | textScaleFactor: 1.0, | 441 | textScaleFactor: 1.0, |
373 | style: TextStyle( | 442 | style: TextStyle( |
... | @@ -445,7 +514,11 @@ Widget ineerInformationpage(BuildContext context) { | ... | @@ -445,7 +514,11 @@ Widget ineerInformationpage(BuildContext context) { |
445 | mainAxisAlignment: MainAxisAlignment.center, | 514 | mainAxisAlignment: MainAxisAlignment.center, |
446 | children: [ | 515 | children: [ |
447 | Text( | 516 | Text( |
448 | - '57', | 517 | + bottleinformation.balance.toString() == |
518 | + null | ||
519 | + ? '-' | ||
520 | + : bottleinformation.balance | ||
521 | + .toString(), | ||
449 | textAlign: TextAlign.center, | 522 | textAlign: TextAlign.center, |
450 | textScaleFactor: 1.0, | 523 | textScaleFactor: 1.0, |
451 | style: TextStyle( | 524 | style: TextStyle( |
... | @@ -503,7 +576,9 @@ Widget ineerInformationpage(BuildContext context) { | ... | @@ -503,7 +576,9 @@ Widget ineerInformationpage(BuildContext context) { |
503 | height: size.height * 0.14, | 576 | height: size.height * 0.14, |
504 | child: Center( | 577 | child: Center( |
505 | child: Text( | 578 | child: Text( |
506 | - '15:57', | 579 | + bottleinformation.recentOpen == null |
580 | + ? '-' | ||
581 | + : bottleinformation.recentOpen, | ||
507 | textAlign: TextAlign.center, | 582 | textAlign: TextAlign.center, |
508 | textScaleFactor: 1.0, | 583 | textScaleFactor: 1.0, |
509 | style: TextStyle( | 584 | style: TextStyle( |
... | @@ -529,7 +604,7 @@ Widget ineerInformationpage(BuildContext context) { | ... | @@ -529,7 +604,7 @@ Widget ineerInformationpage(BuildContext context) { |
529 | ); | 604 | ); |
530 | } | 605 | } |
531 | 606 | ||
532 | -Widget outerInformationpage(BuildContext context) { | 607 | +Widget outerInformationpage(BuildContext context, Bottle bottleinformation) { |
533 | final Size size = MediaQuery.of(context).size; | 608 | final Size size = MediaQuery.of(context).size; |
534 | return Scaffold( | 609 | return Scaffold( |
535 | backgroundColor: Colors.white, | 610 | backgroundColor: Colors.white, |
... | @@ -601,7 +676,9 @@ Widget outerInformationpage(BuildContext context) { | ... | @@ -601,7 +676,9 @@ Widget outerInformationpage(BuildContext context) { |
601 | mainAxisAlignment: MainAxisAlignment.center, | 676 | mainAxisAlignment: MainAxisAlignment.center, |
602 | children: [ | 677 | children: [ |
603 | Text( | 678 | Text( |
604 | - '2', | 679 | + bottleinformation.toString() == null |
680 | + ? '-' | ||
681 | + : bottleinformation.toString(), | ||
605 | textAlign: TextAlign.center, | 682 | textAlign: TextAlign.center, |
606 | textScaleFactor: 1.0, | 683 | textScaleFactor: 1.0, |
607 | style: TextStyle( | 684 | style: TextStyle( | ... | ... |
... | @@ -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) { |
... | @@ -210,11 +210,9 @@ class _DetailMedicineState extends State<DetailMedicine> { | ... | @@ -210,11 +210,9 @@ class _DetailMedicineState extends State<DetailMedicine> { |
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 | ); | ... | ... |
... | @@ -95,7 +95,8 @@ class _HubListState extends State<HubList> { | ... | @@ -95,7 +95,8 @@ class _HubListState extends State<HubList> { |
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( | ... | ... |
... | @@ -117,11 +117,12 @@ class _RegisterBottleState extends State<RegisterBottle> { | ... | @@ -117,11 +117,12 @@ class _RegisterBottleState extends State<RegisterBottle> { |
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