Showing
7 changed files
with
150 additions
and
60 deletions
| 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/Register/BottleList.dart'; | ||
| 2 | import 'package:flutter/cupertino.dart'; | 3 | import 'package:flutter/cupertino.dart'; |
| 3 | import 'dart:convert'; | 4 | import 'dart:convert'; |
| 4 | import 'package:flutter/material.dart'; | 5 | import 'package:flutter/material.dart'; |
| ... | @@ -10,7 +11,8 @@ import '../../utils/user_secure_stoarge.dart'; | ... | @@ -10,7 +11,8 @@ import '../../utils/user_secure_stoarge.dart'; |
| 10 | 11 | ||
| 11 | class RegisterBottle extends StatefulWidget { | 12 | class RegisterBottle extends StatefulWidget { |
| 12 | final String hubid; | 13 | final String hubid; |
| 13 | - RegisterBottle({Key key, this.hubid}) : super(key: key); | 14 | + final bool modify_bottle; |
| 15 | + RegisterBottle({Key key, this.hubid, this.modify_bottle}) : super(key: key); | ||
| 14 | @override | 16 | @override |
| 15 | _RegisterBottleState createState() => _RegisterBottleState(); | 17 | _RegisterBottleState createState() => _RegisterBottleState(); |
| 16 | } | 18 | } |
| ... | @@ -106,7 +108,8 @@ class _RegisterBottleState extends State<RegisterBottle> { | ... | @@ -106,7 +108,8 @@ class _RegisterBottleState extends State<RegisterBottle> { |
| 106 | onPressed: () async { | 108 | onPressed: () async { |
| 107 | String saveMessage = await registerhub_Validate(); | 109 | String saveMessage = await registerhub_Validate(); |
| 108 | print(saveMessage); | 110 | print(saveMessage); |
| 109 | - if (saveMessage == "등록 완료") { | 111 | + print(widget.modify_bottle); |
| 112 | + if (saveMessage == "등록 완료" && widget.modify_bottle == false) { | ||
| 110 | showDialog( | 113 | showDialog( |
| 111 | context: context, | 114 | context: context, |
| 112 | builder: (BuildContext context) { | 115 | builder: (BuildContext context) { |
| ... | @@ -132,7 +135,29 @@ class _RegisterBottleState extends State<RegisterBottle> { | ... | @@ -132,7 +135,29 @@ class _RegisterBottleState extends State<RegisterBottle> { |
| 132 | ), | 135 | ), |
| 133 | ], | 136 | ], |
| 134 | ); | 137 | ); |
| 135 | - }); | 138 | + }, |
| 139 | + ); | ||
| 140 | + } else if (saveMessage == "등록 완료" && | ||
| 141 | + widget.modify_bottle == true) { | ||
| 142 | + print('asdg'); | ||
| 143 | + await showDialog( | ||
| 144 | + context: context, | ||
| 145 | + builder: (BuildContext context) { | ||
| 146 | + return AlertDialog( | ||
| 147 | + title: new Text('약병 등록'), | ||
| 148 | + content: new Text('약병 등록이 완료 되었습니다.'), | ||
| 149 | + actions: <Widget>[ | ||
| 150 | + new FlatButton( | ||
| 151 | + child: new Text('Close'), | ||
| 152 | + onPressed: () { | ||
| 153 | + Navigator.of(context).pop(); | ||
| 154 | + }, | ||
| 155 | + ), | ||
| 156 | + ], | ||
| 157 | + ); | ||
| 158 | + }, | ||
| 159 | + ); | ||
| 160 | + Navigator.of(context).pop(); | ||
| 136 | } else { | 161 | } else { |
| 137 | showDialog( | 162 | showDialog( |
| 138 | context: context, | 163 | context: context, |
| ... | @@ -145,10 +170,12 @@ class _RegisterBottleState extends State<RegisterBottle> { | ... | @@ -145,10 +170,12 @@ class _RegisterBottleState extends State<RegisterBottle> { |
| 145 | child: new Text('Close'), | 170 | child: new Text('Close'), |
| 146 | onPressed: () { | 171 | onPressed: () { |
| 147 | Navigator.of(context).pop(); | 172 | Navigator.of(context).pop(); |
| 148 | - }) | 173 | + }, |
| 174 | + ) | ||
| 149 | ], | 175 | ], |
| 150 | ); | 176 | ); |
| 151 | - }); | 177 | + }, |
| 178 | + ); | ||
| 152 | } | 179 | } |
| 153 | }, | 180 | }, |
| 154 | shape: RoundedRectangleBorder( | 181 | shape: RoundedRectangleBorder( |
| ... | @@ -167,25 +194,6 @@ class _RegisterBottleState extends State<RegisterBottle> { | ... | @@ -167,25 +194,6 @@ class _RegisterBottleState extends State<RegisterBottle> { |
| 167 | ) | 194 | ) |
| 168 | ], | 195 | ], |
| 169 | ), | 196 | ), |
| 170 | - bottomNavigationBar: BottomAppBar( | ||
| 171 | - elevation: 0, | ||
| 172 | - child: Container( | ||
| 173 | - height: 70, | ||
| 174 | - child: Column( | ||
| 175 | - mainAxisAlignment: MainAxisAlignment.start, | ||
| 176 | - children: <Widget>[ | ||
| 177 | - Padding( | ||
| 178 | - padding: const EdgeInsets.fromLTRB(70, 0, 70, 0), | ||
| 179 | - child: Text( | ||
| 180 | - '회원 가입시, 이용 약관 및 개인정보 처리 방침에 동의하는 것으로 간주합니다..', | ||
| 181 | - style: TextStyle(fontSize: 12, color: Color(0xff747474)), | ||
| 182 | - textAlign: TextAlign.center, | ||
| 183 | - ), | ||
| 184 | - ) | ||
| 185 | - ], | ||
| 186 | - ), | ||
| 187 | - ), | ||
| 188 | - ), | ||
| 189 | ); | 197 | ); |
| 190 | } | 198 | } |
| 191 | } | 199 | } | ... | ... |
| 1 | +import 'package:Smart_Medicine_Box/src/screens/SettingPage/HubModifyList.dart'; | ||
| 1 | import 'package:flutter/cupertino.dart'; | 2 | import 'package:flutter/cupertino.dart'; |
| 2 | import 'dart:convert'; | 3 | import 'dart:convert'; |
| 3 | import 'package:flutter/material.dart'; | 4 | import 'package:flutter/material.dart'; |
| ... | @@ -8,6 +9,9 @@ import 'RegisterBottle.dart'; | ... | @@ -8,6 +9,9 @@ import 'RegisterBottle.dart'; |
| 8 | import '../../utils/user_secure_stoarge.dart'; | 9 | import '../../utils/user_secure_stoarge.dart'; |
| 9 | 10 | ||
| 10 | class RegisterHub extends StatefulWidget { | 11 | class RegisterHub extends StatefulWidget { |
| 12 | + final int modify_hub; | ||
| 13 | + | ||
| 14 | + RegisterHub({Key key, this.modify_hub}) : super(key: key); | ||
| 11 | @override | 15 | @override |
| 12 | _RegisterHubState createState() => _RegisterHubState(); | 16 | _RegisterHubState createState() => _RegisterHubState(); |
| 13 | } | 17 | } |
| ... | @@ -31,7 +35,7 @@ class _RegisterHubState extends State<RegisterHub> { | ... | @@ -31,7 +35,7 @@ class _RegisterHubState extends State<RegisterHub> { |
| 31 | 'host': medicineHubHostController.text, | 35 | 'host': medicineHubHostController.text, |
| 32 | 'port': medicineHubPortController.text, | 36 | 'port': medicineHubPortController.text, |
| 33 | })); | 37 | })); |
| 34 | - | 38 | + print(hubresponse.statusCode); |
| 35 | if (hubresponse.statusCode == 201) { | 39 | if (hubresponse.statusCode == 201) { |
| 36 | return "허브 등록 완료"; | 40 | return "허브 등록 완료"; |
| 37 | } else if (hubresponse.statusCode == 409) { | 41 | } else if (hubresponse.statusCode == 409) { |
| ... | @@ -118,14 +122,40 @@ class _RegisterHubState extends State<RegisterHub> { | ... | @@ -118,14 +122,40 @@ class _RegisterHubState extends State<RegisterHub> { |
| 118 | child: RaisedButton( | 122 | child: RaisedButton( |
| 119 | onPressed: () async { | 123 | onPressed: () async { |
| 120 | String saveMessage = await registerhub_Validate(); | 124 | String saveMessage = await registerhub_Validate(); |
| 121 | - if (saveMessage == "허브 등록 완료") { | 125 | + print(saveMessage); |
| 126 | + print(widget.modify_hub); | ||
| 127 | + if (saveMessage == "허브 등록 완료" && widget.modify_hub == 0) { | ||
| 122 | UserSecureStorage.setHubId(medicineHubIDController.text); | 128 | UserSecureStorage.setHubId(medicineHubIDController.text); |
| 123 | Navigator.push( | 129 | Navigator.push( |
| 124 | context, | 130 | context, |
| 125 | MaterialPageRoute( | 131 | MaterialPageRoute( |
| 126 | - builder: (BuildContext context) => | 132 | + builder: (BuildContext context) => RegisterBottle( |
| 127 | - RegisterBottle(hubid: medicineHubIDController.text), | 133 | + hubid: medicineHubIDController.text, |
| 128 | - )); | 134 | + modify_bottle: false, |
| 135 | + ), | ||
| 136 | + ), | ||
| 137 | + ); | ||
| 138 | + } else if (saveMessage == "허브 등록 완료" && | ||
| 139 | + widget.modify_hub == 1) { | ||
| 140 | + Navigator.of(context).pop(); | ||
| 141 | + } else { | ||
| 142 | + showDialog( | ||
| 143 | + context: context, | ||
| 144 | + builder: (BuildContext context) { | ||
| 145 | + return AlertDialog( | ||
| 146 | + title: new Text('오류'), | ||
| 147 | + content: new Text(saveMessage), | ||
| 148 | + actions: <Widget>[ | ||
| 149 | + new FlatButton( | ||
| 150 | + child: new Text('close'), | ||
| 151 | + onPressed: () { | ||
| 152 | + Navigator.of(context).pop(); | ||
| 153 | + }, | ||
| 154 | + ) | ||
| 155 | + ], | ||
| 156 | + ); | ||
| 157 | + }, | ||
| 158 | + ); | ||
| 129 | } | 159 | } |
| 130 | }, | 160 | }, |
| 131 | shape: RoundedRectangleBorder( | 161 | shape: RoundedRectangleBorder( |
| ... | @@ -133,7 +163,7 @@ class _RegisterHubState extends State<RegisterHub> { | ... | @@ -133,7 +163,7 @@ class _RegisterHubState extends State<RegisterHub> { |
| 133 | side: BorderSide(color: Colors.blue)), | 163 | side: BorderSide(color: Colors.blue)), |
| 134 | color: Color(0xff1674f6), | 164 | color: Color(0xff1674f6), |
| 135 | child: Text( | 165 | child: Text( |
| 136 | - ' 허브 등록 ', | 166 | + '허브 등록 ', |
| 137 | textScaleFactor: 1.0, | 167 | textScaleFactor: 1.0, |
| 138 | style: TextStyle( | 168 | style: TextStyle( |
| 139 | fontSize: 16, | 169 | fontSize: 16, |
| ... | @@ -144,25 +174,6 @@ class _RegisterHubState extends State<RegisterHub> { | ... | @@ -144,25 +174,6 @@ class _RegisterHubState extends State<RegisterHub> { |
| 144 | ) | 174 | ) |
| 145 | ], | 175 | ], |
| 146 | ), | 176 | ), |
| 147 | - bottomNavigationBar: BottomAppBar( | ||
| 148 | - elevation: 0, | ||
| 149 | - child: Container( | ||
| 150 | - height: 70, | ||
| 151 | - child: Column( | ||
| 152 | - mainAxisAlignment: MainAxisAlignment.start, | ||
| 153 | - children: <Widget>[ | ||
| 154 | - Padding( | ||
| 155 | - padding: const EdgeInsets.fromLTRB(70, 0, 70, 0), | ||
| 156 | - child: Text( | ||
| 157 | - '회원 가입시, 이용 약관 및 개인정보 처리 방침에 동의하는 것으로 간주합니다..', | ||
| 158 | - style: TextStyle(fontSize: 12, color: Color(0xff747474)), | ||
| 159 | - textAlign: TextAlign.center, | ||
| 160 | - ), | ||
| 161 | - ) | ||
| 162 | - ], | ||
| 163 | - ), | ||
| 164 | - ), | ||
| 165 | - ), | ||
| 166 | ); | 177 | ); |
| 167 | } | 178 | } |
| 168 | } | 179 | } | ... | ... |
| ... | @@ -235,9 +235,9 @@ class _SignInPageState extends State<SignInPage> { | ... | @@ -235,9 +235,9 @@ class _SignInPageState extends State<SignInPage> { |
| 235 | Navigator.push( | 235 | Navigator.push( |
| 236 | context, | 236 | context, |
| 237 | MaterialPageRoute( | 237 | MaterialPageRoute( |
| 238 | - builder: | 238 | + builder: (BuildContext |
| 239 | - (BuildContext context) => | 239 | + context) => |
| 240 | - RegisterHub(), | 240 | + RegisterHub(modify_hub: 0), |
| 241 | )); | 241 | )); |
| 242 | } else if (result == "get완료") { | 242 | } else if (result == "get완료") { |
| 243 | UserSecureStorage.setUserId( | 243 | UserSecureStorage.setUserId( | ... | ... |
| ... | @@ -3,8 +3,7 @@ import 'package:flutter/material.dart'; | ... | @@ -3,8 +3,7 @@ import 'package:flutter/material.dart'; |
| 3 | import 'package:Smart_Medicine_Box/src/screens/DashBoard.dart'; | 3 | import 'package:Smart_Medicine_Box/src/screens/DashBoard.dart'; |
| 4 | import 'package:Smart_Medicine_Box/src/screens/SettingPage/Alarm.dart'; | 4 | import 'package:Smart_Medicine_Box/src/screens/SettingPage/Alarm.dart'; |
| 5 | import 'package:Smart_Medicine_Box/src/screens/SettingPage/DEVInformation.dart'; | 5 | import 'package:Smart_Medicine_Box/src/screens/SettingPage/DEVInformation.dart'; |
| 6 | -import 'package:Smart_Medicine_Box/src/screens/SettingPage/InformationModify.dart'; | 6 | +import 'package:Smart_Medicine_Box/src/screens/SettingPage/BottleModifyList.dart'; |
| 7 | -import '../screens/Register/HubList.dart'; | ||
| 8 | 7 | ||
| 9 | class SettingPage extends StatefulWidget { | 8 | class SettingPage extends StatefulWidget { |
| 10 | @override | 9 | @override |
| ... | @@ -134,7 +133,7 @@ class _SettingPageState extends State<SettingPage> { | ... | @@ -134,7 +133,7 @@ class _SettingPageState extends State<SettingPage> { |
| 134 | )); | 133 | )); |
| 135 | }, | 134 | }, |
| 136 | child: Text( | 135 | child: Text( |
| 137 | - '허브 등록', | 136 | + '허브 관리', |
| 138 | textScaleFactor: 1.0, | 137 | textScaleFactor: 1.0, |
| 139 | style: TextStyle( | 138 | style: TextStyle( |
| 140 | color: Colors.white, | 139 | color: Colors.white, |
| ... | @@ -159,11 +158,11 @@ class _SettingPageState extends State<SettingPage> { | ... | @@ -159,11 +158,11 @@ class _SettingPageState extends State<SettingPage> { |
| 159 | context, | 158 | context, |
| 160 | MaterialPageRoute( | 159 | MaterialPageRoute( |
| 161 | builder: (BuildContext context) => | 160 | builder: (BuildContext context) => |
| 162 | - InformationModify(), | 161 | + BottleModifyList(), |
| 163 | )); | 162 | )); |
| 164 | }, | 163 | }, |
| 165 | child: Text( | 164 | child: Text( |
| 166 | - '회원 정보 수정', | 165 | + '약병 관리', |
| 167 | textScaleFactor: 1.0, | 166 | textScaleFactor: 1.0, |
| 168 | style: TextStyle( | 167 | style: TextStyle( |
| 169 | color: Colors.white, | 168 | color: Colors.white, | ... | ... |
This diff is collapsed. Click to expand it.
| 1 | +import 'package:Smart_Medicine_Box/src/screens/Register/RegsiterHub.dart'; | ||
| 1 | import 'package:flutter/cupertino.dart'; | 2 | import 'package:flutter/cupertino.dart'; |
| 2 | import 'package:flutter/material.dart'; | 3 | import 'package:flutter/material.dart'; |
| 3 | import 'dart:convert'; | 4 | import 'dart:convert'; |
| 4 | import 'package:http/http.dart' as http; | 5 | import 'package:http/http.dart' as http; |
| 5 | import 'package:flutter_dotenv/flutter_dotenv.dart'; | 6 | import 'package:flutter_dotenv/flutter_dotenv.dart'; |
| 6 | // Screen import | 7 | // Screen import |
| 7 | -import '../models/Bottle.dart'; | ||
| 8 | import '../../utils/user_secure_stoarge.dart'; | 8 | import '../../utils/user_secure_stoarge.dart'; |
| 9 | 9 | ||
| 10 | class HubModifyList extends StatefulWidget { | 10 | class HubModifyList extends StatefulWidget { |
| ... | @@ -42,6 +42,19 @@ class _HubModifyListState extends State<HubModifyList> { | ... | @@ -42,6 +42,19 @@ class _HubModifyListState extends State<HubModifyList> { |
| 42 | } | 42 | } |
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | + Future<String> deleteHub(int index) async { | ||
| 46 | + String usertoken = await UserSecureStorage.getUserToken(); | ||
| 47 | + http.Response response = await http.delete( | ||
| 48 | + Uri.encodeFull(DotEnv().env['SERVER_URL'] + 'hub/' + index.toString()), | ||
| 49 | + headers: {"authorization": usertoken}, | ||
| 50 | + ); | ||
| 51 | + if (response.statusCode == 204) { | ||
| 52 | + return "Delete"; | ||
| 53 | + } else { | ||
| 54 | + return "Error"; | ||
| 55 | + } | ||
| 56 | + } | ||
| 57 | + | ||
| 45 | Widget build(BuildContext context) { | 58 | Widget build(BuildContext context) { |
| 46 | final Size size = MediaQuery.of(context).size; | 59 | final Size size = MediaQuery.of(context).size; |
| 47 | return Scaffold( | 60 | return Scaffold( |
| ... | @@ -117,8 +130,55 @@ class _HubModifyListState extends State<HubModifyList> { | ... | @@ -117,8 +130,55 @@ class _HubModifyListState extends State<HubModifyList> { |
| 117 | ), | 130 | ), |
| 118 | trailing: Icon(Icons.highlight_remove), | 131 | trailing: Icon(Icons.highlight_remove), |
| 119 | onTap: () async { | 132 | onTap: () async { |
| 120 | - print('삭제 할거임'); | 133 | + if (_hublist.length == 1) { |
| 134 | + showDialog( | ||
| 135 | + context: context, | ||
| 136 | + builder: (BuildContext context) { | ||
| 137 | + return AlertDialog( | ||
| 138 | + title: new Text('허브 삭제'), | ||
| 139 | + content: new Text( | ||
| 140 | + '등록된 허브가 하나이므로 해제가 불가능 합니다.'), | ||
| 141 | + actions: <Widget>[ | ||
| 142 | + new FlatButton( | ||
| 143 | + child: new Text('Cloes'), | ||
| 144 | + onPressed: () { | ||
| 145 | + Navigator.of(context).pop(); | ||
| 121 | }), | 146 | }), |
| 147 | + ], | ||
| 148 | + ); | ||
| 149 | + }, | ||
| 150 | + ); | ||
| 151 | + } else { | ||
| 152 | + showDialog( | ||
| 153 | + context: context, | ||
| 154 | + builder: (BuildContext context) { | ||
| 155 | + return AlertDialog( | ||
| 156 | + title: new Text('허브 삭제'), | ||
| 157 | + content: new Text( | ||
| 158 | + _hublist[index].toString() + | ||
| 159 | + '을 삭제 하시겠습니까?'), | ||
| 160 | + actions: <Widget>[ | ||
| 161 | + new FlatButton( | ||
| 162 | + child: new Text('삭제'), | ||
| 163 | + onPressed: () async { | ||
| 164 | + await deleteHub(_hublist[index]); | ||
| 165 | + setState(() {}); | ||
| 166 | + Navigator.of(context).pop(); | ||
| 167 | + }, | ||
| 168 | + ), | ||
| 169 | + new FlatButton( | ||
| 170 | + child: new Text('취소'), | ||
| 171 | + onPressed: () { | ||
| 172 | + Navigator.of(context).pop(); | ||
| 173 | + }, | ||
| 174 | + ) | ||
| 175 | + ], | ||
| 176 | + ); | ||
| 177 | + }, | ||
| 178 | + ); | ||
| 179 | + } | ||
| 180 | + }, | ||
| 181 | + ), | ||
| 122 | ); | 182 | ); |
| 123 | }, | 183 | }, |
| 124 | separatorBuilder: (BuildContext contetx, int index) => | 184 | separatorBuilder: (BuildContext contetx, int index) => |
| ... | @@ -132,7 +192,16 @@ class _HubModifyListState extends State<HubModifyList> { | ... | @@ -132,7 +192,16 @@ class _HubModifyListState extends State<HubModifyList> { |
| 132 | margin: EdgeInsets.only(bottom: 0), | 192 | margin: EdgeInsets.only(bottom: 0), |
| 133 | child: FlatButton( | 193 | child: FlatButton( |
| 134 | height: size.height * 0.07, | 194 | height: size.height * 0.07, |
| 135 | - onPressed: () {}, | 195 | + onPressed: () async { |
| 196 | + await Navigator.push( | ||
| 197 | + context, | ||
| 198 | + MaterialPageRoute( | ||
| 199 | + builder: (BuildContext context) => | ||
| 200 | + RegisterHub(modify_hub: 1), | ||
| 201 | + ), | ||
| 202 | + ); | ||
| 203 | + setState(() {}); | ||
| 204 | + }, | ||
| 136 | child: Text( | 205 | child: Text( |
| 137 | '허브 추가', | 206 | '허브 추가', |
| 138 | textScaleFactor: 1.0, | 207 | textScaleFactor: 1.0, | ... | ... |
-
Please register or login to post a comment