my_router.dart 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. import 'package:lszlgl/page/login/login_page.dart';
  2. import 'package:lszlgl/page/main_tab_page.dart';
  3. import 'package:lszlgl/page/print/connect_print_page.dart';
  4. import 'package:lszlgl/page/print/print_page.dart';
  5. import 'package:lszlgl/page/sample_task/reap_sample_detail/reap_sample_task_page.dart';
  6. import 'package:lszlgl/page/sample_task/sample_task_list_tab_page.dart';
  7. import 'package:lszlgl/page/user_center/account_manage_page.dart';
  8. import 'package:lszlgl/page/user_center/change_pwd_page.dart';
  9. import 'package:lszlgl/page/user_center/setting_page.dart';
  10. import 'package:lszlgl/router/my_navigator.dart';
  11. import '../page/sample_task/stock_sample_detail/stock_sample_task_page.dart';
  12. import '../page/signature/signature_page.dart';
  13. // 根页面
  14. const rLoginPage = '/';
  15. // 主页
  16. const rMainTabPage = '/MainTabPage';
  17. // 账号管理
  18. const rAccountManagePage = '/AccountManagePage';
  19. // 设置
  20. const rSettingPage = '/SettingPage';
  21. // 修改密码
  22. const rChangePwdPage = '/ChangePwdPage';
  23. // 收获流程列表
  24. const rSampleTaskListTabPage = '/SampleTaskListTabPage';
  25. // 收获扦样任务
  26. const rReapSampleTaskPage = '/ReapSampleTaskPage';
  27. // 库存扦样任务
  28. const rStockSampleTaskPage = '/StockSampleTaskPage';
  29. // 电子签名
  30. const rSignaturePage = '/SignaturePage';
  31. // 打印
  32. const rPrintPage = '/PrintPage';
  33. // 连接
  34. const rConnectPrintPage = '/ConnectPrintPage';
  35. final Map<String, MyNavigatorBuilder> rRouteMap = {
  36. // 根页面
  37. rLoginPage: (context, args) => const LoginPage(),
  38. rMainTabPage: (context, args) => const MainTabPage(),
  39. rAccountManagePage: (context, args) => const AccountManagePage(),
  40. rSettingPage: (context, args) => const SettingPage(),
  41. rChangePwdPage: (context, args) => const ChangePwdPage(),
  42. rSampleTaskListTabPage: (context, args) => SampleTaskListTabPage(args: args as SampleTaskListTabPageArgs?),
  43. rReapSampleTaskPage: (context, args) => ReapSampleTaskPage(args: args as ReapSampleTaskPageArgs),
  44. rStockSampleTaskPage: (context, args) => StockSampleTaskPage(args: args as StockSampleTaskPageArgs),
  45. rSignaturePage: (context, args) => SignaturePage(args: args as SignaturePageArgs),
  46. rPrintPage: (context, args) => PrintPage(args: args as PrintPageArgs),
  47. rConnectPrintPage: (context, args) => ConnectPrintPage(args: args as ConnectPrintPageArgs),
  48. };
  49. class MyRouter {
  50. MyRouter._();
  51. /// 登录
  52. static void startLogin({bool popAll = false}) {
  53. if (popAll) {
  54. MyNavigator.pushRemoveUntil(rLoginPage, (route) => false);
  55. } else {
  56. MyNavigator.push(rLoginPage);
  57. }
  58. }
  59. /// 主页
  60. static void startMain({bool popAll = false}) {
  61. if (popAll) {
  62. MyNavigator.pushRemoveUntil(rMainTabPage, (route) => false);
  63. } else {
  64. MyNavigator.push(rMainTabPage);
  65. }
  66. }
  67. /// 账号管理
  68. static void startAccountManage() {
  69. MyNavigator.push(rAccountManagePage);
  70. }
  71. /// 设置
  72. static void startSetting() {
  73. MyNavigator.push(rSettingPage);
  74. }
  75. /// 修改密码
  76. static void startChangePwd() {
  77. MyNavigator.push(rChangePwdPage);
  78. }
  79. /// 收获环节列表
  80. static Future<dynamic> startSampleTaskList(SampleTaskListTabPageArgs args) {
  81. return MyNavigator.push(rSampleTaskListTabPage, args: args);
  82. }
  83. /// 收获扦样任务
  84. static Future<dynamic> startReapSampleTask({ReapSampleTaskPageArgs? args}) async {
  85. return MyNavigator.push(rReapSampleTaskPage, args: args ?? ReapSampleTaskPageArgs());
  86. }
  87. /// 库存扦样任务
  88. static Future<dynamic> startStockSampleTask({StockSampleTaskPageArgs? args}) {
  89. return MyNavigator.push(rStockSampleTaskPage, args: args ?? StockSampleTaskPageArgs());
  90. }
  91. /// 电子签名
  92. static Future<dynamic> startSignature({SignaturePageArgs? args}) {
  93. return MyNavigator.push(rSignaturePage, args: args ?? SignaturePageArgs());
  94. }
  95. /// 打印任务
  96. static Future<dynamic> startPrint({PrintPageArgs? args}) {
  97. return MyNavigator.push(rPrintPage, args: args ?? PrintPageArgs());
  98. }
  99. /// 打印任务
  100. static Future<dynamic> startConnectPrint({ConnectPrintPageArgs? args}) {
  101. return MyNavigator.push(rConnectPrintPage, args: args ?? ConnectPrintPageArgs());
  102. }
  103. }