Showing
10 changed files
with
310 additions
and
16 deletions
| 1 | +import 'package:flutter/material.dart'; | ||
| 2 | +import 'package:flutter_easyrefresh/easy_refresh.dart'; | ||
| 3 | +import 'package:flutter_screenutil/flutter_screenutil.dart'; | ||
| 4 | +import 'package:one_key/constant/state.dart'; | ||
| 5 | +import 'package:one_key/pages/message/messsage_item.dart'; | ||
| 6 | +import 'package:one_key/provider/message_dialog_model.dart'; | ||
| 7 | +import 'package:one_key/provider/message_model.dart'; | ||
| 8 | +import 'package:one_key/provider/user_model.dart'; | ||
| 9 | +import 'package:one_key/res/colors.dart'; | ||
| 10 | +import 'package:one_key/widgets/page_error.dart'; | ||
| 11 | +import 'package:one_key/widgets/page_exception.dart'; | ||
| 12 | +import 'package:provider/provider.dart'; | ||
| 13 | +import 'package:one_key/utils/event_bus.dart'; | ||
| 14 | + | ||
| 15 | +/** | ||
| 16 | + * 在线买单消息 | ||
| 17 | + */ | ||
| 18 | +class MessageOnlineCheckPage extends StatefulWidget { | ||
| 19 | + @override | ||
| 20 | + State<StatefulWidget> createState() { | ||
| 21 | + // TODO: implement createState | ||
| 22 | + return new MessageOnlineCheckPageState(); | ||
| 23 | + } | ||
| 24 | +} | ||
| 25 | + | ||
| 26 | +class MessageOnlineCheckPageState extends State<MessageOnlineCheckPage> { | ||
| 27 | + EasyRefreshController _controller; | ||
| 28 | + | ||
| 29 | + Color selectedColor = MyColours.color_199095; | ||
| 30 | + Color unSelectedColor = MyColours.color_999999; | ||
| 31 | + | ||
| 32 | + int selectedIndex = 0; | ||
| 33 | + | ||
| 34 | + int offset = 0; | ||
| 35 | + MessageModel messageModel; | ||
| 36 | + UserModel userModel; | ||
| 37 | + MessageDialogModel messageDialogModel; | ||
| 38 | + | ||
| 39 | + @override | ||
| 40 | + void initState() { | ||
| 41 | + // TODO: implement initState | ||
| 42 | + super.initState(); | ||
| 43 | + //移除在线买单消息 | ||
| 44 | + // bus.on("remove_untreated_message", (args) { | ||
| 45 | + // messageModel.removeUntreatedMessageByMid(args.toString()); | ||
| 46 | + | ||
| 47 | + // messageDialogModel.removeMessage(args.toString()); | ||
| 48 | + // }); | ||
| 49 | + _controller = EasyRefreshController(); | ||
| 50 | + WidgetsBinding.instance.addPostFrameCallback((_) { | ||
| 51 | + // getMessage(); | ||
| 52 | + setState(() { | ||
| 53 | + messageModel.pageState = PageState.Loading; | ||
| 54 | + }); | ||
| 55 | + }); | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + @override | ||
| 59 | + void dispose() { | ||
| 60 | + // TODO: implement dispose | ||
| 61 | + super.dispose(); | ||
| 62 | + // bus.off("remove_untreated_message"); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + //三种分类各自的未读消息数目 | ||
| 66 | + _getUnMsgNum() async { | ||
| 67 | + Map<String, String> params = {"sid": userModel.user.sellerid}; | ||
| 68 | + await messageModel.getUnMsgNum(context, params); | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + //获取在线预订消息status 0未处理 1已处理 | ||
| 72 | + getMessage({bool showLoading = true}) async { | ||
| 73 | + Map<String, String> params = { | ||
| 74 | + "sid": userModel.user.sellerid, | ||
| 75 | + "type_id": "12", //1提前点餐 2内部预订 10在线预订 12在线买单 | ||
| 76 | + "status": selectedIndex.toString(), | ||
| 77 | + "offset": offset.toString(), | ||
| 78 | + "limit": "20", | ||
| 79 | + }; | ||
| 80 | + | ||
| 81 | + await messageModel.getMessages(context, params, showLoading: showLoading); | ||
| 82 | + _getUnMsgNum(); | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + @override | ||
| 86 | + Widget build(BuildContext context) { | ||
| 87 | + messageModel = Provider.of<MessageModel>(context, listen: true); | ||
| 88 | + userModel = Provider.of<UserModel>(context, listen: false); | ||
| 89 | + messageDialogModel = | ||
| 90 | + Provider.of<MessageDialogModel>(context, listen: false); | ||
| 91 | + return Container( | ||
| 92 | + color: MyColours.color_f5f5f5, | ||
| 93 | + child: Column( | ||
| 94 | + children: [ | ||
| 95 | + Container( | ||
| 96 | + width: double.infinity, | ||
| 97 | + height: ScreenUtil().setWidth(84), | ||
| 98 | + color: MyColours.color_ffffff, | ||
| 99 | + child: Row( | ||
| 100 | + children: [ | ||
| 101 | + Expanded( | ||
| 102 | + child: GestureDetector( | ||
| 103 | + behavior: HitTestBehavior.opaque, | ||
| 104 | + onTap: () { | ||
| 105 | + if (selectedIndex == 0) return; | ||
| 106 | + setState(() { | ||
| 107 | + selectedIndex = 0; | ||
| 108 | + messageModel.messages = []; | ||
| 109 | + }); | ||
| 110 | + getMessage(showLoading: true); | ||
| 111 | + }, | ||
| 112 | + child: Center( | ||
| 113 | + child: Text( | ||
| 114 | + "未处理", | ||
| 115 | + style: TextStyle( | ||
| 116 | + color: selectedIndex == 0 | ||
| 117 | + ? selectedColor | ||
| 118 | + : unSelectedColor, | ||
| 119 | + fontSize: ScreenUtil().setSp(30)), | ||
| 120 | + ), | ||
| 121 | + ))), | ||
| 122 | + Expanded( | ||
| 123 | + child: GestureDetector( | ||
| 124 | + behavior: HitTestBehavior.opaque, | ||
| 125 | + onTap: () { | ||
| 126 | + if (selectedIndex == 1) return; | ||
| 127 | + setState(() { | ||
| 128 | + selectedIndex = 1; | ||
| 129 | + messageModel.messages = []; | ||
| 130 | + }); | ||
| 131 | + getMessage(showLoading: true); | ||
| 132 | + }, | ||
| 133 | + child: Center( | ||
| 134 | + child: Text( | ||
| 135 | + "已处理", | ||
| 136 | + style: TextStyle( | ||
| 137 | + color: selectedIndex == 1 | ||
| 138 | + ? selectedColor | ||
| 139 | + : unSelectedColor, | ||
| 140 | + fontSize: ScreenUtil().setSp(30)), | ||
| 141 | + ), | ||
| 142 | + ))) | ||
| 143 | + ], | ||
| 144 | + ), | ||
| 145 | + ), | ||
| 146 | + Expanded( | ||
| 147 | + child: Consumer<MessageModel>( | ||
| 148 | + builder: (context, model, _) { | ||
| 149 | + if (model.pageState != PageState.Success) { | ||
| 150 | + return ExceptionPage( | ||
| 151 | + pageState: model.pageState, | ||
| 152 | + callback: () { | ||
| 153 | + offset = 0; | ||
| 154 | + getMessage(showLoading: true); | ||
| 155 | + }, | ||
| 156 | + emptyMsg: | ||
| 157 | + "暂时没有${selectedIndex == 0 ? '未处理' : '已处理'}的在线预订消息哦", | ||
| 158 | + emptyImg: "empty_search", | ||
| 159 | + showMsg: "加载中,请稍后...", | ||
| 160 | + ); | ||
| 161 | + } else { | ||
| 162 | + return EasyRefresh.custom( | ||
| 163 | + controller: _controller, | ||
| 164 | + slivers: [ | ||
| 165 | + SliverList( | ||
| 166 | + delegate: SliverChildBuilderDelegate( | ||
| 167 | + (BuildContext context, int index) { | ||
| 168 | + return MessageItem( | ||
| 169 | + model.messages[index], | ||
| 170 | + isTreated: selectedIndex == 1, | ||
| 171 | + ); | ||
| 172 | + }, childCount: model.messages.length), | ||
| 173 | + ) | ||
| 174 | + ], | ||
| 175 | + onRefresh: () async { | ||
| 176 | + offset = 0; | ||
| 177 | + getMessage(showLoading: false); | ||
| 178 | + }, | ||
| 179 | + onLoad: () async { | ||
| 180 | + offset++; | ||
| 181 | + getMessage(showLoading: false); | ||
| 182 | + }, | ||
| 183 | + ); | ||
| 184 | + } | ||
| 185 | + }, | ||
| 186 | + ), | ||
| 187 | + ) | ||
| 188 | + ], | ||
| 189 | + ), | ||
| 190 | + ); | ||
| 191 | + } | ||
| 192 | +} |
| @@ -48,7 +48,10 @@ class MessageOnlinePageState extends State<MessageOnlinePage> { | @@ -48,7 +48,10 @@ class MessageOnlinePageState extends State<MessageOnlinePage> { | ||
| 48 | }); | 48 | }); |
| 49 | _controller = EasyRefreshController(); | 49 | _controller = EasyRefreshController(); |
| 50 | WidgetsBinding.instance.addPostFrameCallback((_) { | 50 | WidgetsBinding.instance.addPostFrameCallback((_) { |
| 51 | - getMessage(); | 51 | + // getMessage(); |
| 52 | + setState(() { | ||
| 53 | + messageModel.pageState = PageState.Loading; | ||
| 54 | + }); | ||
| 52 | }); | 55 | }); |
| 53 | } | 56 | } |
| 54 | 57 |
| @@ -19,6 +19,9 @@ import 'package:one_key/widgets/v_empty_view.dart'; | @@ -19,6 +19,9 @@ import 'package:one_key/widgets/v_empty_view.dart'; | ||
| 19 | import 'package:provider/provider.dart'; | 19 | import 'package:provider/provider.dart'; |
| 20 | import 'package:scrollable_positioned_list/scrollable_positioned_list.dart'; | 20 | import 'package:scrollable_positioned_list/scrollable_positioned_list.dart'; |
| 21 | 21 | ||
| 22 | +/* | ||
| 23 | + 已选菜品 | ||
| 24 | +*/ | ||
| 22 | class MessageHasOrderFoodPage extends StatefulWidget { | 25 | class MessageHasOrderFoodPage extends StatefulWidget { |
| 23 | final String rid; | 26 | final String rid; |
| 24 | final bool fromNotify; | 27 | final bool fromNotify; |
| @@ -44,7 +44,11 @@ class MessageOrderPageState extends State<MessageOrderPage> { | @@ -44,7 +44,11 @@ class MessageOrderPageState extends State<MessageOrderPage> { | ||
| 44 | super.initState(); | 44 | super.initState(); |
| 45 | _controller = EasyRefreshController(); | 45 | _controller = EasyRefreshController(); |
| 46 | WidgetsBinding.instance.addPostFrameCallback((_) { | 46 | WidgetsBinding.instance.addPostFrameCallback((_) { |
| 47 | - getMessages(); | 47 | + // getMessages(); |
| 48 | + setState(() { | ||
| 49 | + messageModel.pageState = PageState.Loading; | ||
| 50 | + }); | ||
| 51 | + | ||
| 48 | }); | 52 | }); |
| 49 | //从列表数据本地移除提前点餐消息 | 53 | //从列表数据本地移除提前点餐消息 |
| 50 | bus.on("remove_untreated_message_order", (args) { | 54 | bus.on("remove_untreated_message_order", (args) { |
| 1 | import 'package:flutter/material.dart'; | 1 | import 'package:flutter/material.dart'; |
| 2 | import 'package:flutter_screenutil/flutter_screenutil.dart'; | 2 | import 'package:flutter_screenutil/flutter_screenutil.dart'; |
| 3 | +import 'package:one_key/constant/state.dart'; | ||
| 4 | +import 'package:one_key/pages/message/message_online_check_page.dart'; | ||
| 3 | import 'package:one_key/provider/message_model.dart'; | 5 | import 'package:one_key/provider/message_model.dart'; |
| 4 | import 'package:one_key/provider/user_model.dart'; | 6 | import 'package:one_key/provider/user_model.dart'; |
| 5 | import 'package:one_key/res/colors.dart'; | 7 | import 'package:one_key/res/colors.dart'; |
| @@ -10,6 +12,9 @@ import 'package:provider/provider.dart'; | @@ -10,6 +12,9 @@ import 'package:provider/provider.dart'; | ||
| 10 | import 'message_online_page.dart'; | 12 | import 'message_online_page.dart'; |
| 11 | import 'message_order_page.dart'; | 13 | import 'message_order_page.dart'; |
| 12 | 14 | ||
| 15 | +/* | ||
| 16 | + 消息中心 | ||
| 17 | +*/ | ||
| 13 | class MessagePage extends StatefulWidget { | 18 | class MessagePage extends StatefulWidget { |
| 14 | @override | 19 | @override |
| 15 | State<StatefulWidget> createState() { | 20 | State<StatefulWidget> createState() { |
| @@ -30,14 +35,16 @@ class MessagePageState extends State<MessagePage> | @@ -30,14 +35,16 @@ class MessagePageState extends State<MessagePage> | ||
| 30 | 35 | ||
| 31 | @override | 36 | @override |
| 32 | void initState() { | 37 | void initState() { |
| 33 | - // TODO: implement initState | ||
| 34 | super.initState(); | 38 | super.initState(); |
| 35 | - tabController = TabController(length: 2, vsync: this); | 39 | + tabController = TabController(length: 3, vsync: this); |
| 36 | tabController.addListener(() { | 40 | tabController.addListener(() { |
| 37 | - setState(() {}); | 41 | + //点击tab时或滑动tab回调一次 |
| 42 | + if (tabController.index.toDouble() == tabController.animation.value) { | ||
| 43 | + getMessage(index: tabController.index); | ||
| 44 | + } | ||
| 38 | }); | 45 | }); |
| 39 | WidgetsBinding.instance.addPostFrameCallback((timeStamp) { | 46 | WidgetsBinding.instance.addPostFrameCallback((timeStamp) { |
| 40 | - _getUnMsgNum(); | 47 | + getMessage(index: 0); |
| 41 | }); | 48 | }); |
| 42 | //刷新未读数 | 49 | //刷新未读数 |
| 43 | bus.on("refresh_untreated_num", (arg) { | 50 | bus.on("refresh_untreated_num", (arg) { |
| @@ -51,6 +58,27 @@ class MessagePageState extends State<MessagePage> | @@ -51,6 +58,27 @@ class MessagePageState extends State<MessagePage> | ||
| 51 | await messageModel.getUnMsgNum(context, params); | 58 | await messageModel.getUnMsgNum(context, params); |
| 52 | } | 59 | } |
| 53 | 60 | ||
| 61 | + //获取在线预订消息status 0未处理 1已处理 | ||
| 62 | + getMessage({bool showLoading = true, int index}) async { | ||
| 63 | + String typeId = ''; | ||
| 64 | + if (index == 0) { | ||
| 65 | + typeId = '10'; | ||
| 66 | + } else if (index == 1) { | ||
| 67 | + typeId = '1'; | ||
| 68 | + } else if (index == 2) { | ||
| 69 | + typeId = '12'; | ||
| 70 | + } | ||
| 71 | + Map<String, String> params = { | ||
| 72 | + "sid": userModel.user.sellerid, | ||
| 73 | + "type_id": typeId, //1提前点餐2内部预订10在线预订 | ||
| 74 | + "status": '0', | ||
| 75 | + "offset": '0', | ||
| 76 | + "limit": "20", | ||
| 77 | + }; | ||
| 78 | + await messageModel.getMessages(context, params, showLoading: showLoading); | ||
| 79 | + _getUnMsgNum(); | ||
| 80 | + } | ||
| 81 | + | ||
| 54 | @override | 82 | @override |
| 55 | Widget build(BuildContext context) { | 83 | Widget build(BuildContext context) { |
| 56 | messageModel = Provider.of<MessageModel>(context, listen: true); | 84 | messageModel = Provider.of<MessageModel>(context, listen: true); |
| @@ -134,6 +162,39 @@ class MessagePageState extends State<MessagePage> | @@ -134,6 +162,39 @@ class MessagePageState extends State<MessagePage> | ||
| 134 | ), | 162 | ), |
| 135 | ), | 163 | ), |
| 136 | ), | 164 | ), |
| 165 | + Tab( | ||
| 166 | + child: SizedBox( | ||
| 167 | + height: ScreenUtil().setWidth(60), | ||
| 168 | + width: ScreenUtil().setWidth(144), | ||
| 169 | + child: Stack( | ||
| 170 | + children: [ | ||
| 171 | + Text( | ||
| 172 | + "在线买单", | ||
| 173 | + style: TextStyle( | ||
| 174 | + color: tabController.index == 2 | ||
| 175 | + ? selectedColor | ||
| 176 | + : unSelectedColor, | ||
| 177 | + fontSize: ScreenUtil().setSp(32), | ||
| 178 | + fontWeight: FontWeight.bold), | ||
| 179 | + ), | ||
| 180 | + Positioned( | ||
| 181 | + top: 0, | ||
| 182 | + right: 0, | ||
| 183 | + child: Container( | ||
| 184 | + width: ScreenUtil().setWidth(16), | ||
| 185 | + height: ScreenUtil().setWidth(16), | ||
| 186 | + decoration: BoxDecoration( | ||
| 187 | + borderRadius: BorderRadius.circular( | ||
| 188 | + ScreenUtil().setWidth(16)), | ||
| 189 | + color: messageModel.checkTotal > 0 | ||
| 190 | + ? MyColours.color_fa5151 | ||
| 191 | + : MyColours.color_ffffff), | ||
| 192 | + ), | ||
| 193 | + ) | ||
| 194 | + ], | ||
| 195 | + ), | ||
| 196 | + ), | ||
| 197 | + ) | ||
| 137 | ], | 198 | ], |
| 138 | indicatorColor: MyColours.color_199095, | 199 | indicatorColor: MyColours.color_199095, |
| 139 | indicatorSize: TabBarIndicatorSize.label, | 200 | indicatorSize: TabBarIndicatorSize.label, |
| @@ -145,9 +206,11 @@ class MessagePageState extends State<MessagePage> | @@ -145,9 +206,11 @@ class MessagePageState extends State<MessagePage> | ||
| 145 | VEmptyView(11), | 206 | VEmptyView(11), |
| 146 | Expanded( | 207 | Expanded( |
| 147 | flex: 1, | 208 | flex: 1, |
| 148 | - child: TabBarView( | ||
| 149 | - controller: tabController, | ||
| 150 | - children: [MessageOnlinePage(), MessageOrderPage()]), | 209 | + child: TabBarView(controller: tabController, children: [ |
| 210 | + MessageOnlinePage(), | ||
| 211 | + MessageOrderPage(), | ||
| 212 | + MessageOnlineCheckPage() | ||
| 213 | + ]), | ||
| 151 | ) | 214 | ) |
| 152 | ], | 215 | ], |
| 153 | ), | 216 | ), |
| @@ -23,17 +23,29 @@ class MessageItem extends StatelessWidget { | @@ -23,17 +23,29 @@ class MessageItem extends StatelessWidget { | ||
| 23 | Color textColor = | 23 | Color textColor = |
| 24 | isTreated ? MyColours.color_999999 : MyColours.color_353535; | 24 | isTreated ? MyColours.color_999999 : MyColours.color_353535; |
| 25 | String titleText = ""; | 25 | String titleText = ""; |
| 26 | + String subTitleTextFir = ""; | ||
| 27 | + String subTitleTextSec = ""; | ||
| 26 | if (message.message_type == "10") { | 28 | if (message.message_type == "10") { |
| 27 | titleText = "在线预订"; | 29 | titleText = "在线预订"; |
| 30 | + subTitleTextFir = '包间需求'; | ||
| 31 | + subTitleTextSec = '就餐时间'; | ||
| 28 | } else if (message.message_type == "11") { | 32 | } else if (message.message_type == "11") { |
| 29 | titleText = "取消预订"; | 33 | titleText = "取消预订"; |
| 30 | } else if (message.message_type == "1") { | 34 | } else if (message.message_type == "1") { |
| 31 | titleText = "提前点餐"; | 35 | titleText = "提前点餐"; |
| 36 | + subTitleTextFir = '桌位信息'; | ||
| 37 | + subTitleTextSec = '就餐时间'; | ||
| 38 | + } else if (message.message_type == "12") { | ||
| 39 | + titleText = "在线买单"; | ||
| 40 | + subTitleTextFir = '桌位信息'; | ||
| 41 | + subTitleTextSec = '申请时间'; | ||
| 32 | } | 42 | } |
| 43 | + | ||
| 33 | MessageDialogModel messageDialogModel = | 44 | MessageDialogModel messageDialogModel = |
| 34 | Provider.of<MessageDialogModel>(context, listen: false); | 45 | Provider.of<MessageDialogModel>(context, listen: false); |
| 35 | return GestureDetector( | 46 | return GestureDetector( |
| 36 | onTap: () { | 47 | onTap: () { |
| 48 | + //true已处理跳转 false未处理列表不需要点击事件 | ||
| 37 | if (isTreated) { | 49 | if (isTreated) { |
| 38 | if (message.message_type == "10") { | 50 | if (message.message_type == "10") { |
| 39 | NavigatorUtil.goNotebookDetailPage( | 51 | NavigatorUtil.goNotebookDetailPage( |
| @@ -43,6 +55,8 @@ class MessageItem extends StatelessWidget { | @@ -43,6 +55,8 @@ class MessageItem extends StatelessWidget { | ||
| 43 | } else if (message.message_type == "11") { | 55 | } else if (message.message_type == "11") { |
| 44 | NavigatorUtil.goNotebookDetailPage( | 56 | NavigatorUtil.goNotebookDetailPage( |
| 45 | context, message.rid.toString()); | 57 | context, message.rid.toString()); |
| 58 | + } else if (message.message_type == "12") { | ||
| 59 | + //在线买单消息查看 | ||
| 46 | } | 60 | } |
| 47 | } | 61 | } |
| 48 | }, | 62 | }, |
| @@ -96,14 +110,14 @@ class MessageItem extends StatelessWidget { | @@ -96,14 +110,14 @@ class MessageItem extends StatelessWidget { | ||
| 96 | crossAxisAlignment: CrossAxisAlignment.start, | 110 | crossAxisAlignment: CrossAxisAlignment.start, |
| 97 | children: <Widget>[ | 111 | children: <Widget>[ |
| 98 | Text( | 112 | Text( |
| 99 | - "${message.message_type == '1' ? '桌位信息:' : '包间需求:'}${message.message_type == '1' ? message.room_info : message.room_demand}", | 113 | + "${subTitleTextFir}:${message.message_type == '1' ? message.room_info : message.room_demand}", |
| 100 | style: TextStyle( | 114 | style: TextStyle( |
| 101 | color: textColor, | 115 | color: textColor, |
| 102 | fontSize: ScreenUtil().setSp(28)), | 116 | fontSize: ScreenUtil().setSp(28)), |
| 103 | ), | 117 | ), |
| 104 | VEmptyView(10), | 118 | VEmptyView(10), |
| 105 | Text( | 119 | Text( |
| 106 | - "就餐时间:${message.ddateStr}", | 120 | + "${subTitleTextSec}:${message.message_type != '12' ? message.ddateStr : message.cdateStr}", |
| 107 | style: TextStyle( | 121 | style: TextStyle( |
| 108 | color: textColor, | 122 | color: textColor, |
| 109 | fontSize: ScreenUtil().setSp(28)), | 123 | fontSize: ScreenUtil().setSp(28)), |
| @@ -129,7 +143,10 @@ class MessageItem extends StatelessWidget { | @@ -129,7 +143,10 @@ class MessageItem extends StatelessWidget { | ||
| 129 | width: 152, | 143 | width: 152, |
| 130 | height: 50, | 144 | height: 50, |
| 131 | fontSize: 30, | 145 | fontSize: 30, |
| 132 | - content: message.message_type == "10" ? "立即处理" : "立即查看", | 146 | + content: message.message_type == "10" || |
| 147 | + message.message_type == "12" | ||
| 148 | + ? "立即处理" | ||
| 149 | + : "立即查看", | ||
| 133 | state: 1, | 150 | state: 1, |
| 134 | onPress: () async { | 151 | onPress: () async { |
| 135 | messageDialogModel.removeMessage(message.id); | 152 | messageDialogModel.removeMessage(message.id); |
| @@ -172,6 +189,8 @@ class MessageItem extends StatelessWidget { | @@ -172,6 +189,8 @@ class MessageItem extends StatelessWidget { | ||
| 172 | await messageDialogModel.setMessageStatus( | 189 | await messageDialogModel.setMessageStatus( |
| 173 | context, params); | 190 | context, params); |
| 174 | bus.emit("refresh_untreated_num"); //刷新未读消息数目 | 191 | bus.emit("refresh_untreated_num"); //刷新未读消息数目 |
| 192 | + } else if (message.message_type == "12") { | ||
| 193 | + //在线买单消息 去处理 跳转在线买单处理页面 | ||
| 175 | } | 194 | } |
| 176 | }, | 195 | }, |
| 177 | ), | 196 | ), |
lib/pages/online_check/online_check_
0 → 100644
| @@ -13,10 +13,18 @@ class MessageModel extends ChangeNotifier { | @@ -13,10 +13,18 @@ class MessageModel extends ChangeNotifier { | ||
| 13 | List<Message> unMessagesOnline = []; //未读在线消息(取消预定和新的预订) | 13 | List<Message> unMessagesOnline = []; //未读在线消息(取消预定和新的预订) |
| 14 | List<Message> unMessagesOrder = []; //未读提前点餐消息 | 14 | List<Message> unMessagesOrder = []; //未读提前点餐消息 |
| 15 | PageState pageState = PageState.Loading; | 15 | PageState pageState = PageState.Loading; |
| 16 | + // 未处理消息总数 | ||
| 17 | + int onlineTotal = 0; //在线消息 | ||
| 18 | + int inlineTotal = 0; //内部消息 | ||
| 19 | + int orderTotal = 0; //提前点餐 | ||
| 20 | + int checkTotal = 0; //在线买单 | ||
| 16 | 21 | ||
| 17 | - int onlineTotal = 0; //未处理在线消息数目 | ||
| 18 | - int inlineTotal = 0; //未处理内部消息数目 | ||
| 19 | - int orderTotal = 0; //未处理提前点餐消息数目 | 22 | + initData() { |
| 23 | + messages = []; //消息 | ||
| 24 | + unMessagesOnline = []; //未读在线消息(取消预定和新的预订) | ||
| 25 | + unMessagesOrder = []; //未读提前点餐消息 | ||
| 26 | + pageState = PageState.Loading; | ||
| 27 | + } | ||
| 20 | 28 | ||
| 21 | //获取消息 | 29 | //获取消息 |
| 22 | getMessages(BuildContext context, Map<String, String> params, | 30 | getMessages(BuildContext context, Map<String, String> params, |
| @@ -100,6 +108,7 @@ class MessageModel extends ChangeNotifier { | @@ -100,6 +108,7 @@ class MessageModel extends ChangeNotifier { | ||
| 100 | onlineTotal = int.parse(baseResp.data['online_total'].toString()); | 108 | onlineTotal = int.parse(baseResp.data['online_total'].toString()); |
| 101 | inlineTotal = int.parse(baseResp.data['inline_total'].toString()); | 109 | inlineTotal = int.parse(baseResp.data['inline_total'].toString()); |
| 102 | orderTotal = int.parse(baseResp.data['order_total'].toString()); | 110 | orderTotal = int.parse(baseResp.data['order_total'].toString()); |
| 111 | + checkTotal = int.parse(baseResp.data['check_total'].toString()); | ||
| 103 | notifyListeners(); | 112 | notifyListeners(); |
| 104 | } | 113 | } |
| 105 | } | 114 | } |
-
Please register or login to post a comment