feat:添加取餐页面
This commit is contained in:
1 parent
096b247fdd
commit
3c5ba3ae8a
12 files changed
+114
-18
No files matched your search
@@ -14,6 +14,7 @@ class PanelItem {
|
||||
enum PanelType implements BaseEnum {
|
||||
supermarketOrder("10", "超市购买"),
|
||||
canteenOrder("20", "点餐"),
|
||||
canteenReserve("25", "预定"),
|
||||
takeFood("30", "取餐"),
|
||||
orderHistory("40", "交易查询"),
|
||||
setting("50", "设置"),
|
||||
|
||||
@@ -17,6 +17,9 @@ class RouteNames {
|
||||
/// 取餐
|
||||
static const takeFood = '/take_food';
|
||||
|
||||
/// 食堂预定
|
||||
static const canteenReserve = '/canteen_reserve';
|
||||
|
||||
/// 交易查询
|
||||
static const orderHistory = '/order_history';
|
||||
|
||||
|
||||
@@ -41,6 +41,14 @@ class RoutePages {
|
||||
Get.lazyPut(() => SupermarketOrderController());
|
||||
}),
|
||||
),
|
||||
GetPage(
|
||||
name: RouteNames.canteenReserve,
|
||||
page: () => const CanteenReservePage(),
|
||||
binding: BindingsBuilder(() {
|
||||
Get.lazyPut(() => PanelController());
|
||||
Get.lazyPut(() => CanteenReserveController());
|
||||
}),
|
||||
),
|
||||
GetPage(
|
||||
name: RouteNames.takeFood,
|
||||
page: () => const TakeFoodPage(),
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class CanteenReserveController extends GetxController {
|
||||
CanteenReserveController();
|
||||
|
||||
_initData() {
|
||||
update(["canteen_reserve"]);
|
||||
}
|
||||
|
||||
void onTap() {}
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
}
|
||||
|
||||
@override
|
||||
void onReady() {
|
||||
super.onReady();
|
||||
_initData();
|
||||
}
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
super.onClose();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
library canteen_reserve;
|
||||
|
||||
export './controller.dart';
|
||||
export './view.dart';
|
||||
@@ -0,0 +1,34 @@
|
||||
import 'package:ducafe_ui_core/ducafe_ui_core.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:forui/forui.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import 'package:pj_supermarket_cloud/common/index.dart';
|
||||
|
||||
import 'index.dart';
|
||||
|
||||
class CanteenReservePage extends GetView<CanteenReserveController> {
|
||||
const CanteenReservePage({super.key});
|
||||
|
||||
// 主视图
|
||||
Widget _buildView(BuildContext context) {
|
||||
return const Center(
|
||||
child: Text("CanteenReservePage"),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return GetBuilder<CanteenReserveController>(
|
||||
init: CanteenReserveController(),
|
||||
id: "canteen_reserve",
|
||||
builder: (_) {
|
||||
return FScaffold(
|
||||
header: appDefaultNav(context, title: "预定"),
|
||||
content: _buildView(context).marginOnly(top: 20.h),
|
||||
resizeToAvoidBottomInset: false,
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
library;
|
||||
|
||||
export './canteen_product/index.dart';
|
||||
export './canteen_reserve/index.dart';
|
||||
export './card_active/index.dart';
|
||||
export './load/index.dart';
|
||||
export './login/index.dart';
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:common_utils/common_utils.dart';
|
||||
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import 'package:pj_supermarket_cloud/common/index.dart';
|
||||
@@ -13,6 +14,7 @@ class PanelController extends GetxController {
|
||||
RxList<PanelItem> panelBtnList = <PanelItem>[
|
||||
PanelItem(title: "购买", visible: false, type: PanelType.supermarketOrder),
|
||||
PanelItem(title: "点餐", visible: false, type: PanelType.canteenOrder),
|
||||
PanelItem(title: "预定", visible: false, type: PanelType.canteenReserve),
|
||||
PanelItem(title: "取餐", visible: false, type: PanelType.takeFood),
|
||||
PanelItem(title: "交易查询", visible: true, type: PanelType.orderHistory),
|
||||
PanelItem(title: "开卡管理", visible: true, type: PanelType.cardActive),
|
||||
@@ -24,6 +26,7 @@ class PanelController extends GetxController {
|
||||
final canteenMenus = [
|
||||
PanelType.canteenOrder,
|
||||
PanelType.takeFood,
|
||||
PanelType.canteenReserve,
|
||||
];
|
||||
|
||||
final supermarketMenus = [
|
||||
@@ -47,7 +50,15 @@ class PanelController extends GetxController {
|
||||
mqUpdateListen = appC.mqUpdateEventBus.on<MqtActionEnum>().listen(
|
||||
(event) async {
|
||||
if (event == MqtActionEnum.CONFIG) {
|
||||
await _updateMenus();
|
||||
EasyLoading.show(
|
||||
status: '配置修改中...',
|
||||
maskType: EasyLoadingMaskType.black,
|
||||
);
|
||||
try {
|
||||
await _updateMenus();
|
||||
} finally {
|
||||
EasyLoading.dismiss();
|
||||
}
|
||||
}
|
||||
},
|
||||
);
|
||||
@@ -80,6 +91,10 @@ class PanelController extends GetxController {
|
||||
if (!await _checkIsBind()) return;
|
||||
Get.toNamed(RouteNames.canteenProduct);
|
||||
break;
|
||||
case PanelType.canteenReserve:
|
||||
if (!await _checkIsBind()) return;
|
||||
Get.toNamed(RouteNames.canteenReserve);
|
||||
break;
|
||||
case PanelType.takeFood:
|
||||
if (!await _checkIsBind()) return;
|
||||
Get.toNamed(RouteNames.takeFood);
|
||||
@@ -130,6 +145,11 @@ class PanelController extends GetxController {
|
||||
Future<void> _updateMenus() async {
|
||||
final sysSetting = await AppSettingTool.getSysSetting();
|
||||
final sysType = sysSetting.sysType;
|
||||
for (final v in panelBtnList) {
|
||||
if (canteenMenus.contains(v.type) || supermarketMenus.contains(v.type)) {
|
||||
v.visible = false;
|
||||
}
|
||||
}
|
||||
for (final v in panelBtnList) {
|
||||
if (sysType == SysType.CANTEEN) {
|
||||
if (canteenMenus.contains(v.type)) {
|
||||
|
||||
+14
-14
@@ -16,10 +16,10 @@ class PanelPage extends GetView<PanelController> {
|
||||
return SizedBox(
|
||||
width: Get.context!.sizes.width * 0.2,
|
||||
height: double.infinity,
|
||||
child: <Widget>[
|
||||
appLogo(),
|
||||
Obx(
|
||||
() => controller.panelBtnList
|
||||
child: Obx(
|
||||
() => <Widget>[
|
||||
appLogo(),
|
||||
controller.panelBtnList
|
||||
.map((v) {
|
||||
if (!v.visible) return SizedBox.shrink();
|
||||
return FButton(
|
||||
@@ -34,16 +34,16 @@ class PanelPage extends GetView<PanelController> {
|
||||
})
|
||||
.toList()
|
||||
.toColumn(),
|
||||
),
|
||||
]
|
||||
.toColumnSpace(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
space: 20.h,
|
||||
)
|
||||
.scrollable()
|
||||
.center(),
|
||||
]
|
||||
.toColumnSpace(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
space: 20.h,
|
||||
)
|
||||
.scrollable()
|
||||
.center(),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
library;
|
||||
|
||||
export './controller.dart';
|
||||
export 'widgets/controller.dart';
|
||||
export './view.dart';
|
||||
@@ -139,8 +139,6 @@ class TakeFoodPage extends GetView<TakeFoodController> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final theme = FTheme.of(context);
|
||||
final height = 100;
|
||||
return GetBuilder<TakeFoodController>(
|
||||
init: TakeFoodController(),
|
||||
id: "take_food",
|
||||
|
||||
File renamed without changes.
Reference in new issue
Block a user