Commit 372d9bd8baf2e315cbd4a3ef49c247ad231d2337

Authored by weixin_45529955
1 parent 82c2b661

宴会的桌子,有被合并或者合并情况,相关的桌子上锁

1 -  
2 import 'dart:ffi'; 1 import 'dart:ffi';
3 2
4 import 'package:common_utils/common_utils.dart'; 3 import 'package:common_utils/common_utils.dart';
@@ -139,11 +138,11 @@ class SelectTableFPageOrReserveState extends State<SelectTableFPageOrReserve> { @@ -139,11 +138,11 @@ class SelectTableFPageOrReserveState extends State<SelectTableFPageOrReserve> {
139 horizontal: ScreenUtil().setWidth(10)), 138 horizontal: ScreenUtil().setWidth(10)),
140 shrinkWrap: true, 139 shrinkWrap: true,
141 140
142 - itemCount:  
143 - tableManagerModel.tablesOrReserveDataShow![i].tableList!.length == 0  
144 - ? 1  
145 - : tableManagerModel.tablesOrReserveDataShow![i].tableList!.length +  
146 - 1, 141 + itemCount: tableManagerModel
  142 + .tablesOrReserveDataShow![i].tableList!.length ==
  143 + 0
  144 + ? 1
  145 + : tableManagerModel.tablesOrReserveDataShow![i].tableList!.length + 1,
147 gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( 146 gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
148 crossAxisCount: 4, 147 crossAxisCount: 4,
149 childAspectRatio: 1, 148 childAspectRatio: 1,
@@ -153,7 +152,8 @@ class SelectTableFPageOrReserveState extends State<SelectTableFPageOrReserve> { @@ -153,7 +152,8 @@ class SelectTableFPageOrReserveState extends State<SelectTableFPageOrReserve> {
153 152
154 itemBuilder: (BuildContext context, int index) { 153 itemBuilder: (BuildContext context, int index) {
155 if (index == 154 if (index ==
156 - tableManagerModel.tablesOrReserveDataShow![i].tableList!.length || 155 + tableManagerModel
  156 + .tablesOrReserveDataShow![i].tableList!.length ||
157 tableManagerModel.tablesOrReserveDataShow![i].tableList!.length == 157 tableManagerModel.tablesOrReserveDataShow![i].tableList!.length ==
158 0) { 158 0) {
159 return InkWell( 159 return InkWell(
@@ -242,6 +242,7 @@ class SelectTableFPageOrReserveState extends State<SelectTableFPageOrReserve> { @@ -242,6 +242,7 @@ class SelectTableFPageOrReserveState extends State<SelectTableFPageOrReserve> {
242 return TableItemOrReserve(table, 242 return TableItemOrReserve(table,
243 canSelected: true, 243 canSelected: true,
244 selectTables: tableManagerModel.selectTablesOrReserve, 244 selectTables: tableManagerModel.selectTablesOrReserve,
  245 + banquetListTids: tableManagerModel.banquetListTids,
245 onSelected: (tableListReserve) { 246 onSelected: (tableListReserve) {
246 if (widget.fromPage == 'tablePhoto') { 247 if (widget.fromPage == 'tablePhoto') {
247 for (TableListReseveSunModel item 248 for (TableListReseveSunModel item
@@ -277,7 +278,7 @@ class SelectTableFPageOrReserveState extends State<SelectTableFPageOrReserve> { @@ -277,7 +278,7 @@ class SelectTableFPageOrReserveState extends State<SelectTableFPageOrReserve> {
277 selectNum--; 278 selectNum--;
278 tableManagerModel.selectTablesOrReserve 279 tableManagerModel.selectTablesOrReserve
279 .removeWhere((t) => t.id == table.id); 280 .removeWhere((t) => t.id == table.id);
280 - tableManagerModel.tablesOrReserveDataShow! 281 + tableManagerModel.tablesOrReserveDataShow!
281 .forEach((element) { 282 .forEach((element) {
282 element.tableList!.forEach((element1) { 283 element.tableList!.forEach((element1) {
283 if (element1.id == table.id) { 284 if (element1.id == table.id) {
@@ -375,8 +376,8 @@ class SelectTableFPageOrReserveState extends State<SelectTableFPageOrReserve> { @@ -375,8 +376,8 @@ class SelectTableFPageOrReserveState extends State<SelectTableFPageOrReserve> {
375 //添加区域 376 //添加区域
376 bool success = 377 bool success =
377 await _chooseTableModel 378 await _chooseTableModel
378 - .addTableAreas(  
379 - context, value as String?); 379 + .addTableAreas(context,
  380 + value as String?);
380 print(success); 381 print(success);
381 if (success) { 382 if (success) {
382 Utils.showToast('添加成功!'); 383 Utils.showToast('添加成功!');
@@ -398,7 +399,6 @@ class SelectTableFPageOrReserveState extends State<SelectTableFPageOrReserve> { @@ -398,7 +399,6 @@ class SelectTableFPageOrReserveState extends State<SelectTableFPageOrReserve> {
398 // context, params, 399 // context, params,
399 // needLoading: false); 400 // needLoading: false);
400 // initData(); 401 // initData();
401 -  
402 } 402 }
403 }); 403 });
404 }, 404 },
@@ -445,8 +445,8 @@ class SelectTableFPageOrReserveState extends State<SelectTableFPageOrReserve> { @@ -445,8 +445,8 @@ class SelectTableFPageOrReserveState extends State<SelectTableFPageOrReserve> {
445 } else { 445 } else {
446 return AreaItemTableOrReserve( 446 return AreaItemTableOrReserve(
447 tableManagerModel 447 tableManagerModel
448 - .tablesOrReserveDataShow![index],  
449 - (area) { 448 + .tablesOrReserveDataShow![
  449 + index], (area) {
450 tableManagerModel 450 tableManagerModel
451 .tablesOrReserveDataShow! 451 .tablesOrReserveDataShow!
452 .forEach((element) { 452 .forEach((element) {
@@ -22,6 +22,7 @@ class TableItemOrReserve extends StatefulWidget { @@ -22,6 +22,7 @@ class TableItemOrReserve extends StatefulWidget {
22 final bool need; 22 final bool need;
23 final List<TableListReserve>? selectTables; 23 final List<TableListReserve>? selectTables;
24 final bool addOrder; 24 final bool addOrder;
  25 + final List<String?> banquetListTids;
25 26
26 TableItemOrReserve(this.table, 27 TableItemOrReserve(this.table,
27 {this.onSelected, 28 {this.onSelected,
@@ -33,7 +34,8 @@ class TableItemOrReserve extends StatefulWidget { @@ -33,7 +34,8 @@ class TableItemOrReserve extends StatefulWidget {
33 // this.tableMap, 34 // this.tableMap,
34 this.need = true, 35 this.need = true,
35 this.selectTables, 36 this.selectTables,
36 - this.addOrder = true}); 37 + this.addOrder = true,
  38 + required this.banquetListTids});
37 39
38 @override 40 @override
39 State<StatefulWidget> createState() { 41 State<StatefulWidget> createState() {
@@ -150,6 +152,13 @@ class TableItemOrReserveState extends State<TableItemOrReserve> { @@ -150,6 +152,13 @@ class TableItemOrReserveState extends State<TableItemOrReserve> {
150 }); 152 });
151 } 153 }
152 154
  155 + List banquetListTids = []; //被选中的桌子ids
  156 + if (widget.banquetListTids != null) {
  157 + widget.banquetListTids.forEach((element) {
  158 + banquetListTids.add(element);
  159 + });
  160 + }
  161 +
153 // bool islock = (table.isLock == '1' && 162 // bool islock = (table.isLock == '1' &&
154 // widget.tableMap.containsKey(table.lockTid)) || 163 // widget.tableMap.containsKey(table.lockTid)) ||
155 // (table.isMerge == '1' && 164 // (table.isMerge == '1' &&
@@ -163,9 +172,11 @@ class TableItemOrReserveState extends State<TableItemOrReserve> { @@ -163,9 +172,11 @@ class TableItemOrReserveState extends State<TableItemOrReserve> {
163 // bool islock = table.reserveLock == '1'; 172 // bool islock = table.reserveLock == '1';
164 bool islock = table.reserveLock == '1' || 173 bool islock = table.reserveLock == '1' ||
165 (table.isLock == '1' && selectTids.contains(table.lockTid)) || 174 (table.isLock == '1' && selectTids.contains(table.lockTid)) ||
  175 + (table.isMerge == '1' && haveSame(selectTids, table.tids.split(','))) ||
  176 + (table.isLock == '1' && banquetListTids.contains(table.lockTid)) ||
166 (table.isMerge == '1' && 177 (table.isMerge == '1' &&
167 haveSame( 178 haveSame(
168 - selectTids, 179 + banquetListTids,
169 table.tids.split( 180 table.tids.split(
170 ','))); //真正上锁*******被合并桌子上锁:合并的桌子被预订&&islock == '1' || 合并桌子上锁:被合并的桌子被预订&&ismerge == '1' 181 ','))); //真正上锁*******被合并桌子上锁:合并的桌子被预订&&islock == '1' || 合并桌子上锁:被合并的桌子被预订&&ismerge == '1'
171 return GestureDetector( 182 return GestureDetector(
@@ -880,7 +880,9 @@ class TableManagerPageState extends State<TableManagerPage> { @@ -880,7 +880,9 @@ class TableManagerPageState extends State<TableManagerPage> {
880 fromPage: 'table_manage', 880 fromPage: 'table_manage',
881 canSelected: true, 881 canSelected: true,
882 selectTables: tableManagerModel!.selectTablesOrReserve, 882 selectTables: tableManagerModel!.selectTablesOrReserve,
883 - addOrder: isRealAddOver, onSelected: (table) { 883 + addOrder: isRealAddOver,
  884 + banquetListTids: tableManagerModel!.banquetListTids,
  885 + onSelected: (table) {
884 if (table.signStr == '已预订') { 886 if (table.signStr == '已预订') {
885 if (table.sign == '10') { 887 if (table.sign == '10') {
886 //宴会订单 888 //宴会订单
@@ -89,6 +89,7 @@ class TableManagerModelOrReserve with ChangeNotifier { @@ -89,6 +89,7 @@ class TableManagerModelOrReserve with ChangeNotifier {
89 List<TableListReserve> selectTablesOrReserve = []; //选择的桌位 89 List<TableListReserve> selectTablesOrReserve = []; //选择的桌位
90 90
91 List<SellerHideConfiSunModel>? sellerHideConfiData = []; 91 List<SellerHideConfiSunModel>? sellerHideConfiData = [];
  92 + final List<String?> banquetListTids = []; //有宴会的桌子ids 集合
92 93
93 TableManagerModelOrReserve() { 94 TableManagerModelOrReserve() {
94 // print('fdsfs'); 95 // print('fdsfs');
@@ -235,7 +236,8 @@ class TableManagerModelOrReserve with ChangeNotifier { @@ -235,7 +236,8 @@ class TableManagerModelOrReserve with ChangeNotifier {
235 //n存在,并且传入的日期在今天之前的n天之外 236 //n存在,并且传入的日期在今天之前的n天之外
236 237
237 if (config.length == 3) { 238 if (config.length == 3) {
238 - DateTime date = DateTime(datetime.year, datetime.month, datetime.day); 239 + DateTime date =
  240 + DateTime(datetime.year, datetime.month, datetime.day);
239 DateTime dateToday = DateTime(DateTime.now().year, 241 DateTime dateToday = DateTime(DateTime.now().year,
240 DateTime.now().month, DateTime.now().day); 242 DateTime.now().month, DateTime.now().day);
241 243
@@ -329,11 +331,16 @@ class TableManagerModelOrReserve with ChangeNotifier { @@ -329,11 +331,16 @@ class TableManagerModelOrReserve with ChangeNotifier {
329 } else { 331 } else {
330 List<TableListReserve> tableListOrReserveDataAll = 332 List<TableListReserve> tableListOrReserveDataAll =
331 []; //桌位页面数据接口重组 --全部 333 []; //桌位页面数据接口重组 --全部
332 - 334 + banquetListTids.clear(); //使用前清空数据
333 tablesOrReserveData!.forEach((element) { 335 tablesOrReserveData!.forEach((element) {
334 element.select = false; 336 element.select = false;
335 337
336 tableListOrReserveDataAll.addAll(element.tableList!); 338 tableListOrReserveDataAll.addAll(element.tableList!);
  339 + element.tableList?.forEach((table) {
  340 + if (table.banquetList != null && table.banquetList!.length > 0) {
  341 + banquetListTids.add(table.id);
  342 + }
  343 + });
337 }); 344 });
338 tablesOrReserveDataShow!.forEach((element) { 345 tablesOrReserveDataShow!.forEach((element) {
339 element.select = false; 346 element.select = false;