Showing
8 changed files
with
181 additions
and
96 deletions
| @@ -81,7 +81,7 @@ class Message { | @@ -81,7 +81,7 @@ class Message { | ||
| 81 | case "11": //在线预订 | 81 | case "11": //在线预订 |
| 82 | if (is_handle == "0") { | 82 | if (is_handle == "0") { |
| 83 | //未处理 下单时间 | 83 | //未处理 下单时间 |
| 84 | - temp_date = cdate; | 84 | + temp_date = '${cdate}'; |
| 85 | } else { | 85 | } else { |
| 86 | temp_date = handle_time; //已处理 处理时间 | 86 | temp_date = handle_time; //已处理 处理时间 |
| 87 | } | 87 | } |
| @@ -5,6 +5,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; | @@ -5,6 +5,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; | ||
| 5 | import 'package:one_key/constant/state.dart'; | 5 | import 'package:one_key/constant/state.dart'; |
| 6 | import 'package:one_key/models/manager.dart'; | 6 | import 'package:one_key/models/manager.dart'; |
| 7 | import 'package:one_key/models/notebook_detail.dart'; | 7 | import 'package:one_key/models/notebook_detail.dart'; |
| 8 | +import 'package:one_key/provider/message_dialog_model.dart'; | ||
| 8 | import 'package:one_key/provider/notebook_detail_model.dart'; | 9 | import 'package:one_key/provider/notebook_detail_model.dart'; |
| 9 | import 'package:one_key/provider/user_model.dart'; | 10 | import 'package:one_key/provider/user_model.dart'; |
| 10 | import 'package:one_key/res/colors.dart'; | 11 | import 'package:one_key/res/colors.dart'; |
| @@ -57,7 +58,7 @@ class HandleOnlinePageState extends State<HandleOnlinePage> { | @@ -57,7 +58,7 @@ class HandleOnlinePageState extends State<HandleOnlinePage> { | ||
| 57 | 58 | ||
| 58 | bool isRefused = false; //是否已拒绝 | 59 | bool isRefused = false; //是否已拒绝 |
| 59 | bool isPause = false; //是否暂停预订 | 60 | bool isPause = false; //是否暂停预订 |
| 60 | - bool isSelf=false;//订单是否自己处理 | 61 | + bool isSelf = false; //订单是否自己处理 |
| 61 | StateSetter refuseDialogState; //决绝弹框setState | 62 | StateSetter refuseDialogState; //决绝弹框setState |
| 62 | 63 | ||
| 63 | @override | 64 | @override |
| @@ -92,11 +93,13 @@ class HandleOnlinePageState extends State<HandleOnlinePage> { | @@ -92,11 +93,13 @@ class HandleOnlinePageState extends State<HandleOnlinePage> { | ||
| 92 | } | 93 | } |
| 93 | } | 94 | } |
| 94 | }); | 95 | }); |
| 95 | - if(detailEntity.status=="6"){//已拒绝不跳转 | ||
| 96 | - if(refuseDialogState!=null){ | ||
| 97 | - refuseDialogState((){}); | 96 | + if (detailEntity.status == "6") { |
| 97 | + //已拒绝不跳转 | ||
| 98 | + if (refuseDialogState != null) { | ||
| 99 | + refuseDialogState(() {}); | ||
| 98 | } | 100 | } |
| 99 | - }else if (detailEntity.status != "0") {//已拒绝 | 101 | + } else if (detailEntity.status != "0") { |
| 102 | + //已拒绝 | ||
| 100 | //已处理 | 103 | //已处理 |
| 101 | Future.delayed(Duration(milliseconds: 200), () { | 104 | Future.delayed(Duration(milliseconds: 200), () { |
| 102 | NavigatorUtil.goNotebookDetailPage(context, detailEntity.id, | 105 | NavigatorUtil.goNotebookDetailPage(context, detailEntity.id, |
| @@ -308,7 +311,8 @@ class HandleOnlinePageState extends State<HandleOnlinePage> { | @@ -308,7 +311,8 @@ class HandleOnlinePageState extends State<HandleOnlinePage> { | ||
| 308 | ], | 311 | ], |
| 309 | ), | 312 | ), |
| 310 | ); | 313 | ); |
| 311 | - if(detailEntity.status=="6"&&isSelf==false){//订单已被拒绝 | 314 | + if (detailEntity.status == "6" && isSelf == false) { |
| 315 | + //订单已被拒绝 | ||
| 312 | Navigator.of(context).pop(); | 316 | Navigator.of(context).pop(); |
| 313 | } | 317 | } |
| 314 | return container; | 318 | return container; |
| @@ -335,7 +339,15 @@ class HandleOnlinePageState extends State<HandleOnlinePage> { | @@ -335,7 +339,15 @@ class HandleOnlinePageState extends State<HandleOnlinePage> { | ||
| 335 | //处理在线预订 | 339 | //处理在线预订 |
| 336 | setReserveStatus(String status, {String tid = "", String ac = ""}) async { | 340 | setReserveStatus(String status, {String tid = "", String ac = ""}) async { |
| 337 | bus.emit("remove_untreated_message", widget.mid); | 341 | bus.emit("remove_untreated_message", widget.mid); |
| 338 | - bus.emit("refresh_untreated_num");//刷新未读消息数目 | 342 | + MessageDialogModel messageDialogModel = |
| 343 | + Provider.of<MessageDialogModel>(context, listen: false); | ||
| 344 | + Map<String, String> paramsSetMessageStatus = { | ||
| 345 | + "sid": Provider.of<UserModel>(context, listen: false).user.sellerid, | ||
| 346 | + "id": widget.mid, | ||
| 347 | + "status": "is_handle" | ||
| 348 | + }; | ||
| 349 | + await messageDialogModel.setMessageStatus(context, paramsSetMessageStatus); | ||
| 350 | + bus.emit("refresh_untreated_num"); //刷新未读消息数目 | ||
| 339 | UserModel userModel = Provider.of<UserModel>(context, listen: false); | 351 | UserModel userModel = Provider.of<UserModel>(context, listen: false); |
| 340 | Map<String, String> causeMap = { | 352 | Map<String, String> causeMap = { |
| 341 | "uid": userModel.user.openid, | 353 | "uid": userModel.user.openid, |
| @@ -350,20 +362,20 @@ class HandleOnlinePageState extends State<HandleOnlinePage> { | @@ -350,20 +362,20 @@ class HandleOnlinePageState extends State<HandleOnlinePage> { | ||
| 350 | "cause": json.encode(causeMap) | 362 | "cause": json.encode(causeMap) |
| 351 | }; | 363 | }; |
| 352 | if (status == "6") { | 364 | if (status == "6") { |
| 353 | - isPause = (ac=="1"?true:false); | 365 | + isPause = (ac == "1" ? true : false); |
| 354 | params['ac'] = ac; //0=直接拒绝 1=拒绝并暂停预订 | 366 | params['ac'] = ac; //0=直接拒绝 1=拒绝并暂停预订 |
| 355 | } | 367 | } |
| 356 | bool success = await detailModel.setReserveStatus(context, params, | 368 | bool success = await detailModel.setReserveStatus(context, params, |
| 357 | - ifPush: (status=="6" ? false : true), showLoading: true); | 369 | + ifPush: (status == "6" ? false : true), showLoading: true); |
| 358 | if (success != null && success) { | 370 | if (success != null && success) { |
| 359 | bus.emit("refresh_book_list"); | 371 | bus.emit("refresh_book_list"); |
| 360 | if (status == "6") { | 372 | if (status == "6") { |
| 361 | isRefused = true; | 373 | isRefused = true; |
| 362 | - isSelf=true; | 374 | + isSelf = true; |
| 363 | _getOrderListData(); | 375 | _getOrderListData(); |
| 364 | } | 376 | } |
| 365 | - }else{ | ||
| 366 | - isSelf=false; | 377 | + } else { |
| 378 | + isSelf = false; | ||
| 367 | _getOrderListData(); | 379 | _getOrderListData(); |
| 368 | } | 380 | } |
| 369 | } | 381 | } |
| @@ -371,7 +383,7 @@ class HandleOnlinePageState extends State<HandleOnlinePage> { | @@ -371,7 +383,7 @@ class HandleOnlinePageState extends State<HandleOnlinePage> { | ||
| 371 | //处理在线预订 | 383 | //处理在线预订 |
| 372 | setMessageStatus() { | 384 | setMessageStatus() { |
| 373 | bus.emit("remove_untreated_message", widget.mid); | 385 | bus.emit("remove_untreated_message", widget.mid); |
| 374 | - bus.emit("refresh_untreated_num");//刷新未读消息数目 | 386 | + bus.emit("refresh_untreated_num"); //刷新未读消息数目 |
| 375 | Map<String, String> params = { | 387 | Map<String, String> params = { |
| 376 | "sid": Provider.of<UserModel>(context, listen: false).user.sellerid, | 388 | "sid": Provider.of<UserModel>(context, listen: false).user.sellerid, |
| 377 | "id": widget.mid, | 389 | "id": widget.mid, |
| @@ -290,7 +290,12 @@ class _MessageHasOrderFoodPageState extends State<MessageHasOrderFoodPage> { | @@ -290,7 +290,12 @@ class _MessageHasOrderFoodPageState extends State<MessageHasOrderFoodPage> { | ||
| 290 | _orderFoodProvider = Provider.of<OrderFoodProvider>(context, listen: true); | 290 | _orderFoodProvider = Provider.of<OrderFoodProvider>(context, listen: true); |
| 291 | return Scaffold( | 291 | return Scaffold( |
| 292 | backgroundColor: MyColours.color_ffffff, | 292 | backgroundColor: MyColours.color_ffffff, |
| 293 | - appBar: SystemAppBar('已点菜品'), | 293 | + appBar: SystemAppBar( |
| 294 | + '已点菜品', | ||
| 295 | + onTap: () { | ||
| 296 | + Navigator.of(context).pop(); | ||
| 297 | + }, | ||
| 298 | + ), | ||
| 294 | body: Consumer<OrderFoodProvider>( | 299 | body: Consumer<OrderFoodProvider>( |
| 295 | builder: (context, model, _) { | 300 | builder: (context, model, _) { |
| 296 | if (model.pageState != PageState.Success) { | 301 | if (model.pageState != PageState.Success) { |
| @@ -4,9 +4,11 @@ import 'package:flutter_easyrefresh/easy_refresh.dart'; | @@ -4,9 +4,11 @@ import 'package:flutter_easyrefresh/easy_refresh.dart'; | ||
| 4 | import 'package:flutter_screenutil/screenutil.dart'; | 4 | import 'package:flutter_screenutil/screenutil.dart'; |
| 5 | import 'package:one_key/constant/state.dart'; | 5 | import 'package:one_key/constant/state.dart'; |
| 6 | import 'package:one_key/pages/message/messsage_item.dart'; | 6 | import 'package:one_key/pages/message/messsage_item.dart'; |
| 7 | +import 'package:one_key/provider/message_dialog_model.dart'; | ||
| 7 | import 'package:one_key/provider/message_model.dart'; | 8 | import 'package:one_key/provider/message_model.dart'; |
| 8 | import 'package:one_key/provider/user_model.dart'; | 9 | import 'package:one_key/provider/user_model.dart'; |
| 9 | import 'package:one_key/res/colors.dart'; | 10 | import 'package:one_key/res/colors.dart'; |
| 11 | +import 'package:one_key/utils/event_bus.dart'; | ||
| 10 | import 'package:one_key/widgets/page_error.dart'; | 12 | import 'package:one_key/widgets/page_error.dart'; |
| 11 | import 'package:one_key/widgets/page_exception.dart'; | 13 | import 'package:one_key/widgets/page_exception.dart'; |
| 12 | import 'package:provider/provider.dart'; | 14 | import 'package:provider/provider.dart'; |
| @@ -32,7 +34,6 @@ class MessageOrderPageState extends State<MessageOrderPage> { | @@ -32,7 +34,6 @@ class MessageOrderPageState extends State<MessageOrderPage> { | ||
| 32 | 34 | ||
| 33 | int offset = 0; //当前页数 | 35 | int offset = 0; //当前页数 |
| 34 | 36 | ||
| 35 | - | ||
| 36 | @override | 37 | @override |
| 37 | void initState() { | 38 | void initState() { |
| 38 | // TODO: implement initState | 39 | // TODO: implement initState |
| @@ -41,6 +42,20 @@ class MessageOrderPageState extends State<MessageOrderPage> { | @@ -41,6 +42,20 @@ class MessageOrderPageState extends State<MessageOrderPage> { | ||
| 41 | WidgetsBinding.instance.addPostFrameCallback((_) { | 42 | WidgetsBinding.instance.addPostFrameCallback((_) { |
| 42 | getMessages(); | 43 | getMessages(); |
| 43 | }); | 44 | }); |
| 45 | + bus.on("remove_untreated_message_order", (args) { | ||
| 46 | + MessageModel messageModel = | ||
| 47 | + Provider.of<MessageModel>(context, listen: false); | ||
| 48 | + messageModel.removeUntreatedMessageByMid(args.toString()); | ||
| 49 | + MessageDialogModel messageDialogModel = | ||
| 50 | + Provider.of<MessageDialogModel>(context, listen: false); | ||
| 51 | + messageDialogModel.removeMessage(args.toString()); | ||
| 52 | + }); | ||
| 53 | + } | ||
| 54 | + | ||
| 55 | + @override | ||
| 56 | + void dispose() { | ||
| 57 | + super.dispose(); | ||
| 58 | + bus.off("remove_untreated_message_order"); | ||
| 44 | } | 59 | } |
| 45 | 60 | ||
| 46 | //获取消息 | 61 | //获取消息 |
| @@ -54,7 +69,7 @@ class MessageOrderPageState extends State<MessageOrderPage> { | @@ -54,7 +69,7 @@ class MessageOrderPageState extends State<MessageOrderPage> { | ||
| 54 | "limit": "20", | 69 | "limit": "20", |
| 55 | }; | 70 | }; |
| 56 | MessageModel messageModel = | 71 | MessageModel messageModel = |
| 57 | - Provider.of<MessageModel>(context, listen: false); | 72 | + Provider.of<MessageModel>(context, listen: false); |
| 58 | messageModel.getMessages(context, params, showLoading: showLoading); | 73 | messageModel.getMessages(context, params, showLoading: showLoading); |
| 59 | } | 74 | } |
| 60 | 75 | ||
| @@ -75,30 +90,42 @@ class MessageOrderPageState extends State<MessageOrderPage> { | @@ -75,30 +90,42 @@ class MessageOrderPageState extends State<MessageOrderPage> { | ||
| 75 | child: GestureDetector( | 90 | child: GestureDetector( |
| 76 | behavior: HitTestBehavior.opaque, | 91 | behavior: HitTestBehavior.opaque, |
| 77 | onTap: () { | 92 | onTap: () { |
| 78 | - if(selectedIndex==0)return; | 93 | + if (selectedIndex == 0) return; |
| 79 | setState(() { | 94 | setState(() { |
| 80 | selectedIndex = 0; | 95 | selectedIndex = 0; |
| 81 | getMessages(); | 96 | getMessages(); |
| 82 | }); | 97 | }); |
| 83 | }, | 98 | }, |
| 84 | child: Center( | 99 | child: Center( |
| 85 | - child: Text("未处理",style: TextStyle(color: selectedIndex==0?selectedColor:unSelectedColor,fontSize: ScreenUtil().setSp(30)),), | ||
| 86 | - ) | ||
| 87 | - )), | 100 | + child: Text( |
| 101 | + "未处理", | ||
| 102 | + style: TextStyle( | ||
| 103 | + color: selectedIndex == 0 | ||
| 104 | + ? selectedColor | ||
| 105 | + : unSelectedColor, | ||
| 106 | + fontSize: ScreenUtil().setSp(30)), | ||
| 107 | + ), | ||
| 108 | + ))), | ||
| 88 | Expanded( | 109 | Expanded( |
| 89 | child: GestureDetector( | 110 | child: GestureDetector( |
| 90 | behavior: HitTestBehavior.opaque, | 111 | behavior: HitTestBehavior.opaque, |
| 91 | onTap: () { | 112 | onTap: () { |
| 92 | - if(selectedIndex==1)return; | 113 | + if (selectedIndex == 1) return; |
| 93 | setState(() { | 114 | setState(() { |
| 94 | selectedIndex = 1; | 115 | selectedIndex = 1; |
| 95 | getMessages(); | 116 | getMessages(); |
| 96 | }); | 117 | }); |
| 97 | }, | 118 | }, |
| 98 | child: Center( | 119 | child: Center( |
| 99 | - child: Text("已处理",style: TextStyle(color: selectedIndex==1?selectedColor:unSelectedColor,fontSize: ScreenUtil().setSp(30)),), | ||
| 100 | - ) | ||
| 101 | - )) | 120 | + child: Text( |
| 121 | + "已处理", | ||
| 122 | + style: TextStyle( | ||
| 123 | + color: selectedIndex == 1 | ||
| 124 | + ? selectedColor | ||
| 125 | + : unSelectedColor, | ||
| 126 | + fontSize: ScreenUtil().setSp(30)), | ||
| 127 | + ), | ||
| 128 | + ))) | ||
| 102 | ], | 129 | ], |
| 103 | ), | 130 | ), |
| 104 | ), | 131 | ), |
| @@ -109,10 +136,11 @@ class MessageOrderPageState extends State<MessageOrderPage> { | @@ -109,10 +136,11 @@ class MessageOrderPageState extends State<MessageOrderPage> { | ||
| 109 | return ExceptionPage( | 136 | return ExceptionPage( |
| 110 | pageState: model.pageState, | 137 | pageState: model.pageState, |
| 111 | callback: () { | 138 | callback: () { |
| 112 | - offset=0; | 139 | + offset = 0; |
| 113 | getMessages(); | 140 | getMessages(); |
| 114 | }, | 141 | }, |
| 115 | - emptyMsg: "暂时没有${selectedIndex==0?'未处理':'已处理'}的提前点餐消息哦", | 142 | + emptyMsg: |
| 143 | + "暂时没有${selectedIndex == 0 ? '未处理' : '已处理'}的提前点餐消息哦", | ||
| 116 | emptyImg: "empty_search", | 144 | emptyImg: "empty_search", |
| 117 | showMsg: "加载中,请稍后...", | 145 | showMsg: "加载中,请稍后...", |
| 118 | ); | 146 | ); |
| @@ -122,16 +150,17 @@ class MessageOrderPageState extends State<MessageOrderPage> { | @@ -122,16 +150,17 @@ class MessageOrderPageState extends State<MessageOrderPage> { | ||
| 122 | slivers: [ | 150 | slivers: [ |
| 123 | SliverList( | 151 | SliverList( |
| 124 | delegate: SliverChildBuilderDelegate( | 152 | delegate: SliverChildBuilderDelegate( |
| 125 | - (BuildContext context, int index) { | ||
| 126 | - return MessageItem(model.messages[index],isTreated: selectedIndex==1); | ||
| 127 | - }, childCount: model.messages.length), | 153 | + (BuildContext context, int index) { |
| 154 | + return MessageItem(model.messages[index], | ||
| 155 | + isTreated: selectedIndex == 1); | ||
| 156 | + }, childCount: model.messages.length), | ||
| 128 | ) | 157 | ) |
| 129 | ], | 158 | ], |
| 130 | onRefresh: () async { | 159 | onRefresh: () async { |
| 131 | - offset=0; | 160 | + offset = 0; |
| 132 | getMessages(showLoading: false); | 161 | getMessages(showLoading: false); |
| 133 | }, | 162 | }, |
| 134 | - onLoad: ()async{ | 163 | + onLoad: () async { |
| 135 | offset++; | 164 | offset++; |
| 136 | getMessages(showLoading: false); | 165 | getMessages(showLoading: false); |
| 137 | }, | 166 | }, |
| @@ -18,7 +18,8 @@ class MessagePage extends StatefulWidget { | @@ -18,7 +18,8 @@ class MessagePage extends StatefulWidget { | ||
| 18 | } | 18 | } |
| 19 | } | 19 | } |
| 20 | 20 | ||
| 21 | -class MessagePageState extends State<MessagePage> with TickerProviderStateMixin{ | 21 | +class MessagePageState extends State<MessagePage> |
| 22 | + with TickerProviderStateMixin { | ||
| 22 | Color selectedColor = MyColours.color_199095; | 23 | Color selectedColor = MyColours.color_199095; |
| 23 | Color unSelectedColor = MyColours.color_999999; | 24 | Color unSelectedColor = MyColours.color_999999; |
| 24 | 25 | ||
| @@ -30,31 +31,31 @@ class MessagePageState extends State<MessagePage> with TickerProviderStateMixin{ | @@ -30,31 +31,31 @@ class MessagePageState extends State<MessagePage> with TickerProviderStateMixin{ | ||
| 30 | void initState() { | 31 | void initState() { |
| 31 | // TODO: implement initState | 32 | // TODO: implement initState |
| 32 | super.initState(); | 33 | super.initState(); |
| 33 | - tabController = TabController(length: 2,vsync: this); | 34 | + tabController = TabController(length: 2, vsync: this); |
| 34 | tabController.addListener(() { | 35 | tabController.addListener(() { |
| 35 | - setState(() { | ||
| 36 | - }); | 36 | + setState(() {}); |
| 37 | }); | 37 | }); |
| 38 | WidgetsBinding.instance.addPostFrameCallback((timeStamp) { | 38 | WidgetsBinding.instance.addPostFrameCallback((timeStamp) { |
| 39 | _getUnMsgNum(); | 39 | _getUnMsgNum(); |
| 40 | }); | 40 | }); |
| 41 | - bus.on("refresh_untreated_num", (arg) {//舒心未读消息数目 | 41 | + bus.on("refresh_untreated_num", (arg) { |
| 42 | + //刷新未读消息数目 | ||
| 42 | _getUnMsgNum(); | 43 | _getUnMsgNum(); |
| 43 | }); | 44 | }); |
| 44 | } | 45 | } |
| 45 | 46 | ||
| 46 | _getUnMsgNum() async { | 47 | _getUnMsgNum() async { |
| 47 | - Map<String,String> params={ | ||
| 48 | - "sid":Provider.of<UserModel>(context,listen:false).user.sellerid | 48 | + Map<String, String> params = { |
| 49 | + "sid": Provider.of<UserModel>(context, listen: false).user.sellerid | ||
| 49 | }; | 50 | }; |
| 50 | await messageModel.getUnMsgNum(context, params); | 51 | await messageModel.getUnMsgNum(context, params); |
| 51 | - setState(() { | ||
| 52 | - }); | 52 | + setState(() {}); |
| 53 | } | 53 | } |
| 54 | + | ||
| 54 | @override | 55 | @override |
| 55 | Widget build(BuildContext context) { | 56 | Widget build(BuildContext context) { |
| 56 | // TODO: implement build | 57 | // TODO: implement build |
| 57 | - messageModel=Provider.of<MessageModel>(context,listen: false); | 58 | + messageModel = Provider.of<MessageModel>(context, listen: false); |
| 58 | return Container( | 59 | return Container( |
| 59 | width: double.infinity, | 60 | width: double.infinity, |
| 60 | height: double.infinity, | 61 | height: double.infinity, |
| @@ -80,7 +81,8 @@ class MessagePageState extends State<MessagePage> with TickerProviderStateMixin{ | @@ -80,7 +81,8 @@ class MessagePageState extends State<MessagePage> with TickerProviderStateMixin{ | ||
| 80 | color: tabController.index == 0 | 81 | color: tabController.index == 0 |
| 81 | ? selectedColor | 82 | ? selectedColor |
| 82 | : unSelectedColor, | 83 | : unSelectedColor, |
| 83 | - fontSize: ScreenUtil().setSp(32),fontWeight: FontWeight.bold), | 84 | + fontSize: ScreenUtil().setSp(32), |
| 85 | + fontWeight: FontWeight.bold), | ||
| 84 | ), | 86 | ), |
| 85 | Positioned( | 87 | Positioned( |
| 86 | top: 0, | 88 | top: 0, |
| @@ -91,7 +93,9 @@ class MessagePageState extends State<MessagePage> with TickerProviderStateMixin{ | @@ -91,7 +93,9 @@ class MessagePageState extends State<MessagePage> with TickerProviderStateMixin{ | ||
| 91 | decoration: BoxDecoration( | 93 | decoration: BoxDecoration( |
| 92 | borderRadius: BorderRadius.circular( | 94 | borderRadius: BorderRadius.circular( |
| 93 | ScreenUtil().setWidth(16)), | 95 | ScreenUtil().setWidth(16)), |
| 94 | - color: messageModel.onlineTotal>0?MyColours.color_fa5151:MyColours.color_ffffff), | 96 | + color: messageModel.onlineTotal > 0 |
| 97 | + ? MyColours.color_fa5151 | ||
| 98 | + : MyColours.color_ffffff), | ||
| 95 | ), | 99 | ), |
| 96 | ) | 100 | ) |
| 97 | ], | 101 | ], |
| @@ -110,7 +114,8 @@ class MessagePageState extends State<MessagePage> with TickerProviderStateMixin{ | @@ -110,7 +114,8 @@ class MessagePageState extends State<MessagePage> with TickerProviderStateMixin{ | ||
| 110 | color: tabController.index == 1 | 114 | color: tabController.index == 1 |
| 111 | ? selectedColor | 115 | ? selectedColor |
| 112 | : unSelectedColor, | 116 | : unSelectedColor, |
| 113 | - fontSize: ScreenUtil().setSp(32),fontWeight: FontWeight.bold), | 117 | + fontSize: ScreenUtil().setSp(32), |
| 118 | + fontWeight: FontWeight.bold), | ||
| 114 | ), | 119 | ), |
| 115 | Positioned( | 120 | Positioned( |
| 116 | top: 0, | 121 | top: 0, |
| @@ -121,7 +126,9 @@ class MessagePageState extends State<MessagePage> with TickerProviderStateMixin{ | @@ -121,7 +126,9 @@ class MessagePageState extends State<MessagePage> with TickerProviderStateMixin{ | ||
| 121 | decoration: BoxDecoration( | 126 | decoration: BoxDecoration( |
| 122 | borderRadius: BorderRadius.circular( | 127 | borderRadius: BorderRadius.circular( |
| 123 | ScreenUtil().setWidth(16)), | 128 | ScreenUtil().setWidth(16)), |
| 124 | - color: messageModel.orderTotal>0?MyColours.color_fa5151:MyColours.color_ffffff), | 129 | + color: messageModel.orderTotal > 0 |
| 130 | + ? MyColours.color_fa5151 | ||
| 131 | + : MyColours.color_ffffff), | ||
| 125 | ), | 132 | ), |
| 126 | ) | 133 | ) |
| 127 | ], | 134 | ], |
| @@ -131,14 +138,17 @@ class MessagePageState extends State<MessagePage> with TickerProviderStateMixin{ | @@ -131,14 +138,17 @@ class MessagePageState extends State<MessagePage> with TickerProviderStateMixin{ | ||
| 131 | ], | 138 | ], |
| 132 | indicatorColor: MyColours.color_199095, | 139 | indicatorColor: MyColours.color_199095, |
| 133 | indicatorSize: TabBarIndicatorSize.label, | 140 | indicatorSize: TabBarIndicatorSize.label, |
| 134 | - indicatorPadding: EdgeInsets.only(left: ScreenUtil().setWidth(16),right: ScreenUtil().setWidth(32)), | 141 | + indicatorPadding: EdgeInsets.only( |
| 142 | + left: ScreenUtil().setWidth(16), | ||
| 143 | + right: ScreenUtil().setWidth(32)), | ||
| 135 | indicatorWeight: ScreenUtil().setWidth(6.0), | 144 | indicatorWeight: ScreenUtil().setWidth(6.0), |
| 136 | ), | 145 | ), |
| 137 | VEmptyView(11), | 146 | VEmptyView(11), |
| 138 | Expanded( | 147 | Expanded( |
| 139 | flex: 1, | 148 | flex: 1, |
| 140 | - child: | ||
| 141 | - TabBarView(controller:tabController,children: [MessageOnlinePage(), MessageOrderPage()]), | 149 | + child: TabBarView( |
| 150 | + controller: tabController, | ||
| 151 | + children: [MessageOnlinePage(), MessageOrderPage()]), | ||
| 142 | ) | 152 | ) |
| 143 | ], | 153 | ], |
| 144 | ), | 154 | ), |
| @@ -35,7 +35,12 @@ class MessageItem extends StatelessWidget { | @@ -35,7 +35,12 @@ class MessageItem extends StatelessWidget { | ||
| 35 | return GestureDetector( | 35 | return GestureDetector( |
| 36 | onTap: () { | 36 | onTap: () { |
| 37 | if (isTreated) { | 37 | if (isTreated) { |
| 38 | - NavigatorUtil.goNotebookDetailPage(context, message.rid.toString()); | 38 | + if (message.message_type == "10") { |
| 39 | + NavigatorUtil.goNotebookDetailPage( | ||
| 40 | + context, message.rid.toString()); | ||
| 41 | + } else if (message.message_type == "1") { | ||
| 42 | + NavigatorUtil.goHasOrderFoodPage(context, rid: message.rid); | ||
| 43 | + } | ||
| 39 | } | 44 | } |
| 40 | }, | 45 | }, |
| 41 | child: Stack( | 46 | child: Stack( |
| @@ -123,16 +128,35 @@ class MessageItem extends StatelessWidget { | @@ -123,16 +128,35 @@ class MessageItem extends StatelessWidget { | ||
| 123 | fontSize: 30, | 128 | fontSize: 30, |
| 124 | content: message.message_type == "10" ? "立即处理" : "立即查看", | 129 | content: message.message_type == "10" ? "立即处理" : "立即查看", |
| 125 | state: 1, | 130 | state: 1, |
| 126 | - onPress: () { | 131 | + onPress: () async { |
| 127 | messageDialogModel.removeMessage(message.id); | 132 | messageDialogModel.removeMessage(message.id); |
| 133 | + //message_type:10 跳转在线预订 11 取消订单 1 提前点餐 | ||
| 128 | if (message.message_type == "10") { | 134 | if (message.message_type == "10") { |
| 129 | NavigatorUtil.goHandleOnlinePage( | 135 | NavigatorUtil.goHandleOnlinePage( |
| 130 | context, message.rid.toString(), message.id); | 136 | context, message.rid.toString(), message.id); |
| 131 | - } else { | 137 | + } else if (message.message_type == "11") { |
| 132 | NavigatorUtil.goNotebookDetailPage( | 138 | NavigatorUtil.goNotebookDetailPage( |
| 133 | context, message.rid.toString()); | 139 | context, message.rid.toString()); |
| 134 | bus.emit("remove_untreated_message", message.id); | 140 | bus.emit("remove_untreated_message", message.id); |
| 141 | + | ||
| 142 | + Map<String, String> params = { | ||
| 143 | + "sid": Provider.of<UserModel>(context, listen: false) | ||
| 144 | + .user | ||
| 145 | + .sellerid, | ||
| 146 | + "id": message.id, | ||
| 147 | + "status": message.message_type == "1" | ||
| 148 | + ? "is_read" | ||
| 149 | + : "is_handle" | ||
| 150 | + }; | ||
| 151 | + await messageDialogModel.setMessageStatus( | ||
| 152 | + context, params); | ||
| 135 | bus.emit("refresh_untreated_num"); //刷新未读消息数目 | 153 | bus.emit("refresh_untreated_num"); //刷新未读消息数目 |
| 154 | + } else if (message.message_type == "1") { | ||
| 155 | + //提前点餐 | ||
| 156 | + NavigatorUtil.goHasOrderFoodPage(context, | ||
| 157 | + rid: message.rid); | ||
| 158 | + bus.emit("remove_untreated_message_order", message.id); | ||
| 159 | + | ||
| 136 | Map<String, String> params = { | 160 | Map<String, String> params = { |
| 137 | "sid": Provider.of<UserModel>(context, listen: false) | 161 | "sid": Provider.of<UserModel>(context, listen: false) |
| 138 | .user | 162 | .user |
| @@ -142,7 +166,9 @@ class MessageItem extends StatelessWidget { | @@ -142,7 +166,9 @@ class MessageItem extends StatelessWidget { | ||
| 142 | ? "is_read" | 166 | ? "is_read" |
| 143 | : "is_handle" | 167 | : "is_handle" |
| 144 | }; | 168 | }; |
| 145 | - messageDialogModel.setMessageStatus(context, params); | 169 | + await messageDialogModel.setMessageStatus( |
| 170 | + context, params); | ||
| 171 | + bus.emit("refresh_untreated_num"); //刷新未读消息数目 | ||
| 146 | } | 172 | } |
| 147 | }, | 173 | }, |
| 148 | ), | 174 | ), |
| @@ -10,13 +10,12 @@ import 'package:one_key/utils/dialog_util.dart'; | @@ -10,13 +10,12 @@ import 'package:one_key/utils/dialog_util.dart'; | ||
| 10 | import 'package:audioplayers/audio_cache.dart'; | 10 | import 'package:audioplayers/audio_cache.dart'; |
| 11 | import 'package:one_key/utils/utils.dart'; | 11 | import 'package:one_key/utils/utils.dart'; |
| 12 | 12 | ||
| 13 | -class MessageDialogModel extends ChangeNotifier{ | ||
| 14 | - | 13 | +class MessageDialogModel extends ChangeNotifier { |
| 15 | final _player = AudioCache(); | 14 | final _player = AudioCache(); |
| 16 | 15 | ||
| 17 | - bool showMessageDialog=false; | 16 | + bool showMessageDialog = false; |
| 18 | 17 | ||
| 19 | - List<Message> messages=[]; | 18 | + List<Message> messages = []; |
| 20 | 19 | ||
| 21 | void init() { | 20 | void init() { |
| 22 | _player.load("tts_online.mp3"); | 21 | _player.load("tts_online.mp3"); |
| @@ -24,70 +23,70 @@ class MessageDialogModel extends ChangeNotifier{ | @@ -24,70 +23,70 @@ class MessageDialogModel extends ChangeNotifier{ | ||
| 24 | 23 | ||
| 25 | /// 播放 | 24 | /// 播放 |
| 26 | void play(String message_type) { | 25 | void play(String message_type) { |
| 27 | - switch(message_type){ | ||
| 28 | - case "10"://在线预订 | 26 | + switch (message_type) { |
| 27 | + case "10": //在线预订 | ||
| 29 | _player.play("tts_online.mp3"); | 28 | _player.play("tts_online.mp3"); |
| 30 | break; | 29 | break; |
| 31 | - case "11"://取消在线预订 | 30 | + case "11": //取消在线预订 |
| 32 | _player.play("tts_cancel.mp3"); | 31 | _player.play("tts_cancel.mp3"); |
| 33 | break; | 32 | break; |
| 34 | - case "-1"://>3 | 33 | + case "-1": //>3 |
| 35 | _player.play("tts_all.mp3"); | 34 | _player.play("tts_all.mp3"); |
| 36 | break; | 35 | break; |
| 37 | } | 36 | } |
| 38 | } | 37 | } |
| 39 | 38 | ||
| 40 | //添加一条信息 | 39 | //添加一条信息 |
| 41 | - addMessage(BuildContext context,Message message){ | 40 | + addMessage(BuildContext context, Message message) { |
| 42 | LogUtil.v(message.toString()); | 41 | LogUtil.v(message.toString()); |
| 43 | play(message.message_type); | 42 | play(message.message_type); |
| 44 | messages.add(message); | 43 | messages.add(message); |
| 45 | - if(!showMessageDialog){ | 44 | + if (!showMessageDialog) { |
| 46 | DialogUtil.showMessageDialog(context); | 45 | DialogUtil.showMessageDialog(context); |
| 47 | - }else{ | 46 | + } else { |
| 48 | notifyListeners(); | 47 | notifyListeners(); |
| 49 | } | 48 | } |
| 50 | } | 49 | } |
| 51 | 50 | ||
| 52 | //移除一条信息 | 51 | //移除一条信息 |
| 53 | - removeMessage(String mid){ | ||
| 54 | - messages.removeWhere((message)=>message.id==mid); | 52 | + removeMessage(String mid) { |
| 53 | + messages.removeWhere((message) => message.id == mid); | ||
| 55 | notifyListeners(); | 54 | notifyListeners(); |
| 56 | } | 55 | } |
| 57 | 56 | ||
| 58 | //获取未处理在线预订消息 | 57 | //获取未处理在线预订消息 |
| 59 | - getUntreatedMsg(BuildContext context,Map<String,String> params) async { | 58 | + getUntreatedMsg(BuildContext context, Map<String, String> params) async { |
| 60 | BaseResp<List> baseResp = await DioUtil() | 59 | BaseResp<List> baseResp = await DioUtil() |
| 61 | - .request<List>(context, Method.get, HttpUrl.get_message_list,showLoading: false, | ||
| 62 | - data: params) | 60 | + .request<List>(context, Method.get, HttpUrl.get_message_list, |
| 61 | + showLoading: false, data: params) | ||
| 63 | .catchError((error) { | 62 | .catchError((error) { |
| 64 | print(error.toString()); | 63 | print(error.toString()); |
| 65 | }); | 64 | }); |
| 66 | - if (baseResp!=null&&baseResp.code == Constant.status_success) { | ||
| 67 | - messages=baseResp.data.map<Message>((value){ | 65 | + if (baseResp != null && baseResp.code == Constant.status_success) { |
| 66 | + messages = baseResp.data.map<Message>((value) { | ||
| 68 | return Message.fromJson(value); | 67 | return Message.fromJson(value); |
| 69 | }).toList(); | 68 | }).toList(); |
| 70 | - messages.removeWhere((message){ | ||
| 71 | - if(message.message_type.toString()=="10"){ | ||
| 72 | - if(message.status=="4"){ | 69 | + messages.removeWhere((message) { |
| 70 | + if (message.message_type.toString() == "10") { | ||
| 71 | + if (message.status == "4") { | ||
| 73 | return true; | 72 | return true; |
| 74 | } | 73 | } |
| 75 | return false; | 74 | return false; |
| 76 | - }else if(message.message_type.toString()=="11"){ | 75 | + } else if (message.message_type.toString() == "11") { |
| 77 | return false; | 76 | return false; |
| 78 | } | 77 | } |
| 79 | return true; | 78 | return true; |
| 80 | }); | 79 | }); |
| 81 | - if(messages.isNotEmpty){ | ||
| 82 | - if(!showMessageDialog){ | 80 | + if (messages.isNotEmpty) { |
| 81 | + if (!showMessageDialog) { | ||
| 83 | DialogUtil.showMessageDialog(context); | 82 | DialogUtil.showMessageDialog(context); |
| 84 | - }else{ | 83 | + } else { |
| 85 | notifyListeners(); | 84 | notifyListeners(); |
| 86 | } | 85 | } |
| 87 | - if(messages.length>1){ | 86 | + if (messages.length > 1) { |
| 88 | play("-1"); | 87 | play("-1"); |
| 89 | - }else{ | ||
| 90 | - for(Message message in messages){ | 88 | + } else { |
| 89 | + for (Message message in messages) { | ||
| 91 | play(message.message_type); | 90 | play(message.message_type); |
| 92 | } | 91 | } |
| 93 | } | 92 | } |
| @@ -99,7 +98,7 @@ class MessageDialogModel extends ChangeNotifier{ | @@ -99,7 +98,7 @@ class MessageDialogModel extends ChangeNotifier{ | ||
| 99 | setMessageStatus(BuildContext context, Map<String, String> params) async { | 98 | setMessageStatus(BuildContext context, Map<String, String> params) async { |
| 100 | BaseResp<dynamic> baseResp = await DioUtil() | 99 | BaseResp<dynamic> baseResp = await DioUtil() |
| 101 | .request<dynamic>(context, Method.get, HttpUrl.set_message_status, | 100 | .request<dynamic>(context, Method.get, HttpUrl.set_message_status, |
| 102 | - data: params, showLoading: false) | 101 | + data: params, showLoading: false) |
| 103 | .catchError((error) { | 102 | .catchError((error) { |
| 104 | print(error.toString()); | 103 | print(error.toString()); |
| 105 | }); | 104 | }); |
| @@ -108,4 +107,4 @@ class MessageDialogModel extends ChangeNotifier{ | @@ -108,4 +107,4 @@ class MessageDialogModel extends ChangeNotifier{ | ||
| 108 | Utils.showToast(baseResp.msg); | 107 | Utils.showToast(baseResp.msg); |
| 109 | } | 108 | } |
| 110 | } | 109 | } |
| 111 | -} | ||
| 110 | +} |
| @@ -12,14 +12,14 @@ class MessageModel extends ChangeNotifier { | @@ -12,14 +12,14 @@ class MessageModel extends ChangeNotifier { | ||
| 12 | 12 | ||
| 13 | PageState pageState = PageState.Loading; | 13 | PageState pageState = PageState.Loading; |
| 14 | 14 | ||
| 15 | - int onlineTotal=0;//未处理在线消息数目 | ||
| 16 | - int inlineTotal=0;//未处理内部消息数目 | ||
| 17 | - int orderTotal=0;//未处理提前点餐消息数目 | 15 | + int onlineTotal = 0; //未处理在线消息数目 |
| 16 | + int inlineTotal = 0; //未处理内部消息数目 | ||
| 17 | + int orderTotal = 0; //未处理提前点餐消息数目 | ||
| 18 | 18 | ||
| 19 | //获取消息 | 19 | //获取消息 |
| 20 | getMessages(BuildContext context, Map<String, String> params, | 20 | getMessages(BuildContext context, Map<String, String> params, |
| 21 | {showLoading = true}) async { | 21 | {showLoading = true}) async { |
| 22 | - if(showLoading){ | 22 | + if (showLoading) { |
| 23 | pageState = PageState.Loading; | 23 | pageState = PageState.Loading; |
| 24 | notifyListeners(); | 24 | notifyListeners(); |
| 25 | } | 25 | } |
| @@ -44,7 +44,7 @@ class MessageModel extends ChangeNotifier { | @@ -44,7 +44,7 @@ class MessageModel extends ChangeNotifier { | ||
| 44 | notifyListeners(); | 44 | notifyListeners(); |
| 45 | }); | 45 | }); |
| 46 | if (baseResp != null && baseResp.code == Constant.status_success) { | 46 | if (baseResp != null && baseResp.code == Constant.status_success) { |
| 47 | - if(params['offset']=="0"){ | 47 | + if (params['offset'] == "0") { |
| 48 | messages = baseResp.data.map<Message>((value) { | 48 | messages = baseResp.data.map<Message>((value) { |
| 49 | return Message.fromJson(value); | 49 | return Message.fromJson(value); |
| 50 | }).toList(); | 50 | }).toList(); |
| @@ -73,24 +73,28 @@ class MessageModel extends ChangeNotifier { | @@ -73,24 +73,28 @@ class MessageModel extends ChangeNotifier { | ||
| 73 | 73 | ||
| 74 | //获取未处理消息数目 | 74 | //获取未处理消息数目 |
| 75 | Future getUnMsgNum(BuildContext context, Map<String, String> params) async { | 75 | Future getUnMsgNum(BuildContext context, Map<String, String> params) async { |
| 76 | - BaseResp<Map<String,dynamic>> baseResp = await DioUtil() | ||
| 77 | - .request<Map<String,dynamic>>(context, Method.get, HttpUrl.get_message_num, | ||
| 78 | - data: params, showLoading: false) | 76 | + BaseResp<Map<String, dynamic>> baseResp = await DioUtil() |
| 77 | + .request<Map<String, dynamic>>( | ||
| 78 | + context, Method.get, HttpUrl.get_message_num, | ||
| 79 | + data: params, showLoading: false) | ||
| 79 | .catchError((error) { | 80 | .catchError((error) { |
| 80 | print(error.toString()); | 81 | print(error.toString()); |
| 81 | }); | 82 | }); |
| 82 | if (baseResp != null && baseResp.code == Constant.status_success) { | 83 | if (baseResp != null && baseResp.code == Constant.status_success) { |
| 83 | - onlineTotal=int.parse(baseResp.data['online_total'].toString()); | ||
| 84 | - inlineTotal=int.parse(baseResp.data['inline_total'].toString()); | ||
| 85 | - orderTotal=int.parse(baseResp.data['order_total'].toString()); | 84 | + onlineTotal = int.parse(baseResp.data['online_total'].toString()); |
| 85 | + inlineTotal = int.parse(baseResp.data['inline_total'].toString()); | ||
| 86 | + orderTotal = int.parse(baseResp.data['order_total'].toString()); | ||
| 86 | return; | 87 | return; |
| 87 | } | 88 | } |
| 88 | return; | 89 | return; |
| 89 | } | 90 | } |
| 90 | 91 | ||
| 91 | //根据消息id移除消息 | 92 | //根据消息id移除消息 |
| 92 | - removeUntreatedMessageByMid(String mid){ | ||
| 93 | - messages.removeWhere((element) => element.id==mid); | 93 | + removeUntreatedMessageByMid(String mid) { |
| 94 | + messages.removeWhere((element) => element.id == mid); | ||
| 95 | + if (messages.length == 0) { | ||
| 96 | + pageState = PageState.Empty; | ||
| 97 | + } | ||
| 94 | notifyListeners(); | 98 | notifyListeners(); |
| 95 | } | 99 | } |
| 96 | } | 100 | } |
-
Please register or login to post a comment