更改预约状态

This commit is contained in:
GYJ 2024-11-27 16:03:48 +08:00
parent 411e85fb3d
commit c6957c182f
2 changed files with 59 additions and 1 deletions

View File

@ -10,6 +10,7 @@ import 'package:cashier_reserve/data_model/reserve/reserve_log_model.dart';
import 'package:cashier_reserve/data_model/reserve/table_area_model.dart';
import 'package:cashier_reserve/data_model/reserve/table_model.dart';
import 'package:cashier_reserve/model/reserve_model.dart';
import 'package:flutter/cupertino.dart';
import 'package:url_launcher/url_launcher.dart';
class ReserveViewModel extends BaseUIModel {
@ -328,7 +329,15 @@ class ReserveViewModel extends BaseUIModel {
TableAreaModel? area = _tableAreaMap[table.areaId!];
showTableName = "${area?.name ?? ""} - ${table.name}";
notifyListeners();
return;
}
if (table.bookingInfo == null) {
return;
}
_changeReserveStatus(table);
}
_resetReserveData() {
@ -348,6 +357,49 @@ class ReserveViewModel extends BaseUIModel {
showTableName = "";
}
_changeReserveStatus(TableModel table) async {
var result = await showCupertinoModalPopup(
context: context!,
builder: (context) {
return CupertinoActionSheet(
title: const Text('预定信息'),
actions: <Widget>[
CupertinoActionSheetAction(
onPressed: () {
Navigator.of(context).pop('arrive');
},
isDefaultAction: true,
child: const Text('到店'),
),
CupertinoActionSheetAction(
child: const Text('取消预定'),
onPressed: () {
Navigator.of(context).pop('cancelBooking');
},
// isDestructiveAction: true,
),
],
cancelButton: CupertinoActionSheetAction(
child: const Text('取消'),
onPressed: () {
Navigator.of(context).pop('cancel');
},
),
);
});
yjPrint('$result');
if (result == 'arrive') {
await ReserveModel.updateReserveStatus(table.bookingInfo?.id ?? 0, 10);
Utils.toast("到店成功", context);
loadAreaTableList(0);
} else if (result == 'cancelBooking') {
ReserveModel.updateReserveStatus(table.bookingInfo?.id ?? 0, -1);
Utils.toast("取消成功", context);
loadAreaTableList(0);
}
}
bool _checkReserveInfo() {
if (selectedTable == null) {
Utils.toast("请选择台桌", context);

View File

@ -1,4 +1,3 @@
import 'package:cashier_reserve/common/print/print.dart';
import 'package:cashier_reserve/common/request/request_manager.dart';
import 'package:cashier_reserve/data_model/reserve/reserve_log_model.dart';
import 'package:cashier_reserve/data_model/reserve/table_area_model.dart';
@ -65,4 +64,11 @@ class ReserveModel {
final r = await RequestManager.get("/api/booking/shop-table/sms");
return r.toString();
}
static Future<void> updateReserveStatus(num reserveId, num status) async {
await RequestManager.post("/api/booking/shop-table/mark-status", {
"id": reserveId,
"status": status,
});
}
}