message_online_page.dart 7.22 KB
// import 'package:flutter/material.dart';
// import 'package:flutter_easyrefresh/easy_refresh.dart';
// import 'package:flutter_screenutil/flutter_screenutil.dart';
// import 'package:one_key/constant/state.dart';
// import 'package:one_key/pages/message/messsage_item.dart';
// import 'package:one_key/provider/message_dialog_model.dart';
// import 'package:one_key/provider/message_model.dart';
// import 'package:one_key/provider/user_model.dart';
// import 'package:one_key/res/colors.dart';
// import 'package:one_key/widgets/page_error.dart';
// import 'package:one_key/widgets/page_exception.dart';
// import 'package:provider/provider.dart';
// import 'package:one_key/utils/event_bus.dart';

// /**
//  * 在线预订消息
//  */
// class MessageOnlinePage extends StatefulWidget {
//   @override
//   State<StatefulWidget> createState() {
//     // TODO: implement createState
//     return new MessageOnlinePageState();
//   }
// }

// class MessageOnlinePageState extends State<MessageOnlinePage> {
//   EasyRefreshController _controller;

//   Color selectedColor = MyColours.color_199095;
//   Color unSelectedColor = MyColours.color_999999;

//   int selectedIndex = 0;

//   int offset = 0;
//   MessageModel messageModel;
//   UserModel userModel;
//   MessageDialogModel messageDialogModel;

//   @override
//   void initState() {
//     // TODO: implement initState
//     super.initState();
//     // //移除在线预订消息
//     // bus.on("remove_untreated_message", (args) {
//     //   messageModel.removeUntreatedMessageByMid(args.toString());
//     //   messageDialogModel.removeMessage(args.toString());
//     // });
//     _controller = EasyRefreshController();
//     // messageModel.pageState = PageState.Loading;
//     WidgetsBinding.instance.addPostFrameCallback((_) {
//       // getMessage();
//       // setState(() {
//       //   messageModel.pageState = PageState.Loading;
//       // });
//       messageModel.pageState = PageState.Loading;
//       messageModel.notifyListeners();
//     });
//   }

//   @override
//   void dispose() {
//     // TODO: implement dispose
//     super.dispose();
//     // bus.off("remove_untreated_message");
//   }

//   //三种分类各自的未读消息数目
//   _getUnMsgNum() async {
//     Map<String, String> params = {"sid": userModel.user.sellerid};
//     await messageModel.getUnMsgNum(context, params);
//   }

//   //获取在线预订消息status 0未处理 1已处理
//   getMessage({bool showLoading = true}) async {
//     Map<String, String> params = {
//       "sid": userModel.user.sellerid,
//       "type_id": "10", //1提前点餐2内部预订10在线预订
//       "status": selectedIndex.toString(),
//       "offset": offset.toString(),
//       "limit": "20",
//     };

//     await messageModel.getMessages(context, params, showLoading: showLoading);
//     _getUnMsgNum();
//   }

//   @override
//   Widget build(BuildContext context) {
//     messageModel = Provider.of<MessageModel>(context, listen: true);
//     userModel = Provider.of<UserModel>(context, listen: false);
//     messageDialogModel =
//         Provider.of<MessageDialogModel>(context, listen: false);
//     return Container(
//       color: MyColours.color_f5f5f5,
//       child: Column(
//         children: [
//           Container(
//             width: double.infinity,
//             height: ScreenUtil().setWidth(84),
//             color: MyColours.color_ffffff,
//             child: Row(
//               children: [
//                 Expanded(
//                     child: GestureDetector(
//                         behavior: HitTestBehavior.opaque,
//                         onTap: () {
//                           if (selectedIndex == 0) return;
//                           setState(() {
//                             selectedIndex = 0;
//                             messageModel.messages = [];
//                           });
//                           getMessage(showLoading: true);
//                         },
//                         child: Center(
//                           child: Text(
//                             "未处理",
//                             style: TextStyle(
//                                 color: selectedIndex == 0
//                                     ? selectedColor
//                                     : unSelectedColor,
//                                 fontSize: ScreenUtil().setSp(30)),
//                           ),
//                         ))),
//                 Expanded(
//                     child: GestureDetector(
//                         behavior: HitTestBehavior.opaque,
//                         onTap: () {
//                           if (selectedIndex == 1) return;
//                           setState(() {
//                             selectedIndex = 1;
//                             messageModel.messages = [];
//                           });
//                           getMessage(showLoading: true);
//                         },
//                         child: Center(
//                           child: Text(
//                             "已处理",
//                             style: TextStyle(
//                                 color: selectedIndex == 1
//                                     ? selectedColor
//                                     : unSelectedColor,
//                                 fontSize: ScreenUtil().setSp(30)),
//                           ),
//                         )))
//               ],
//             ),
//           ),
//           Expanded(
//             child: Consumer<MessageModel>(
//               builder: (context, model, _) {
//                 if (model.pageState != PageState.Success) {
//                   return ExceptionPage(
//                     pageState: model.pageState,
//                     callback: () {
//                       offset = 0;
//                       getMessage(showLoading: true);
//                     },
//                     emptyMsg:
//                         "暂时没有${selectedIndex == 0 ? '未处理' : '已处理'}的在线预订消息哦",
//                     emptyImg: "empty_search",
//                     showMsg: "加载中,请稍后...",
//                   );
//                 } else {
//                   return EasyRefresh.custom(
//                     controller: _controller,
//                     slivers: [
//                       SliverList(
//                         delegate: SliverChildBuilderDelegate(
//                             (BuildContext context, int index) {
//                           return MessageItem(
//                             model.messages[index],
//                             isTreated: selectedIndex == 1,
//                           );
//                         }, childCount: model.messages.length),
//                       )
//                     ],
//                     onRefresh: () async {
//                       offset = 0;
//                       getMessage(showLoading: false);
//                     },
//                     onLoad: () async {
//                       offset++;
//                       getMessage(showLoading: false);
//                     },
//                   );
//                 }
//               },
//             ),
//           )
//         ],
//       ),
//     );
//   }
// }