Files
pj_supermarket_cloud/lib/pages/panel/controller.dart
T
2025-03-09 18:53:36 +08:00

83 lines
2.3 KiB
Dart

import 'package:get/get.dart';
import 'package:pj_supermarket_cloud/common/index.dart';
class PanelController extends GetxController {
PanelController();
static const String _tag = "菜单页面 Controller";
RxList<PanelItem> panelBtnList = <PanelItem>[
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<void> _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();
}
}