Toggle navigation
Toggle navigation
This project
Loading...
Sign in
2021-1-capstone-design1
/
RIT_Project1
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
1
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
고원빈
2021-05-23 03:09:13 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
a1b0c894731d6d8753e94e37914f86f6d27bf494
a1b0c894
1 parent
8c5e6fb2
[frontend] 2021-05-23
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
236 additions
and
19 deletions
frontend/README.md
frontend/flutter_application_1/lib/src/screens/BottleList.dart
frontend/flutter_application_1/lib/src/screens/RegisterBottle.dart
frontend/flutter_application_1/lib/src/screens/RegsiterHub.dart
frontend/flutter_application_1/lib/src/screens/SearchMedicine.dart
frontend/flutter_application_1/lib/src/screens/SignInPage.dart
frontend/flutter_application_1/lib/src/screens/models/Bottle.dart
frontend/flutter_application_1/lib/src/screens/models/Medicine.dart
frontend/README.md
View file @
a1b0c89
...
...
@@ -67,3 +67,5 @@ appbar 관련 디자인은 추후 구현 예정
### 2021-05-21
+
약병 ,허브 리스트 출력 구현
### 2021-05-22
+
약병 검색 기능 구현 중
\ No newline at end of file
...
...
frontend/flutter_application_1/lib/src/screens/BottleList.dart
View file @
a1b0c89
...
...
@@ -16,6 +16,7 @@ class BottleList extends StatefulWidget {
class
_BottleListState
extends
State
<
BottleList
>
{
Widget
build
(
BuildContext
context
)
{
print
(
widget
.
bottlelist
);
final
Size
size
=
MediaQuery
.
of
(
context
).
size
;
return
Scaffold
(
body:
Container
(
...
...
frontend/flutter_application_1/lib/src/screens/RegisterBottle.dart
View file @
a1b0c89
...
...
@@ -5,6 +5,8 @@ import 'package:flutter/material.dart';
import
'package:http/http.dart'
as
http
;
import
'package:flutter_dotenv/flutter_dotenv.dart'
;
import
'SearchMedicine.dart'
;
class
RegisterBottle
extends
StatefulWidget
{
final
String
hubid
;
RegisterBottle
({
Key
key
,
this
.
hubid
})
:
super
(
key:
key
);
...
...
@@ -117,9 +119,7 @@ class _RegisterBottleState extends State<RegisterBottle> {
context
,
MaterialPageRoute
(
builder:
(
BuildContext
context
)
=>
DashBoard
(
pageNumber:
1
,
)));
SearchMedicine
()));
})
],
);
...
...
@@ -129,19 +129,13 @@ class _RegisterBottleState extends State<RegisterBottle> {
context:
context
,
builder:
(
BuildContext
context
)
{
return
AlertDialog
(
title:
new
Text
(
'
약병 등록
'
),
title:
new
Text
(
'
오류
'
),
content:
new
Text
(
saveMessage
),
actions:
<
Widget
>[
new
FlatButton
(
child:
new
Text
(
'Close'
),
onPressed:
()
{
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
(
BuildContext
context
)
=>
DashBoard
(
pageNumber:
1
,
)));
Navigator
.
of
(
context
).
pop
();
})
],
);
...
...
frontend/flutter_application_1/lib/src/screens/RegsiterHub.dart
View file @
a1b0c89
...
...
@@ -50,7 +50,7 @@ class _RegisterHubState extends State<RegisterHub> {
child:
Row
(
children:
<
Widget
>[
Text
(
'
약병
등록'
,
'
허브
등록'
,
textScaleFactor:
1.0
,
style:
TextStyle
(
fontSize:
34
),
)
...
...
@@ -62,7 +62,7 @@ class _RegisterHubState extends State<RegisterHub> {
child:
Row
(
children:
<
Widget
>[
Text
(
'SmartMedicine
회원가입
'
,
'SmartMedicine
허브 등록
'
,
textScaleFactor:
1.0
,
style:
TextStyle
(
fontSize:
16
),
)
...
...
frontend/flutter_application_1/lib/src/screens/SearchMedicine.dart
0 → 100644
View file @
a1b0c89
import
'dart:convert'
;
import
'package:flutter/material.dart'
;
import
'package:flutter/services.dart'
;
import
'package:http/http.dart'
as
http
;
import
'package:flutter_dotenv/flutter_dotenv.dart'
;
import
'models/Bottle.dart'
;
import
'DashBoard.dart'
;
class
SearchMedicine
extends
StatefulWidget
{
@override
_SearchMedicineState
createState
()
=>
_SearchMedicineState
();
}
class
_SearchMedicineState
extends
State
<
SearchMedicine
>
{
final
medicineNameController
=
TextEditingController
();
final
medicineFactureController
=
TextEditingController
();
Widget
build
(
BuildContext
context
)
{
bool
isForward
=
false
;
final
Size
size
=
MediaQuery
.
of
(
context
).
size
;
// int goals = 60;
// int points = 75;
return
Scaffold
(
appBar:
AppBar
(
backgroundColor:
Colors
.
white
,
leading:
new
Icon
(
Icons
.
medical_services_rounded
,
color:
Colors
.
black
,
size:
45.0
),
title:
Text
(
'Smart Medicine Box'
,
style:
TextStyle
(
color:
Colors
.
black
,
fontSize:
23
,
fontFamily:
'Noto'
,
fontWeight:
FontWeight
.
bold
),
),
),
body:
Container
(
height:
size
.
height
,
padding:
const
EdgeInsets
.
all
(
10
),
decoration:
BoxDecoration
(
border:
Border
.
all
(),
),
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
center
,
children:
<
Widget
>[
SizedBox
(
height:
20
),
Container
(
height:
size
.
height
*
0.13
,
decoration:
BoxDecoration
(
border:
Border
.
all
(),
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
25
),
),
child:
Row
(
children:
[
Column
(
children:
[
Container
(
height:
size
.
height
*
0.0635
,
width:
size
.
width
*
0.75
,
child:
Row
(
children:
[
Container
(
width:
size
.
width
*
0.16
,
padding:
const
EdgeInsets
.
fromLTRB
(
10
,
0
,
0
,
0
),
child:
Text
(
'약이름:'
,
textAlign:
TextAlign
.
center
,
style:
TextStyle
(
fontSize:
16
,
fontFamily:
'NotoSansKR'
,
fontWeight:
FontWeight
.
w600
)),
),
Container
(
padding:
const
EdgeInsets
.
fromLTRB
(
5
,
0
,
0
,
0
),
width:
size
.
width
*
0.55
,
child:
TextFormField
(
keyboardType:
TextInputType
.
text
,
controller:
medicineNameController
,
decoration:
InputDecoration
(
border:
InputBorder
.
none
,
focusedBorder:
InputBorder
.
none
,
enabledBorder:
InputBorder
.
none
,
errorBorder:
InputBorder
.
none
,
disabledBorder:
InputBorder
.
none
,
hintText:
'약 이름을 입력하세요'
,
),
style:
TextStyle
(
fontSize:
16
,
fontFamily:
'NotoSansKR'
,
fontWeight:
FontWeight
.
w600
)),
)
],
),
decoration:
BoxDecoration
(
border:
Border
(
bottom:
BorderSide
(
color:
Colors
.
black
,
width:
1
,
style:
BorderStyle
.
solid
),
right:
BorderSide
(
color:
Colors
.
black
,
width:
1
,
style:
BorderStyle
.
solid
),
),
),
),
Container
(
height:
size
.
height
*
0.0635
,
width:
size
.
width
*
0.75
,
child:
Row
(
children:
[
Container
(
width:
size
.
width
*
0.16
,
padding:
const
EdgeInsets
.
fromLTRB
(
5
,
0
,
0
,
3
),
child:
Text
(
'제조사:'
,
textAlign:
TextAlign
.
center
,
style:
TextStyle
(
fontSize:
16
,
fontFamily:
'NotoSansKR'
,
fontWeight:
FontWeight
.
w600
)),
),
Container
(
padding:
const
EdgeInsets
.
fromLTRB
(
6
,
0
,
0
,
0
),
width:
size
.
width
*
0.50
,
child:
TextFormField
(
keyboardType:
TextInputType
.
text
,
controller:
medicineFactureController
,
decoration:
InputDecoration
(
border:
InputBorder
.
none
,
focusedBorder:
InputBorder
.
none
,
enabledBorder:
InputBorder
.
none
,
errorBorder:
InputBorder
.
none
,
disabledBorder:
InputBorder
.
none
,
hintText:
'약 제조사 이름을 입력하세요'
,
),
style:
TextStyle
(
fontSize:
16
,
fontFamily:
'NotoSansKR'
,
fontWeight:
FontWeight
.
w600
)),
)
],
),
decoration:
BoxDecoration
(
border:
Border
(
right:
BorderSide
(
color:
Colors
.
black
,
width:
1
,
style:
BorderStyle
.
solid
),
),
),
),
],
),
Container
(
height:
size
.
height
*
0.0635
*
2
,
width:
size
.
width
*
0.14
,
padding:
const
EdgeInsets
.
fromLTRB
(
10
,
0
,
0
,
0
),
child:
IconButton
(
icon:
Icon
(
Icons
.
search
,
size:
40
),
onPressed:
()
{
//검색 함수를 여기다가
},
),
),
],
),
),
SizedBox
(
height:
20
),
Expanded
(
child:
ListView
.
separated
(
itemBuilder:
(
BuildContext
context
,
int
index
)
{},
separatorBuilder:
(
BuildContext
contetx
,
int
index
)
=>
const
Divider
(),
itemCount:
0
))
],
),
),
);
}
}
frontend/flutter_application_1/lib/src/screens/SignInPage.dart
View file @
a1b0c89
...
...
@@ -48,14 +48,15 @@ class _SignInPageState extends State<SignInPage> {
await
http
.
get
(
Uri
.
encodeFull
(
DotEnv
().
env
[
'SERVER_URL'
]
+
'hub'
));
List
<
dynamic
>
values
=
new
List
<
dynamic
>();
values
=
json
.
decode
(
response
.
body
);
if
(
_hublist
.
length
!=
0
)
{
_hublist
.
clear
();
}
for
(
int
i
=
0
;
i
<
values
.
length
;
i
++)
{
_hublist
.
add
(
values
[
i
][
'hubId'
]);
}
if
(
response
.
statusCode
==
200
)
{
values
=
json
.
decode
(
response
.
body
);
for
(
int
i
=
0
;
i
<
values
.
length
;
i
++)
{
_hublist
.
add
(
values
[
i
][
'hubId'
]);
}
return
"get완료"
;
}
else
if
(
response
.
statusCode
==
404
)
{
return
"Not Found"
;
...
...
frontend/flutter_application_1/lib/src/screens/models/Bottle.dart
View file @
a1b0c89
...
...
@@ -19,8 +19,6 @@ class Bottle {
this
.
dosage
});
factory
Bottle
.
fromJson
(
Map
<
String
,
dynamic
>
parsedJson
)
{
var
list
=
parsedJson
[
'data'
]
as
List
;
return
Bottle
(
bottleId:
parsedJson
[
'bottleId'
],
temperature:
parsedJson
[
'temperature'
],
...
...
frontend/flutter_application_1/lib/src/screens/models/Medicine.dart
0 → 100644
View file @
a1b0c89
class
Medicine
{
final
int
medicineId
;
final
String
antiEffect
;
final
String
company
;
final
String
dosage
;
final
String
name
;
final
String
target
;
final
String
warn
;
Medicine
(
{
this
.
medicineId
,
this
.
antiEffect
,
this
.
company
,
this
.
dosage
,
this
.
name
,
this
.
target
,
this
.
warn
});
factory
Medicine
.
fromJson
(
Map
<
String
,
dynamic
>
parsedJson
)
{
return
Medicine
(
medicineId:
parsedJson
[
'medicineId'
],
antiEffect:
parsedJson
[
'antiEffect'
],
company:
parsedJson
[
'company'
],
dosage:
parsedJson
[
'dosage'
],
name:
parsedJson
[
'name'
],
target:
parsedJson
[
'target'
],
warn:
parsedJson
[
'warn'
],
);
}
Map
<
String
,
dynamic
>
toJson
()
=>
{
"medicineId"
:
medicineId
,
"antiEffect"
:
antiEffect
,
"company"
:
company
,
"dosage"
:
dosage
,
"name"
:
name
,
"target"
:
target
,
"warn"
:
warn
,
};
}
Please
register
or
login
to post a comment