import 'package:get/get.dart'; import 'package:pj_supermarket_cloud/common/index.dart'; class PanelController extends GetxController { PanelController(); static const String _tag = "菜单页面 Controller"; RxList panelBtnList = [ PanelItem(title: "购买", visible: false, type: PanelType.supermarketOrder), PanelItem(title: "点餐", visible: false, type: PanelType.canteenOrder), PanelItem(title: "取餐", visible: true, type: PanelType.takeFood), PanelItem(title: "交易查询", visible: true, type: PanelType.orderHistory), PanelItem(title: "开卡管理", visible: true, type: PanelType.cardActive), PanelItem(title: "设置", visible: true, type: PanelType.setting), PanelItem(title: "退出登录", visible: true, type: PanelType.logout), ].obs; final canteenMenus = [ PanelType.canteenOrder, ]; final supermarketMenus = [ PanelType.supermarketOrder, ]; _initData() async { await _updateMenus(); update(["panel"]); } @override void onReady() { super.onReady(); _initData(); } void doBtn(PanelType type) { switch (type) { case PanelType.supermarketOrder: Get.toNamed(RouteNames.supermarketProduct); break; case PanelType.canteenOrder: Get.toNamed(RouteNames.canteenProduct); break; case PanelType.takeFood: Get.toNamed(RouteNames.takeFood); break; case PanelType.orderHistory: Get.toNamed(RouteNames.orderHistory); break; case PanelType.setting: Get.toNamed(RouteNames.setting); break; case PanelType.cardActive: Get.toNamed(RouteNames.cardActive); break; case PanelType.logout: Get.offAndToNamed(RouteNames.login); break; default: break; } } Future _updateMenus() async { final sysSetting = await AppSettingTool.getSysSetting(); final sysType = sysSetting.sysType; for (final v in panelBtnList) { if (sysType == SysType.canteen) { if (canteenMenus.contains(v.type)) { v.visible = true; } } else if (sysType == SysType.supermarket) { if (supermarketMenus.contains(v.type)) { v.visible = true; } } } panelBtnList.refresh(); } }