diff --git a/lib/common/services/database/dao/broadcast_dao.dart b/lib/common/services/database/dao/broadcast_dao.dart index 9fd122a..79c15a6 100644 --- a/lib/common/services/database/dao/broadcast_dao.dart +++ b/lib/common/services/database/dao/broadcast_dao.dart @@ -11,6 +11,9 @@ abstract class BroadcastDao { @insert Future batchSave(List entitys); + @update + Future edit(BroadcastEntity entity); + @Query(""" SELECT * FROM broadcast WHERE diff --git a/lib/pages/canteen_reserve/controller.dart b/lib/pages/canteen_reserve/controller.dart index ac65869..1729a35 100644 --- a/lib/pages/canteen_reserve/controller.dart +++ b/lib/pages/canteen_reserve/controller.dart @@ -1,3 +1,4 @@ +import 'package:flutter/src/widgets/framework.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:forui/forui.dart'; import 'package:get/get.dart'; @@ -87,4 +88,30 @@ class CanteenReserveController extends GetxController { totalPage.value = total ?? 0; reserveList.value = list; } + + // 切换播报状态 + Future toggle(BroadcastEntity v) async { + EasyLoading.show( + status: '切换中...', + maskType: EasyLoadingMaskType.black, + ); + final broadcastDao = appC.dataBase.getBroadcastDao; + v.enable = !v.enable; + await broadcastDao.edit(v); + await _getReservePage(); + EasyLoading.dismiss(); + } + + // 重置播报次数 + Future reset(BroadcastEntity v) async { + EasyLoading.show( + status: '重置中...', + maskType: EasyLoadingMaskType.black, + ); + final broadcastDao = appC.dataBase.getBroadcastDao; + v.broadcastCount = 0; + await broadcastDao.edit(v); + await _getReservePage(); + EasyLoading.dismiss(); + } } diff --git a/lib/pages/canteen_reserve/view.dart b/lib/pages/canteen_reserve/view.dart index b91dece..d49b667 100644 --- a/lib/pages/canteen_reserve/view.dart +++ b/lib/pages/canteen_reserve/view.dart @@ -145,10 +145,28 @@ class CanteenReservePage extends GetView { ).center(), ), DataCell( - Text( - DateUtil.formatDate(v.createTime), - textAlign: TextAlign.center, - ).center(), + [ + FButton( + label: Text( + v.enable ? "关闭播报" : '开启播报', + style: theme.typography.sm.copyWith( + color: theme.colorScheme.primary, + ), + ), + style: FButtonStyle.outline, + onPress: () => controller.toggle(v), + ), + FButton( + label: Text( + '充值播报次数', + style: theme.typography.sm.copyWith( + color: theme.colorScheme.primary, + ), + ), + style: FButtonStyle.outline, + onPress: () => controller.reset(v), + ), + ].toRow(), ), ], ),