navigator_util.dart
4.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
import 'package:fluro/fluro.dart';
import 'package:flutter/material.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/res/colors.dart';
import 'package:one_key/route/routes.dart';
import 'package:one_key/utils/fluro_convert_utils.dart';
import 'package:one_key/utils/utils.dart';
import '../app.dart';
class NavigatorUtil {
static Future _navigateTo(BuildContext context, String path,
{bool replace = false,
bool clearStack = false,
Duration transitionDuration = const Duration(milliseconds: 250),
RouteTransitionsBuilder transitionBuilder}) {
Utils.changeStatusColor(color: MyColours.color_ffffff);
return App.router.navigateTo(context, path,
replace: replace,
clearStack: clearStack,
transitionDuration: transitionDuration,
transitionBuilder: transitionBuilder,
transition: TransitionType.material);
}
/// 登录页
static void goLoginPage(BuildContext context) {
_navigateTo(context, Routes.login, clearStack: true);
}
/// 首页
static void goHomePage(BuildContext context, {int initialIndex = 1}) {
_navigateTo(context, "${Routes.home}?initialIndex=$initialIndex",
clearStack: true);
}
/// 订单详情
static void goNotebookDetailPage(BuildContext context, String rid,
{String mid = "", bool fromNotify = false, replace = false}) {
_navigateTo(context,
"${Routes.reserve_detail}?rid=$rid&mid=$mid&fromNotify=$fromNotify",
replace: replace);
}
/// 处理在线预订
static void goHandleOnlinePage(BuildContext context, String rid, String mid,
{fromNotify = false, replace = false}) {
_navigateTo(context,
"${Routes.handle_online_page}?rid=$rid&mid=$mid&fromNotify=$fromNotify",
replace: replace);
}
/// 选择桌位
static Future goSelectTablePage(
BuildContext context, String rid, int dateTime, String ddate_slot,
{bool canChoose = false, Map object}) {
if (object != null) {
return _navigateTo(context,
"${Routes.select_table}?rid=$rid&dateTime=$dateTime&ddate_slot=$ddate_slot&canChoose=$canChoose&object=${FluroConvertUtils.object2string(object)}");
}
// object = {'object': [], "tid": ''};
return _navigateTo(context,
"${Routes.select_table}?rid=$rid&dateTime=$dateTime&ddate_slot=$ddate_slot&canChoose=$canChoose");
}
/// 邀请函
static void goInvicationPage(BuildContext context, String rid,
String tableInfo, String ddate, String ddateStr, String phone,
{bool replace = false}) {
_navigateTo(context,
"${Routes.invication}?rid=$rid&tableInfo=${FluroConvertUtils.fluroCnParamsEncode(tableInfo)}&ddate=$ddate&ddateStr=${FluroConvertUtils.fluroCnParamsEncode(ddateStr)}&phone=$phone",
replace: replace);
}
/// 发短信
static void goSmsPage(BuildContext context, String rid) {
_navigateTo(context, "${Routes.sms}?rid=$rid");
}
/// 浏览器
static void goWebviewPage(BuildContext context) {
_navigateTo(context, "${Routes.webview}");
}
///协议
static Future<dynamic> goWebPage(
BuildContext context, String title, String url) {
return _navigateTo(
context,
"${Routes.web_page}?title=${Uri.encodeComponent(title)}&url=$url",
);
}
/// 变更预订
static void goNoteBookChangePage(
BuildContext context, NotebookDetail detailEntity, String rid,
{replace = false}) {
if (detailEntity.type == "0") {
//内部预订
detailEntity.is_set_ddate = "1";
}
_navigateTo(context,
"${Routes.change_detail}?detail=${FluroConvertUtils.object2string(detailEntity)}&rid=$rid",
replace: replace);
}
/// 可订时段管理
static void goBookTimeSetPage(BuildContext context) {
_navigateTo(context, "${Routes.book_time_set}");
}
/// 可订时段管理
static void goReceiveOrdersTimeSetPage(BuildContext context) {
_navigateTo(context, "${Routes.receive_orders_time_set}");
}
/// 常用备注管理
static void goRemarkManagerPage(BuildContext context) {
_navigateTo(context, "${Routes.remark_manager}");
}
/// 已选菜品
static void goHasOrderFoodPage(BuildContext context, {String rid}) {
_navigateTo(context, "${Routes.has_order_food}?rid=${rid}");
}
}