更改预约状态
This commit is contained in:
parent
411e85fb3d
commit
c6957c182f
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
});
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue