Showing
9 changed files
with
114 additions
and
17 deletions
| @@ -37,7 +37,9 @@ import 'package:one_key/models/message.dart'; | @@ -37,7 +37,9 @@ import 'package:one_key/models/message.dart'; | ||
| 37 | class HomePage extends StatefulWidget { | 37 | class HomePage extends StatefulWidget { |
| 38 | final int initialIndex; //初始tab | 38 | final int initialIndex; //初始tab |
| 39 | 39 | ||
| 40 | - HomePage({this.initialIndex = 1}); | 40 | + final bool needReresh; |
| 41 | + | ||
| 42 | + HomePage({this.initialIndex = 1, this.needReresh = true}); | ||
| 41 | 43 | ||
| 42 | @override | 44 | @override |
| 43 | State<StatefulWidget> createState() { | 45 | State<StatefulWidget> createState() { |
| @@ -61,12 +63,14 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | @@ -61,12 +63,14 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | ||
| 61 | DateTime lastBack; | 63 | DateTime lastBack; |
| 62 | PageController _pageController; | 64 | PageController _pageController; |
| 63 | bool needUpdate = true; | 65 | bool needUpdate = true; |
| 66 | + bool needRefreshTemp = true; | ||
| 64 | 67 | ||
| 65 | @override | 68 | @override |
| 66 | void initState() { | 69 | void initState() { |
| 67 | // TODO: implement initState | 70 | // TODO: implement initState |
| 68 | super.initState(); | 71 | super.initState(); |
| 69 | LogUtil.v("home_initState"); | 72 | LogUtil.v("home_initState"); |
| 73 | + needRefreshTemp = widget.needReresh; | ||
| 70 | 74 | ||
| 71 | AzhonAppUpdate.listener( | 75 | AzhonAppUpdate.listener( |
| 72 | // () { | 76 | // () { |
| @@ -136,7 +140,9 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | @@ -136,7 +140,9 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | ||
| 136 | }); | 140 | }); |
| 137 | } | 141 | } |
| 138 | } | 142 | } |
| 139 | - if (widget.initialIndex == 0) return; | 143 | + // if (widget.initialIndex == 0 || |
| 144 | + if (widget.initialIndex == 1 && needRefreshTemp == false) return; | ||
| 145 | + | ||
| 140 | _getIntent(); | 146 | _getIntent(); |
| 141 | Future.delayed(Duration(milliseconds: 30000), () { | 147 | Future.delayed(Duration(milliseconds: 30000), () { |
| 142 | ContactModel.getInstance().uploadLocalContact(context); | 148 | ContactModel.getInstance().uploadLocalContact(context); |
| @@ -249,7 +255,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | @@ -249,7 +255,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | ||
| 249 | break; | 255 | break; |
| 250 | case "15": | 256 | case "15": |
| 251 | //店内消息 | 257 | //店内消息 |
| 252 | - NavigatorUtil.goHomePage(context, initialIndex: 1); | 258 | + NavigatorUtil.goHomePage(context, |
| 259 | + initialIndex: 1, needRefresh: false); | ||
| 253 | break; | 260 | break; |
| 254 | 261 | ||
| 255 | case "1": | 262 | case "1": |
| @@ -410,6 +417,16 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | @@ -410,6 +417,16 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | ||
| 410 | case "15": | 417 | case "15": |
| 411 | //店内消息 | 418 | //店内消息 |
| 412 | NavigatorUtil.goHomePage(context, initialIndex: 1); | 419 | NavigatorUtil.goHomePage(context, initialIndex: 1); |
| 420 | + Map<String, String> params = { | ||
| 421 | + "sid": Provider.of<UserModel>(context, listen: false) | ||
| 422 | + .user | ||
| 423 | + .sellerid, | ||
| 424 | + "id": custom['mid'], | ||
| 425 | + "status": "is_read" | ||
| 426 | + }; | ||
| 427 | + MessageDialogModel messageDialogModel = | ||
| 428 | + Provider.of<MessageDialogModel>(context, listen: false); | ||
| 429 | + await messageDialogModel.setMessageStatus(context, params); | ||
| 413 | break; | 430 | break; |
| 414 | 431 | ||
| 415 | case "1": | 432 | case "1": |
| @@ -530,6 +547,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | @@ -530,6 +547,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | ||
| 530 | super.didChangeAppLifecycleState(state); | 547 | super.didChangeAppLifecycleState(state); |
| 531 | switch (state) { | 548 | switch (state) { |
| 532 | case AppLifecycleState.resumed: //应用前台可见 | 549 | case AppLifecycleState.resumed: //应用前台可见 |
| 550 | + if (widget.initialIndex == 1 && needRefreshTemp == false) return; | ||
| 551 | + | ||
| 533 | _clearBadge(() { | 552 | _clearBadge(() { |
| 534 | _getAllUnMessages(); | 553 | _getAllUnMessages(); |
| 535 | }); | 554 | }); |
| @@ -540,6 +559,7 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | @@ -540,6 +559,7 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | ||
| 540 | break; | 559 | break; |
| 541 | case AppLifecycleState.paused: | 560 | case AppLifecycleState.paused: |
| 542 | print('paused'); | 561 | print('paused'); |
| 562 | + needRefreshTemp = true; | ||
| 543 | break; | 563 | break; |
| 544 | case AppLifecycleState.detached: | 564 | case AppLifecycleState.detached: |
| 545 | print('detached'); | 565 | print('detached'); |
| @@ -610,9 +630,9 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | @@ -610,9 +630,9 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { | ||
| 610 | // "type_id": "10", //1提前点餐2内部预订10在线预订 | 630 | // "type_id": "10", //1提前点餐2内部预订10在线预订 |
| 611 | // "status": '0', | 631 | // "status": '0', |
| 612 | "offset": '0', | 632 | "offset": '0', |
| 613 | - "limit": "20", | 633 | + "limit": "1000", |
| 614 | }; | 634 | }; |
| 615 | - await messageModel.getNewGetUntreatedMsgList(context, params, | 635 | + await messageModel.getNewGetUntreatedMsgNum(context, params, |
| 616 | showLoading: false); | 636 | showLoading: false); |
| 617 | setState(() {}); | 637 | setState(() {}); |
| 618 | } | 638 | } |
| @@ -166,6 +166,20 @@ class MessageItemF extends StatelessWidget { | @@ -166,6 +166,20 @@ class MessageItemF extends StatelessWidget { | ||
| 166 | }; | 166 | }; |
| 167 | await messageDialogModel.setMessageStatus(context, params); | 167 | await messageDialogModel.setMessageStatus(context, params); |
| 168 | bus.emit("refresh_untreated_num"); //刷新未读消息数目 | 168 | bus.emit("refresh_untreated_num"); //刷新未读消息数目 |
| 169 | + } else if (message.message_type == "15") { | ||
| 170 | + //店内消息 | ||
| 171 | + NavigatorUtil.goHomePage(context, initialIndex: 1,needRefresh: false); | ||
| 172 | + bus.emit("remove_untreated_message", message.id); | ||
| 173 | + | ||
| 174 | + Map<String, String> params = { | ||
| 175 | + "sid": Provider.of<UserModel>(context, listen: false) | ||
| 176 | + .user | ||
| 177 | + .sellerid, | ||
| 178 | + "id": message.id, | ||
| 179 | + "status": message.message_type == "1" ? "is_read" : "is_handle" | ||
| 180 | + }; | ||
| 181 | + await messageDialogModel.setMessageStatus(context, params); | ||
| 182 | + bus.emit("refresh_untreated_num"); //刷新未读消息数目 | ||
| 169 | } | 183 | } |
| 170 | } | 184 | } |
| 171 | }, | 185 | }, |
| @@ -522,6 +536,22 @@ class MessageItemF extends StatelessWidget { | @@ -522,6 +536,22 @@ class MessageItemF extends StatelessWidget { | ||
| 522 | await messageDialogModel.setMessageStatus( | 536 | await messageDialogModel.setMessageStatus( |
| 523 | context, params); | 537 | context, params); |
| 524 | bus.emit("refresh_untreated_num"); //刷新未读消息数目 | 538 | bus.emit("refresh_untreated_num"); //刷新未读消息数目 |
| 539 | + } else if (message.message_type == "15") { | ||
| 540 | + //店内消息 | ||
| 541 | + NavigatorUtil.goHomePage(context, initialIndex: 1,needRefresh: false); | ||
| 542 | + bus.emit("remove_untreated_message", message.id); | ||
| 543 | + Map<String, String> params = { | ||
| 544 | + "sid": Provider.of<UserModel>(context, listen: false) | ||
| 545 | + .user | ||
| 546 | + .sellerid, | ||
| 547 | + "id": message.id, | ||
| 548 | + "status": message.message_type == "1" | ||
| 549 | + ? "is_read" | ||
| 550 | + : "is_handle" | ||
| 551 | + }; | ||
| 552 | + await messageDialogModel.setMessageStatus( | ||
| 553 | + context, params); | ||
| 554 | + bus.emit("refresh_untreated_num"); //刷新未读消息数目 | ||
| 525 | } | 555 | } |
| 526 | }, | 556 | }, |
| 527 | child: Image.asset( | 557 | child: Image.asset( |
| @@ -73,10 +73,10 @@ class MessagePageState extends State<MessagePage> | @@ -73,10 +73,10 @@ class MessagePageState extends State<MessagePage> | ||
| 73 | // "type_id": "10", //1提前点餐2内部预订10在线预订 | 73 | // "type_id": "10", //1提前点餐2内部预订10在线预订 |
| 74 | // "status": '0', | 74 | // "status": '0', |
| 75 | "offset": '0', | 75 | "offset": '0', |
| 76 | - "limit": "20", | 76 | + "limit": "1000", |
| 77 | }; | 77 | }; |
| 78 | 78 | ||
| 79 | - await messageModel.getNewGetUntreatedMsgList(context, params, | 79 | + await messageModel.getNewGetUntreatedMsgNum(context, params, |
| 80 | showLoading: false); | 80 | showLoading: false); |
| 81 | } | 81 | } |
| 82 | } | 82 | } |
| @@ -177,8 +177,8 @@ class MessageUntreatedPageState extends State<MessageUntreatedPage> { | @@ -177,8 +177,8 @@ class MessageUntreatedPageState extends State<MessageUntreatedPage> { | ||
| 177 | getMessage(showLoading: false); | 177 | getMessage(showLoading: false); |
| 178 | }, | 178 | }, |
| 179 | onLoad: () async { | 179 | onLoad: () async { |
| 180 | - offset++; | ||
| 181 | - getMessage(showLoading: false); | 180 | + // offset++; |
| 181 | + // getMessage(showLoading: false); | ||
| 182 | }, | 182 | }, |
| 183 | ); | 183 | ); |
| 184 | } | 184 | } |
| @@ -474,7 +474,8 @@ class _BaseInfoPageState extends State<BaseInfoPage> { | @@ -474,7 +474,8 @@ class _BaseInfoPageState extends State<BaseInfoPage> { | ||
| 474 | width: ScreenUtil().setWidth(imgSize * 2), | 474 | width: ScreenUtil().setWidth(imgSize * 2), |
| 475 | height: ScreenUtil().setWidth(imgSize * 2), | 475 | height: ScreenUtil().setWidth(imgSize * 2), |
| 476 | ) | 476 | ) |
| 477 | - : App.sp.getString("headImg") == '' | 477 | + : App.sp.getString("headImg") == '' || |
| 478 | + App.sp.getString("headImg") == null | ||
| 478 | ? Image.asset( | 479 | ? Image.asset( |
| 479 | Utils.getImgPath(title == '头像' | 480 | Utils.getImgPath(title == '头像' |
| 480 | ? 'base_tx_mr' | 481 | ? 'base_tx_mr' |
| @@ -92,6 +92,44 @@ class MessageModel extends ChangeNotifier { | @@ -92,6 +92,44 @@ class MessageModel extends ChangeNotifier { | ||
| 92 | } | 92 | } |
| 93 | } | 93 | } |
| 94 | 94 | ||
| 95 | + //获取未处理消息数目 | ||
| 96 | + getNewGetUntreatedMsgNum(BuildContext context, Map<String, String> params, | ||
| 97 | + {showLoading = true}) async { | ||
| 98 | + if (showLoading) { | ||
| 99 | + pageStateUn = PageState.Loading; | ||
| 100 | + messages = []; | ||
| 101 | + notifyListeners(); | ||
| 102 | + } | ||
| 103 | + BaseResp<dynamic> baseResp = await DioUtil() | ||
| 104 | + .request<dynamic>( | ||
| 105 | + context, Method.get, HttpUrl.new_get_untreated_msg_list, | ||
| 106 | + data: params, showLoading: false) | ||
| 107 | + .catchError((error) { | ||
| 108 | + print(error.toString()); | ||
| 109 | + PageState pageStateTemp; | ||
| 110 | + if (error is MyError) { | ||
| 111 | + switch (error.type) { | ||
| 112 | + case 1: | ||
| 113 | + pageStateUn = PageState.ConnectivityError; | ||
| 114 | + break; | ||
| 115 | + case 2: | ||
| 116 | + pageStateUn = PageState.ConnectivityTimeOut; | ||
| 117 | + break; | ||
| 118 | + default: | ||
| 119 | + pageStateUn = PageState.ConnectivityError; | ||
| 120 | + break; | ||
| 121 | + } | ||
| 122 | + } | ||
| 123 | + | ||
| 124 | + notifyListeners(); | ||
| 125 | + }); | ||
| 126 | + if (baseResp != null && baseResp.code == Constant.status_success) { | ||
| 127 | + allUnNum = baseResp.data['count']; | ||
| 128 | + | ||
| 129 | + notifyListeners(); | ||
| 130 | + } | ||
| 131 | + } | ||
| 132 | + | ||
| 95 | //获取未处理消息和数目 | 133 | //获取未处理消息和数目 |
| 96 | getNewGetUntreatedMsgList(BuildContext context, Map<String, String> params, | 134 | getNewGetUntreatedMsgList(BuildContext context, Map<String, String> params, |
| 97 | {showLoading = true}) async { | 135 | {showLoading = true}) async { |
| @@ -54,8 +54,10 @@ class NavigatorUtil { | @@ -54,8 +54,10 @@ class NavigatorUtil { | ||
| 54 | } | 54 | } |
| 55 | 55 | ||
| 56 | /// 首页 | 56 | /// 首页 |
| 57 | - static void goHomePage(BuildContext context, {int initialIndex = 1}) { | ||
| 58 | - _navigateTo(context, "${Routes.home}?initialIndex=$initialIndex", | 57 | + static void goHomePage(BuildContext context, |
| 58 | + {int initialIndex = 1, needRefresh = true}) { | ||
| 59 | + _navigateTo(context, | ||
| 60 | + "${Routes.home}?initialIndex=$initialIndex&needRefresh=$needRefresh", | ||
| 59 | clearStack: true); | 61 | clearStack: true); |
| 60 | } | 62 | } |
| 61 | 63 |
| @@ -146,8 +146,10 @@ var loginHandler = new Handler( | @@ -146,8 +146,10 @@ var loginHandler = new Handler( | ||
| 146 | var homeHandler = new Handler( | 146 | var homeHandler = new Handler( |
| 147 | handlerFunc: (BuildContext context, Map<String, List<Object>> params) { | 147 | handlerFunc: (BuildContext context, Map<String, List<Object>> params) { |
| 148 | String initialIndex = params["initialIndex"].first; | 148 | String initialIndex = params["initialIndex"].first; |
| 149 | + bool needRefresh = FluroConvertUtils.string2bool(params["needRefresh"].first); | ||
| 149 | return HomePage( | 150 | return HomePage( |
| 150 | initialIndex: int.parse(initialIndex), | 151 | initialIndex: int.parse(initialIndex), |
| 152 | + needReresh: needRefresh, | ||
| 151 | ); | 153 | ); |
| 152 | }); | 154 | }); |
| 153 | 155 | ||
| @@ -803,7 +805,7 @@ var roomTypeSelectTablePageHandler = new Handler( | @@ -803,7 +805,7 @@ var roomTypeSelectTablePageHandler = new Handler( | ||
| 803 | tableList: tidSelList, | 805 | tableList: tidSelList, |
| 804 | fromPage: fromPage, | 806 | fromPage: fromPage, |
| 805 | tid: tid, | 807 | tid: tid, |
| 806 | - oldobjectList:oldobjectList)); | 808 | + oldobjectList: oldobjectList)); |
| 807 | }); | 809 | }); |
| 808 | 810 | ||
| 809 | ///菜单管理页面 | 811 | ///菜单管理页面 |
| @@ -109,7 +109,8 @@ class TableItemState extends State<TableItem> { | @@ -109,7 +109,8 @@ class TableItemState extends State<TableItem> { | ||
| 109 | margin: EdgeInsets.all(ScreenUtil().setWidth(9)), | 109 | margin: EdgeInsets.all(ScreenUtil().setWidth(9)), |
| 110 | decoration: BoxDecoration( | 110 | decoration: BoxDecoration( |
| 111 | color: (widget.need && table.enable == '0') || | 111 | color: (widget.need && table.enable == '0') || |
| 112 | - (table.isExitsClass.toString() == '1' && | 112 | + (widget.fromPage == 'room_manage' && |
| 113 | + table.isExitsClass.toString() == '1' && | ||
| 113 | !widget.oldOjectList.contains(table.id)) | 114 | !widget.oldOjectList.contains(table.id)) |
| 114 | ? MyColours.color_E0E0E0 | 115 | ? MyColours.color_E0E0E0 |
| 115 | : MyColours.color_A9E3E6, | 116 | : MyColours.color_A9E3E6, |
| @@ -128,7 +129,8 @@ class TableItemState extends State<TableItem> { | @@ -128,7 +129,8 @@ class TableItemState extends State<TableItem> { | ||
| 128 | height: ScreenUtil().setHeight(32), | 129 | height: ScreenUtil().setHeight(32), |
| 129 | alignment: Alignment.center, | 130 | alignment: Alignment.center, |
| 130 | decoration: BoxDecoration( | 131 | decoration: BoxDecoration( |
| 131 | - color: table.isExitsClass.toString() == '1' && | 132 | + color: widget.fromPage == 'room_manage' && |
| 133 | + table.isExitsClass.toString() == '1' && | ||
| 132 | !widget.oldOjectList.contains(table.id) | 134 | !widget.oldOjectList.contains(table.id) |
| 133 | ? Color.fromRGBO(147, 147, 147, 1) | 135 | ? Color.fromRGBO(147, 147, 147, 1) |
| 134 | : MyColours.color_63a6d1, | 136 | : MyColours.color_63a6d1, |
| @@ -168,7 +170,8 @@ class TableItemState extends State<TableItem> { | @@ -168,7 +170,8 @@ class TableItemState extends State<TableItem> { | ||
| 168 | maxLines: 2, | 170 | maxLines: 2, |
| 169 | style: TextStyle( | 171 | style: TextStyle( |
| 170 | color: (widget.need && table.enable == '0') || | 172 | color: (widget.need && table.enable == '0') || |
| 171 | - (table.isExitsClass.toString() == | 173 | + (widget.fromPage == 'room_manage' && |
| 174 | + table.isExitsClass.toString() == | ||
| 172 | '1' && | 175 | '1' && |
| 173 | !widget.oldOjectList | 176 | !widget.oldOjectList |
| 174 | .contains(table.id)) | 177 | .contains(table.id)) |
| @@ -224,7 +227,8 @@ class TableItemState extends State<TableItem> { | @@ -224,7 +227,8 @@ class TableItemState extends State<TableItem> { | ||
| 224 | Text( | 227 | Text( |
| 225 | table.lowStr, | 228 | table.lowStr, |
| 226 | style: TextStyle( | 229 | style: TextStyle( |
| 227 | - color: table.isExitsClass.toString() == '1' && | 230 | + color: widget.fromPage == 'room_manage' && |
| 231 | + table.isExitsClass.toString() == '1' && | ||
| 228 | !widget.oldOjectList.contains(table.id) | 232 | !widget.oldOjectList.contains(table.id) |
| 229 | ? MyColours.color_999999 | 233 | ? MyColours.color_999999 |
| 230 | : MyColours.color_777777, | 234 | : MyColours.color_777777, |
-
Please register or login to post a comment