Showing
4 changed files
with
38 additions
and
18 deletions
| 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; |
-
Please register or login to post a comment