更改预约状态
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_area_model.dart';
|
||||||
import 'package:cashier_reserve/data_model/reserve/table_model.dart';
|
import 'package:cashier_reserve/data_model/reserve/table_model.dart';
|
||||||
import 'package:cashier_reserve/model/reserve_model.dart';
|
import 'package:cashier_reserve/model/reserve_model.dart';
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
class ReserveViewModel extends BaseUIModel {
|
class ReserveViewModel extends BaseUIModel {
|
||||||
|
|
@ -328,7 +329,15 @@ class ReserveViewModel extends BaseUIModel {
|
||||||
TableAreaModel? area = _tableAreaMap[table.areaId!];
|
TableAreaModel? area = _tableAreaMap[table.areaId!];
|
||||||
showTableName = "${area?.name ?? ""} - ${table.name}";
|
showTableName = "${area?.name ?? ""} - ${table.name}";
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (table.bookingInfo == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_changeReserveStatus(table);
|
||||||
}
|
}
|
||||||
|
|
||||||
_resetReserveData() {
|
_resetReserveData() {
|
||||||
|
|
@ -348,6 +357,49 @@ class ReserveViewModel extends BaseUIModel {
|
||||||
showTableName = "";
|
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() {
|
bool _checkReserveInfo() {
|
||||||
if (selectedTable == null) {
|
if (selectedTable == null) {
|
||||||
Utils.toast("请选择台桌", context);
|
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/common/request/request_manager.dart';
|
||||||
import 'package:cashier_reserve/data_model/reserve/reserve_log_model.dart';
|
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_area_model.dart';
|
||||||
|
|
@ -65,4 +64,11 @@ class ReserveModel {
|
||||||
final r = await RequestManager.get("/api/booking/shop-table/sms");
|
final r = await RequestManager.get("/api/booking/shop-table/sms");
|
||||||
return r.toString();
|
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