route_handles.dart 16.8 KB
import 'dart:convert';

import 'package:fluro/fluro.dart';
import 'package:flutter/material.dart';
import 'package:one_key/models/coupon_model.dart';
import 'package:one_key/models/notebook.dart';
import 'package:one_key/models/notebook_detail.dart';
import 'package:one_key/models/table_list.dart';
import 'package:one_key/pages/coupon/coupon_detail_page.dart';
import 'package:one_key/pages/coupon/coupon_edit_page.dart';
import 'package:one_key/pages/coupon/coupon_history_page.dart';
import 'package:one_key/pages/coupon/coupon_page.dart';
import 'package:one_key/pages/coupon/coupon_selecet_page.dart';
import 'package:one_key/pages/create_store/create_store.dart';
import 'package:one_key/pages/create_store/enter_store_address.dart';
import 'package:one_key/pages/create_store/enter_store_environment.dart';
import 'package:one_key/pages/create_store/enter_store_front_photo.dart';
import 'package:one_key/pages/create_store/enter_store_name.dart';
import 'package:one_key/pages/create_store/enter_store_phone.dart';
import 'package:one_key/pages/create_store/enter_store_position.dart';
import 'package:one_key/pages/create_store/enter_store_time.dart';
import 'package:one_key/pages/create_store/map_choice_point.dart';
import 'package:one_key/pages/create_store/play_video.dart';
import 'package:one_key/pages/detail/notebook_detail_change_page.dart';
import 'package:one_key/pages/home/home_page.dart';
import 'package:one_key/pages/invicate/invitation_page.dart';
import 'package:one_key/pages/login/binding_phone.dart';
import 'package:one_key/pages/login/if_need_create_store.dart';
import 'package:one_key/pages/login/login_page.dart';
import 'package:one_key/pages/detail/handle_online_page.dart';
import 'package:one_key/pages/detail/notebook_detail_page.dart';
import 'package:one_key/pages/login/web_page.dart';
import 'package:one_key/pages/message/message_order_menu.dart';
import 'package:one_key/pages/my/base_info.dart';
import 'package:one_key/pages/my/book_time_set.dart';
import 'package:one_key/pages/my/receive_orders_time_set.dart';
import 'package:one_key/pages/my/remark_manager_page.dart';
import 'package:one_key/pages/online_check/invoice_detail_page.dart';
import 'package:one_key/pages/online_check/online_check_detail_page.dart';
import 'package:one_key/pages/online_check/online_check_edit_page.dart';
import 'package:one_key/pages/sms/sms_page.dart';
import 'package:one_key/pages/table/select_table_page.dart';
import 'package:one_key/pages/webview/webview_page.dart';
import 'package:one_key/provider/book_set_time_model.dart';
import 'package:one_key/provider/choose_table_model.dart';
import 'package:one_key/provider/notebook_detail_change_model.dart';
import 'package:one_key/provider/notebook_detail_model.dart';
import 'package:one_key/provider/order_food_provider.dart';
import 'package:one_key/provider/other_login_provider.dart';
import 'package:one_key/provider/remark_manager_model.dart';
import 'package:one_key/provider/upload_img_provider.dart';
import 'package:one_key/utils/fluro_convert_utils.dart';
import 'package:provider/provider.dart';

// 登录页
var loginHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  return LoginPage();
});

// 跳转到主页
var homeHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  String initialIndex = params["initialIndex"].first;
  return HomePage(
    initialIndex: int.parse(initialIndex),
  );
});

// 跳转预订详情页
var reserveDetailHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  String rid = params['rid'].first;
  String mid = params['mid'].first;
  bool fromNotify = FluroConvertUtils.string2bool(params["fromNotify"].first);
  return ChangeNotifierProvider<NotebookDetailModel>(
      create: (_) => NotebookDetailModel(),
      child: NotebookDetailPage(
        rid,
        mid: mid,
        fromNotify: fromNotify,
      ));
});

// 跳转到处理在线预订
var handleOnlineHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  String rid = params['rid'].first;
  String mid = params["mid"].first;
  bool fromNotify = FluroConvertUtils.string2bool(params["fromNotify"].first);
  return ChangeNotifierProvider<NotebookDetailModel>(
      create: (_) => NotebookDetailModel(),
      child: HandleOnlinePage(rid, mid, fromNotify: fromNotify));
  // return HandleOnlinePage(rid, mid,fromNotify: fromNotify);
});

// 跳转到选择桌位
var handleSelectTableHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  String rid = params['rid'].first;
  DateTime dateTime =
      DateTime.fromMillisecondsSinceEpoch(int.parse(params["dateTime"].first));
  String ddate_slot = params["ddate_slot"].first;
  bool canChoose = params["canChoose"].first == "true" ? true : false;
  List<TableList> res = [];
  if (params.keys.contains('object')) {
    Map object = FluroConvertUtils.string2map(params["object"].first);
    List temp = object['object'];

    for (var item in temp) {
      res.add(TableList.fromJson(item));
    }
  }

  // return SelectTablePage(rid, dateTime, ddate_slot,canChoose: canChoose);
  return ChangeNotifierProvider<ChooseTableModel>(
      create: (_) => ChooseTableModel(),
      child: SelectTablePage(rid, dateTime, ddate_slot,
          canChoose: canChoose, tableList: res));
});

// 跳转到邀请函页面
var handleInvicationHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  String rid = params["rid"].first;
  String tableInfo =
      FluroConvertUtils.fluroCnParamsDecode(params["tableInfo"].first);
  String ddate = params["ddate"].first;
  String ddateStr =
      FluroConvertUtils.fluroCnParamsDecode(params["ddateStr"].first);
  String phone = params["phone"].first;
  return InvicationPage(rid, tableInfo, ddate, ddateStr, phone);
});

// 发短信
var handleSmsHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  String rid = params["rid"].first;
  return SmsPage(rid);
});

// 浏览网页
var handleWebviewHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  return WebViewPage();
});

// 协议
var webPageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  String _title = params["title"].first;
  String _url = params["url"].first;
  return WebPage(title: _title, url: _url);
});

// 跳转到变更预订
var handleChangeDetailHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // String rid=params['rid'].first;
  // NotebookDetail detailEntity = params["detailEntity"].first;
  NotebookDetail detailEntity = NotebookDetail.fromJson(json
      .decode(FluroConvertUtils.fluroCnParamsDecode(params["detail"].first)));
  String rid = params['rid'].first;
  return ChangeNotifierProvider<NotebookDetailChangeModel>(
      create: (_) => NotebookDetailChangeModel(detailEntity),
      child: ChangeNotifierProvider<RemarkManagerModel>(
          create: (_) => RemarkManagerModel(),
          child: NoteBookChangePage(detailEntity: detailEntity, rid: rid)));
});

// 跳转可订时段管理页面
var handleBookTimeSetHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  return ChangeNotifierProvider<BookSetTimeModel>(
      create: (_) => BookSetTimeModel(), child: BookTimeSetPage());
});

// 跳转接单时间管理
var handleReceiveOrdersTimeSetHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  return ChangeNotifierProvider<BookSetTimeModel>(
      create: (_) => BookSetTimeModel(), child: ReceiveOrdersTimeSetPage());
});

// 常用备注管理
var handleRemarkManagerHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  return ChangeNotifierProvider<RemarkManagerModel>(
      create: (_) => RemarkManagerModel(), child: RemarkManagerPage());
});

///已点菜品
var handleHasOrderFoodHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  String rid = params["rid"].first;
  bool fromNotify = FluroConvertUtils.string2bool(params["fromNotify"].first);
  return ChangeNotifierProvider<OrderFoodProvider>(
      create: (_) => OrderFoodProvider(),
      child: MessageHasOrderFoodPage(rid: rid, fromNotify: fromNotify));
});

///提前买单编辑页面
var handleOnlineCheckEditHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  String rid = params["rid"].first;
  String mid = params["mid"].first;
  bool fromNotify = FluroConvertUtils.string2bool(params["fromNotify"].first);
  return ChangeNotifierProvider<OrderFoodProvider>(
      create: (_) => OrderFoodProvider(),
      child: ChangeNotifierProvider<UploadImageProvider>(
          create: (_) => UploadImageProvider(),
          child: OnlineCheckEditPage(
            fromNotify: fromNotify,
            rid: rid,
            mid: mid,
          )));
});

///提前买单查看页面
var handleOnlineCheckDetailPageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  String rid = params["rid"].first;
  bool fromNotify = FluroConvertUtils.string2bool(params["fromNotify"].first);
  return ChangeNotifierProvider<OrderFoodProvider>(
      create: (_) => OrderFoodProvider(),
      child: OnlineCheckDetailPage(fromNotify: fromNotify, rid: rid));
});

///发票详情
var handleInvoiceDetailPageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  String rid = params["rid"].first;
  bool fromNotify = FluroConvertUtils.string2bool(params["fromNotify"].first);
  return ChangeNotifierProvider<OrderFoodProvider>(
      create: (_) => OrderFoodProvider(),
      child: InvoiceDetailPage(fromNotify: fromNotify, rid: rid));
});

///优惠券列表
var handleCouponPageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // String rid = params["rid"].first;
  // bool fromNotify = FluroConvertUtils.string2bool(params["fromNotify"].first);
  return CouponPage();
});

///优惠券历史列表
var handleCouponHistoryPageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // String rid = params["rid"].first;
  // bool fromNotify = FluroConvertUtils.string2bool(params["fromNotify"].first);
  return CouponHistoryPage();
});

///创建优惠券
var handleCouponEditPageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // String rid = params["rid"].first;
  // bool fromNotify = FluroConvertUtils.string2bool(params["fromNotify"].first);
  return CouponEidtPage();
});

///选择优惠券
var handleCouponSelectPageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  String rid = params["rid"].first;
  bool hasModify = FluroConvertUtils.string2bool(params["hasModify"].first);
  return CouponSelectPage(rid: rid, hasModify: hasModify);
});

///优惠券详情页
var handleCouponDetailPageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
      FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));

  return CouponDetailPage(couponSunModel: couponSunModel);
});

///个人资料页面
var baseInfoPageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
  //     FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));

  return BaseInfoPage();
});

///绑定手机号码页面
var bindingPhonePageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
  //     FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));

  return ChangeNotifierProvider<OtherLoginProvider>(
      create: (_) => OtherLoginProvider(), child: BindingPhone());
});

///是否新建店铺页面
var ifNeedCreateStorePageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
  //     FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));

  return IfNeedCreateStore();
});

///新建店铺页面
var createStorePageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
  //     FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));
  return ChangeNotifierProvider<UploadImageProvider>(
      create: (_) => UploadImageProvider(), child: CreateStorePage());
});

///播放视频页
var playVideoPageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
  //     FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));
  String urlStr = FluroConvertUtils.fluroCnParamsDecode(params["urlStr"].first);
  return PlayVideoPage(url: urlStr);
});

///位置选择页 地图
var mapChoicePointPageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
  //     FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));
  // String urlStr = FluroConvertUtils.fluroCnParamsDecode(params["urlStr"].first);
  return MapChoicePointPage();
});

///店铺名称
var enterStoreNamePageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
  //     FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));
  // String urlStr = FluroConvertUtils.fluroCnParamsDecode(params["urlStr"].first);
  return EnterStoreNamePage();
});

///店铺地址
var enterStoreAddressPageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
  //     FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));
  // String urlStr = FluroConvertUtils.fluroCnParamsDecode(params["urlStr"].first);
  return EnterStoreAddressPage();
});

///店铺担任角色
var enterStorePositionPageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
  //     FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));
  // String urlStr = FluroConvertUtils.fluroCnParamsDecode(params["urlStr"].first);
  return EnterStorePositionPage();
});

///店铺营业时间
var enterStoreTimePageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
  //     FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));
  // String urlStr = FluroConvertUtils.fluroCnParamsDecode(params["urlStr"].first);
  return EnterStoreTimePage();
});

///店铺接单电话
var enterStorePhonePageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
  //     FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));
  // String urlStr = FluroConvertUtils.fluroCnParamsDecode(params["urlStr"].first);
  return EnterStorePhonePage();
});

///店铺门头照片
var enterStoreFrontPhotoPageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
  //     FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));
  // String urlStr = FluroConvertUtils.fluroCnParamsDecode(params["urlStr"].first);
  return ChangeNotifierProvider<UploadImageProvider>(
      create: (_) => UploadImageProvider(), child: EnterStoreFrontPhotoPage());
});

///店铺环境
var enterStoreEnvironmentPageHandler = new Handler(
    handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
  //     FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));
  // String urlStr = FluroConvertUtils.fluroCnParamsDecode(params["urlStr"].first);
  return ChangeNotifierProvider<UploadImageProvider>(
      create: (_) => UploadImageProvider(), child: EnterStoreEnvironmentPage());
});