Commit 86f482458f392606e1275d671e91ae0fb503fe47

Authored by wdn127929
1 parent 7211c2c9

宴会合并桌位

... ... @@ -30,6 +30,8 @@ import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import 'dart:convert' as convert;
import '../../models/get_board_model.dart';
class SelectTableFPage extends StatefulWidget {
final String rid; //预订id
final DateTime dateTime; //日期
... ... @@ -68,6 +70,7 @@ class SelectTableFPageState extends State<SelectTableFPage> {
bool isSelected = true; //全部按钮
int _selectNumber;
Map dailyMap = {}; // 早市对应半点钟,午市对应半点钟、晚市对应半点钟
List<Notebook> noteBooks;
@override
void initState() {
... ... @@ -208,6 +211,61 @@ class SelectTableFPageState extends State<SelectTableFPage> {
// }
}
//获取预订(原来普通预订和宴会预订)
_getReserveListAndFeastData(context, params, showloading) async {
UserModel userModel = Provider.of<UserModel>(context, listen: false);
String timeStrStart = widget.dateTime.year.toString() +
"-" +
Utils.addZeroNumber(widget.dateTime.month) +
"-" +
Utils.addZeroNumber(widget.dateTime.day) +
" 00:00:00";
String timeStrEnd = widget.dateTime.year.toString() +
"-" +
Utils.addZeroNumber(widget.dateTime.month) +
"-" +
Utils.addZeroNumber(widget.dateTime.day) +
" 23:59:59";
String start =
(DateUtil.getDateMsByTimeStr(timeStrStart) / 1000).floor().toString();
String end =
(DateUtil.getDateMsByTimeStr(timeStrEnd) / 1000).floor().toString();
Map<String, String> banquetmap = {
'sid': userModel.user.sellerid,
'rdate': '${start}',
'edate': '${end}',
'ddate_interval': widget.ddate_slot
};
return await Future.wait<bool>([
_getOldReserve(context, params, showloading),
_chooseTableModel.getBanquetByDate(context, banquetmap,
showLoading: showloading)
]).then((results) {
if (results[0] && results[1]) {
//成功
return true;
} else {
if (!results[0]) {
// Utils.showToast('');
} else {
// Utils.showToast('');
}
return false;
}
}).catchError((e) {
print(e);
return false;
});
}
Future<bool> _getOldReserve(context, params, showloading) async {
NoteBookModel model = new NoteBookModel();
noteBooks =
await model.getReserveList(context, params, needLoading: showloading);
return true;
}
//获取已预订列表
_getReserveList(String sid, {needLoading = true}) async {
NoteBookModel model = new NoteBookModel();
... ... @@ -220,20 +278,104 @@ class SelectTableFPageState extends State<SelectTableFPage> {
"keywords": "",
"sort": "1"
};
List<Notebook> noteBooks =
await model.getReserveList(context, params, needLoading: needLoading);
for (Notebook notebook in noteBooks) {
if (notebook.tid.isEmpty) continue;
if (notebook.status == "1" ||
notebook.status == "2" ||
notebook.status == "5") {
//已预订,用餐中,已安排
List<String> tids = notebook.tid.split(",");
for (String tid in tids) {
tableMap["$tid"] = notebook;
// List<Notebook> noteBooks =
// await model.getReserveList(context, params, needLoading: needLoading);
bool success =
await _getReserveListAndFeastData(context, params, needLoading);
if (success) {
List<FeastBoardModel> banquetByDateDataTemp = []; //转换为桌子id为key,data为value
_chooseTableModel.banquetByDateData.forEach((element) {
_chooseTableModel.tablesAll.forEach((table) {
if (table.name == element.title) {
FeastBoardModel feastBoardModel = FeastBoardModel();
feastBoardModel.title = table.id;
feastBoardModel.data = element.data;
banquetByDateDataTemp.add(feastBoardModel);
}
});
});
// banquetByDateData.map((e) => null)
String banquetKey = '';
if (widget.ddate_slot == '1') {
banquetKey = '早餐';
} else if (widget.ddate_slot == '2') {
banquetKey = '午餐';
} else if (widget.ddate_slot == '3') {
banquetKey = '晚餐';
}
banquetByDateDataTemp.forEach((element) {
FeastBoardSunModel feastBoardSunModel = element.data[banquetKey][0];
Notebook notebook = Notebook();
notebook.tid = element.title;
notebook.status = '10'; //宴会类型
notebook.className = feastBoardSunModel.className;
notebook.id = feastBoardSunModel.rid;
notebook.rname = feastBoardSunModel.rname;
notebook.nick_name =
feastBoardSunModel.nickName ?? feastBoardSunModel.account;
noteBooks.add(notebook);
});
for (Notebook notebook in noteBooks) {
if (notebook.tid.isEmpty) continue;
if (notebook.status == "1" ||
notebook.status == "2" ||
notebook.status == "5" ||
notebook.status == "10") {
//已预订,用餐中,已安排
List<String> tids = notebook.tid.split(",");
for (String tid in tids) {
tableMap["$tid"] = notebook;
}
}
}
// List<Notebook> noteBooks =
// await newGetReserveList(context, params, showLoading: showloading);
// List<t.Table> tempSelectTables = [];
// tempSelectTables.addAll(selectTables);
// String msg = '';
// for (Notebook notebook in noteBooks) {
// if (notebook.tid.isEmpty) continue;
// //已预订,用餐中,已安排
// List<String> tids = notebook.tid.split(",");
// for (String tid in tids) {
// if (notebook.status == "1" ||
// notebook.status == "2" ||
// notebook.status == "5" ||
// notebook.status == "10") {
// tableMap["$tid"] = notebook;
// ///预订按钮点击的时候提醒已经被预订的桌子
// ///
// if (showMsg && selectTables.length > 0) {
// for (t.Table item in selectTables) {
// if (item.id == tid) {
// msg += '${item.name},';
// tempSelectTables.remove(item);
// }
// }
// }
// }
// }
// }
// if (showMsg && msg != '' && selectTables.length > 0) {
// if (msg.endsWith(',')) {
// msg = msg.substring(0, msg.length - 1);
// }
// selectTables = tempSelectTables;
// Utils.showToast('${msg}已被预订,请选择其他桌位!');
// print(tableMap);
// initData(needKeep: needKeep);
// // notifyListeners();
// return false;
// }
// print(tableMap);
// initData(needKeep: needKeep);
// return true;
}
print(tableMap);
if (needLoading) {
initData();
... ... @@ -268,6 +410,7 @@ class SelectTableFPageState extends State<SelectTableFPage> {
table.pnum = notebook.actual_pnum;
table.nickName = notebook.nick_name;
table.noteName = notebook.note_name;
table.label = notebook.className;
//(不能移除自己定的桌子)
String idNow = '';
if (tableMap.containsKey('${table.id}')) {
... ... @@ -484,8 +627,9 @@ class SelectTableFPageState extends State<SelectTableFPage> {
shouldRebuild: (pre, next) => true,
selector: (context, model) => data[index],
builder: (context, table, _) {
return FTableItem(table, canSelected: true,
onSelected: (t.Table table) {
return FTableItem(table,
canSelected: true,
selectTables: selectTables, onSelected: (t.Table table) {
if (widget.fromPage == 'tablePhoto') {
for (String item in areaTableMap.keys) {
for (t.Table item in areaTableMap[item]) {
... ... @@ -503,15 +647,11 @@ class SelectTableFPageState extends State<SelectTableFPage> {
} else {
if ((table as t.Table).selected) {
selectTables.add(table);
selectNum++;
widget.tableList.add(tableToTableList(table));
} else {
widget.tableList.removeWhere((t) => t.id == table.id);
selectNum--;
selectTables.removeWhere((t) => t.id == table.id);
}
setState(() {});
... ... @@ -718,7 +858,7 @@ class SelectTableFPageState extends State<SelectTableFPage> {
model.tablesShow =
_chooseTableModel.tablesCanNote;
} else {
model.areaTableMapShow = model.areaTableMap;
model.areaTableMapShow = areaTableMap;
model.tablesShow = model.tablesAll;
}
});
... ...
... ... @@ -598,7 +598,7 @@ class _FeastBoardPageState extends State<FeastBoardPage> {
Expanded(
child: _callButton(
onPress: () async {
NavigatorUtil.goFeastCreatePage(context);
NavigatorUtil.goFeastCreatePage(context,isCreate: true);
},
content: '创建宴会',
hasLeftBorder: true,
... ...
... ... @@ -45,7 +45,9 @@ import '../../widgets/special_text/my_extended_text_selection_controls.dart';
class FeastCreatePage extends StatefulWidget {
final GetBanquetByIdNewSunModel banquetDetail;
FeastCreatePage({Key key, this.banquetDetail}) : super(key: key);
final bool isCreate;
FeastCreatePage({Key key, this.banquetDetail, this.isCreate = false})
: super(key: key);
@override
_FeastCreatePageState createState() => _FeastCreatePageState();
... ... @@ -4618,7 +4620,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
child: Scaffold(
backgroundColor: MyColours.color_ffffff,
appBar: SystemAppBar(
'新建宴会',
widget.isCreate ? '新建宴会' : '编辑宴会',
needWhite: true,
bgColor: MyColours.color_438E93,
titleColor: MyColours.color_F6F6F6,
... ...
... ... @@ -22,7 +22,8 @@ import '../../widgets/v_empty_view.dart';
class FeastDetailPage extends StatefulWidget {
final String rid;
FeastDetailPage({Key key, this.rid}) : super(key: key);
final bool canEdit;
FeastDetailPage({Key key, this.rid, this.canEdit = true}) : super(key: key);
@override
_FeastDetailPageState createState() => _FeastDetailPageState();
... ... @@ -50,6 +51,9 @@ class _FeastDetailPageState extends State<FeastDetailPage> {
void dispose() {
super.dispose();
bus.off('feast_detail_page');
if (!widget.canEdit) {
Utils.changeStatusColor(color: MyColours.color_ffffff);
}
}
///获取宴会详情
... ... @@ -717,7 +721,7 @@ class _FeastDetailPageState extends State<FeastDetailPage> {
),
Spacer(),
Text(
'${feastModel.banquetDetail.contractInfo.contractFinalPrice} 元',
'${feastModel.banquetDetail.contractInfo.contractFinalPrice ?? ''} 元',
style: TextStyle(
color: MyColours.color_515151,
fontWeight: FontWeight.bold,
... ... @@ -1292,49 +1296,51 @@ class _FeastDetailPageState extends State<FeastDetailPage> {
invoiceWidget()
]))),
),
Row(
children: [
Expanded(
child: _callButton(
onPress: () {
_showCancelWidget(context);
},
content: '丢单',
hasLeftBorder: true,
textColor: MyColours.color_E34D59,
isSelect: false)),
Expanded(
child: _callButton(
onPress: () async {
NavigatorUtil.goFeastCreatePage(context,
banquetDetail: {
'object': feastModel.banquetDetailMap
});
// selectMenu = '签约';
// menuSet.add('定金');
// menuSet.add('签约');
// setState(() {});
// for (UploadImgModel item in _uploadImageProvider
// .feastRemarkContractImageList) {
// if (item.process < 1) {
// Utils.showToast('正在上传图片,请稍等');
// return false;
// }
// }
// for (UploadImgModel item in _uploadImageProvider
// .feastRemarkInvoiceImageList) {
// if (item.process < 1) {
// Utils.showToast('正在上传图片,请稍等');
// return false;
// }
// }
// _setData();
},
content: '编辑宴会',
hasLeftBorder: true,
isSelect: true))
],
)
widget.canEdit
? Row(
children: [
Expanded(
child: _callButton(
onPress: () {
_showCancelWidget(context);
},
content: '丢单',
hasLeftBorder: true,
textColor: MyColours.color_E34D59,
isSelect: false)),
Expanded(
child: _callButton(
onPress: () async {
NavigatorUtil.goFeastCreatePage(context,
banquetDetail: {
'object': feastModel.banquetDetailMap
});
// selectMenu = '签约';
// menuSet.add('定金');
// menuSet.add('签约');
// setState(() {});
// for (UploadImgModel item in _uploadImageProvider
// .feastRemarkContractImageList) {
// if (item.process < 1) {
// Utils.showToast('正在上传图片,请稍等');
// return false;
// }
// }
// for (UploadImgModel item in _uploadImageProvider
// .feastRemarkInvoiceImageList) {
// if (item.process < 1) {
// Utils.showToast('正在上传图片,请稍等');
// return false;
// }
// }
// _setData();
},
content: '编辑宴会',
hasLeftBorder: true,
isSelect: true))
],
)
: SizedBox()
],
);
}
... ...
... ... @@ -849,7 +849,12 @@ class _FeastFollowUpPageState extends State<FeastFollowUpPage> {
itemBuilder: (BuildContext context, int index) {
GetBanquetBeFollowSunModel data =
feastModel.beFollowData[index];
return buildFeastTypeItem(data);
return InkWell(
onTap: () {
//点击进入宴会详情
NavigatorUtil.goFeastDetailPage(context, data.id);
},
child: buildFeastTypeItem(data));
// '剑南春52度500ml', '1150元/份 不可议价'
});
}
... ... @@ -871,7 +876,7 @@ class _FeastFollowUpPageState extends State<FeastFollowUpPage> {
Expanded(
child: _callButton(
onPress: () {
NavigatorUtil.goFeastCreatePage(context);
NavigatorUtil.goFeastCreatePage(context,isCreate: true);
},
content: '创建宴会',
hasLeftBorder: true,
... ...
... ... @@ -123,7 +123,7 @@ class _FeastPageState extends State<FeastPage> {
NavigatorUtil.goFeastBoardPage(context);
}),
upAndDown('y_new', '新建宴会', onTap: () {
NavigatorUtil.goFeastCreatePage(context);
NavigatorUtil.goFeastCreatePage(context, isCreate: true);
}),
InkWell(
onTap: () {
... ...
... ... @@ -477,8 +477,9 @@ class FeastSelectTablePageState extends State<FeastSelectTablePage> {
shouldRebuild: (pre, next) => true,
selector: (context, model) => data[index],
builder: (context, table, _) {
return FTableItem(table, canSelected: true,
onSelected: (t.Table table) {
return FTableItem(table,
canSelected: true,
selectTables: selectTables, onSelected: (t.Table table) {
// if (widget.fromPage == 'tablePhoto') {
// for (String item in areaTableMap.keys) {
// for (t.Table item in areaTableMap[item]) {
... ...
... ... @@ -145,7 +145,7 @@ class MyTableManagerHomePageState extends State<MyTableManagerHomePage> {
Map<String, String> params = {
'tid': table.id,
'is_merge': isMerge,
'tids':tids
'tids': tids
// 'tids': isMerge == '0' ? '' : tids
};
... ... @@ -167,7 +167,7 @@ class MyTableManagerHomePageState extends State<MyTableManagerHomePage> {
} else {
if (results[0]) {
//修改桌位信息成功
await tableManagerModel.refreshTable(context);
await tableManagerModel.refreshTable(context, needLoading: true);
} else {
//修改桌位信息失败
}
... ...
... ... @@ -395,13 +395,22 @@ class TableManagerPageState extends State<TableManagerPage> {
shouldRebuild: (pre, next) => true,
selector: (context, model) => data[index],
builder: (context, table, _) {
return FTableItem(table, canSelected: true, onSelected: (table) {
return FTableItem(table,
canSelected: true,
selectTables: tableManagerModel.selectTables,
onSelected: (table) {
if (table.signStr == '已预订') {
//进入订座详情页面
NavigatorUtil.goNotebookDetailPage(
context,
tableManagerModel.tableMap[table.id].id,
tableManagerModel.tableMap[table.id].uid);
if (table.sign == '10') {
//宴会订单
NavigatorUtil.goFeastDetailPage(context, table.notebookId,
canEdit: false);
} else {
//进入订座详情页面
NavigatorUtil.goNotebookDetailPage(
context,
tableManagerModel.tableMap[table.id].id,
tableManagerModel.tableMap[table.id].uid);
}
} else {
setState(() {
if ((table as t.Table).selected) {
... ...
... ... @@ -12,13 +12,15 @@ import 'package:one_key/provider/user_model.dart';
import 'package:one_key/utils/utils.dart';
import 'package:provider/provider.dart';
import '../models/get_board_model.dart';
class ChooseTableModel with ChangeNotifier {
PageState pageState = PageState.Loading;
List<TableOuter> tableOuterList = []; //区域-桌位列表
bool swichState = false; //仅看空座
Map<String, List<t.Table>> areaTableMap = {}; //区域-桌位Map 已预订和空桌子
// Map<String, List<t.Table>> areaTableMap = {}; //区域-桌位Map 已预订和空桌子
Map<String, List<t.Table>> areaTableMapCanNote =
{}; //区域-桌位Map 筛选出已经预订的桌子,剩余空桌子
... ... @@ -29,6 +31,44 @@ class ChooseTableModel with ChangeNotifier {
List<t.Table> tablesCanNote = []; //全部桌子(空桌子)
List<t.Table> tablesShow = []; //页面展示
List<FeastBoardModel> banquetByDateData = []; //宴会看板数据/宴会预订的数据
//指定日期、时段宴会预定
Future<bool> getBanquetByDate(
BuildContext context, Map<String, String> params,
{showLoading = false}) async {
BaseResp<dynamic> baseResp = await DioUtil()
.request<dynamic>(context, Method.get, HttpUrl.get_banquet_by_date,
data: params, showLoading: showLoading)
.catchError((error) {
print(error.toString());
if (error is MyError) {}
return false;
});
if (baseResp == null) return false;
if (baseResp.code == Constant.status_success) {
if (baseResp.data is List) {
banquetByDateData = [];
notifyListeners();
return true;
}
banquetByDateData = [];
baseResp.data.forEach((key, value) {
FeastBoardModel boardModel = FeastBoardModel();
boardModel.title = key;
boardModel.data = FeastBoardModel.fromJson(value).data;
banquetByDateData.add(boardModel);
});
notifyListeners();
return true;
} else {
Utils.showToast(baseResp.msg ?? "");
}
return false;
}
//获取桌位数据
Future<List<TableOuter>> getTableList(
BuildContext context, Map<String, String> params,
... ...
... ... @@ -488,7 +488,7 @@ class MyTableManageHomeModel with ChangeNotifier {
if (baseResp.code == Constant.status_success) {
if (baseResp.responseData['data'] != null) {
// &&
// baseResp.responseData['data'] == 1
// baseResp.responseData['data'] == 1
return true;
} else {
Utils.showToast(baseResp.msg ?? '合并桌位失败!');
... ... @@ -575,8 +575,8 @@ class MyTableManageHomeModel with ChangeNotifier {
return false;
}
refreshTable(context) async {
List temp = await getTableList(context, needLoading: false);
refreshTable(context, {needLoading = false}) async {
List temp = await getTableList(context, needLoading: needLoading);
// if (temp.length > 0) {
// getReserveList(context, needLoading: false, needKeep: true);
// } else {
... ...
... ... @@ -10,6 +10,8 @@ import 'package:one_key/provider/user_model.dart';
import 'package:one_key/utils/utils.dart';
import 'package:provider/provider.dart';
import '../models/get_board_model.dart';
class NoteBookModel extends ChangeNotifier {
List<Notebook> notebooks = []; //订单列表
... ... @@ -18,6 +20,7 @@ class NoteBookModel extends ChangeNotifier {
String totalnight = ""; //一天统计
PageState pageState = PageState.Loading;
//获取已预订订单
Future<List<Notebook>> getReserveList(
... ...
... ... @@ -858,14 +858,15 @@ class NavigatorUtil {
///宴会----新建宴会
static Future<dynamic> goFeastCreatePage(BuildContext context,
{replace = false, bool onlyShow = false, Map banquetDetail}) {
{replace = false, bool isCreate = false, Map banquetDetail}) {
if (banquetDetail != null) {
return _navigateTo(context,
"${Routes.feast_create_page}?banquetDetail=${FluroConvertUtils.object2string(banquetDetail)}",
"${Routes.feast_create_page}?isCreate=$isCreate&banquetDetail=${FluroConvertUtils.object2string(banquetDetail)}",
replace: replace);
}
return _navigateTo(context, "${Routes.feast_create_page}",
return _navigateTo(
context, "${Routes.feast_create_page}?isCreate=$isCreate",
replace: replace);
}
... ... @@ -1082,12 +1083,10 @@ class NavigatorUtil {
}
///宴会--详情
static Future<dynamic> goFeastDetailPage(
BuildContext context,
String rid, {
replace = false,
}) {
return _navigateTo(context, "${Routes.feast_detail_page}?rid=$rid",
static Future<dynamic> goFeastDetailPage(BuildContext context, String rid,
{replace = false, bool canEdit = true}) {
return _navigateTo(
context, "${Routes.feast_detail_page}?rid=$rid&canEdit=$canEdit",
replace: replace);
}
... ...
... ... @@ -1374,6 +1374,8 @@ var feastCreatePageHandle = new Handler(
handlerFunc: (BuildContext context, Map<dynamic, List<Object>> params) {
// String uids = params["uids"].first;
bool isCreate = FluroConvertUtils.string2bool(params["isCreate"].first);
GetBanquetByIdNewSunModel banquetDetail;
if (params.keys.contains('banquetDetail')) {
Map object = FluroConvertUtils.string2map(params["banquetDetail"].first);
... ... @@ -1391,7 +1393,7 @@ var feastCreatePageHandle = new Handler(
}
return ChangeNotifierProvider<FeastModel>(
create: (_) => FeastModel(),
child: FeastCreatePage(banquetDetail: banquetDetail));
child: FeastCreatePage(banquetDetail: banquetDetail,isCreate:isCreate));
});
///宴会----添加定金
... ... @@ -1764,11 +1766,11 @@ var feastDetailPageHandle = new Handler(
handlerFunc: (BuildContext context, Map<dynamic, List<Object>> params) {
String rid = params["rid"].first;
bool canEdit = FluroConvertUtils.string2bool(params["canEdit"].first);
return ChangeNotifierProvider<FeastModel>(
create: (_) => FeastModel(),
child: FeastDetailPage(
rid: rid,
));
child: FeastDetailPage(rid: rid, canEdit: canEdit));
});
///宴会----发票详情
... ... @@ -1788,7 +1790,7 @@ var feastInvoiceDetailPageHandle = new Handler(
var mergeTableSelectPageHandle = new Handler(
handlerFunc: (BuildContext context, Map<dynamic, List<Object>> params) {
String fromPage = params["fromPage"].first;
String tids = params["tids"].first;
String tids = params["tids"].first;
String tableidNow = params["tableidNow"].first;
bool canChoose = params["canChoose"].first == "true" ? true : false;
... ... @@ -1808,5 +1810,5 @@ var mergeTableSelectPageHandle = new Handler(
tableList: res,
canChoose: canChoose,
fromPage: fromPage,
tids:tids));
tids: tids));
});
... ...
... ... @@ -19,6 +19,7 @@ class FTableItem extends StatefulWidget {
final int height; //高度
final bool need;
final List<t.Table> selectTables;
FTableItem(this.table,
{this.onSelected,
... ... @@ -27,7 +28,8 @@ class FTableItem extends StatefulWidget {
this.fromPage = 'new',
this.rid,
this.tableMap,
this.need = true});
this.need = true,
this.selectTables});
@override
State<StatefulWidget> createState() {
... ... @@ -37,6 +39,23 @@ class FTableItem extends StatefulWidget {
}
class FTableItemState extends State<FTableItem> {
// 判断两数组是否有相同元素, true: 存在相同 false:没相同
haveSame(List arr, List otherArr) {
if (arr == null || otherArr == null) {
return false;
}
// 合并数组
arr.addAll(otherArr);
// 合并数组并去重
Set setArr = new Set(); //用set进行去重
setArr.addAll(arr); //把数组塞进set里
List newList = setArr.toList();
return arr.length != newList.length;
}
@override
Widget build(BuildContext context) {
t.Table table = widget.table;
... ... @@ -58,11 +77,28 @@ class FTableItemState extends State<FTableItem> {
isSelf = true;
}
}
List selectTids = []; //被选中的桌子ids
if (widget.selectTables != null) {
widget.selectTables.forEach((element) {
selectTids.add(element.id);
});
}
bool islock = (table.isLock == '1' &&
widget.tableMap.containsKey(table.lockTid)) ||
(table.isMerge == '1' &&
haveSame(widget.tableMap.keys.toList(), table.tids.split(','))) ||
(table.isLock == '1' && selectTids.contains(table.lockTid)) ||
(table.isMerge == '1' &&
haveSame(
selectTids,
table.tids.split(
','))); //真正上锁*******被合并桌子上锁:合并的桌子被预订&&islock == '1' || 合并桌子上锁:被合并的桌子被预订&&ismerge == '1'
return GestureDetector(
onTap: () {
if (widget.canSelected && widget.fromPage == 'change') {
if (table.isLock == '1' && signStr != '已预订') {
if (islock && signStr != '已预订') {
return;
}
//从变更页面进来 canChoose = true
... ... @@ -94,7 +130,7 @@ class FTableItemState extends State<FTableItem> {
} else if (widget.fromPage == 'new' &&
widget.canSelected &&
signStr.isEmpty) {
if (table.isLock == '1' && signStr != '已预订') {
if (islock && signStr != '已预订') {
return;
}
//从安排桌位进来
... ... @@ -104,7 +140,7 @@ class FTableItemState extends State<FTableItem> {
widget.onSelected(table);
} else if (widget.fromPage == 'table_manage' ||
widget.fromPage == 'room_manage') {
if (table.isLock == '1' && signStr != '已预订') {
if (islock && signStr != '已预订') {
return;
}
setState(() {
... ... @@ -125,9 +161,7 @@ class FTableItemState extends State<FTableItem> {
widget.onSelected(table);
}
},
child: table.isLock == '1' &&
signStr != '已预订' &&
widget.fromPage != 'tablePhoto'
child: islock && signStr != '已预订' && widget.fromPage != 'tablePhoto'
? Stack(
children: [
Container(
... ...
... ... @@ -61,7 +61,8 @@ class MergeTableItemState extends State<MergeTableItem> {
bool locked = false;
List<String> tids = [];
if (table.isLock == '1' && !widget.tids.split(',').contains(table.id)) {
if ((table.isLock == '1' && !widget.tids.split(',').contains(table.id)) ||
table.isMerge == '1') {
locked = true;
}
... ... @@ -103,7 +104,8 @@ class MergeTableItemState extends State<MergeTableItem> {
});
widget.onSelected(table);
} else if (widget.fromPage == 'table_manage' ||
widget.fromPage == 'room_manage') {
widget.fromPage == 'room_manage' ||
widget.fromPage == 'merge_table') {
if (!locked) {
setState(() {
table.selected = !(table.selected ?? false);
... ...