Commit f20bf1f66cd2d05c06c45e554dbad3183d38a20b

Authored by wdn127929
1 parent f77dea6a

店内消息通知栏点击问题has

@@ -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,