123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- import 'package:cpt_auth/modules/setting/setting_page.dart';
- import 'package:domain/entity/home_module.dart';
- import 'package:get/get.dart';
- import 'package:plugin_platform/engine/toast/toast_engine.dart';
- import 'package:widgets/load_state_layout.dart';
- import 'package:widgets/widget_export.dart';
- import 'main_state.dart';
- class MainController extends GetxController {
- final MainState state = MainState();
- var _needShowPlaceholder = true;
- //页面PlaceHolder的展示
- LoadState loadingState = LoadState.State_Success;
- String? errorMessage;
- //刷新页面状态
- void changeLoadingState(LoadState state) {
- loadingState = state;
- update();
- }
- // Refresh 控制器
- final EasyRefreshController refreshController = EasyRefreshController(
- controlFinishRefresh: true,
- controlFinishLoad: false,
- );
- // Refresh 刷新事件
- Future onRefresh() async {
- fetchHomeData();
- }
- // 重试请求
- Future retryRequest() async {
- _needShowPlaceholder = true;
- fetchHomeData();
- }
- /// 获取首页的数据
- void fetchHomeData() async {
- //todo 这里需要调用接口实现
- if (_needShowPlaceholder) {
- changeLoadingState(LoadState.State_Loading);
- }
- await Future.delayed(Duration(seconds: 1));
- state.datas.clear();
- state.datas.addAll(state.modules);
- //更新状态
- changeLoadingState(LoadState.State_Success);
- refreshController.finishRefresh();
- //最后赋值
- _needShowPlaceholder = false;
- }
- @override
- void onReady() async {
- super.onReady();
- fetchHomeData();
- }
- /// 跳转到指定的模块中去
- void gotoModulePage(HomeModule module) {
- switch (module.moduleId) {
- case '1':
- ToastEngine.show("进入 Labour Request 模块");
- break;
- case '2':
- ToastEngine.show("进入 Job List 模块");
- break;
- case '3':
- ToastEngine.show("进入 Sign in Sign out 模块");
- break;
- case '4':
- ToastEngine.show("进入 Devices 模块");
- break;
- case '5':
- ToastEngine.show("进入 Labour Request Review 模块");
- break;
- case '6':
- ToastEngine.show("进入 Attendance Review 模块");
- break;
- case '7':
- ToastEngine.show("进入 Default Job Title 模块");
- break;
- case '8':
- ToastEngine.show("进入 Report 模块");
- break;
- }
- }
- /// 跳转到设置页面
- void gotoSettingPage() {
- SettingPage.startInstance();
- }
- }
|