Commit 236461183becaf51ba47e8d6404b106e67f2c7b5

Authored by wdn127929
1 parent 8d386753

宴会占用起始时间

@@ -43,6 +43,7 @@ class SelectTableFPage extends StatefulWidget { @@ -43,6 +43,7 @@ class SelectTableFPage extends StatefulWidget {
43 final String hmS; 43 final String hmS;
44 final String hmE; 44 final String hmE;
45 final String source; 45 final String source;
  46 + final String ridFeast; //宴会id
46 SelectTableFPage(this.rid, this.dateTime, this.ddate_slot, 47 SelectTableFPage(this.rid, this.dateTime, this.ddate_slot,
47 {this.canChoose = false, 48 {this.canChoose = false,
48 this.tableList, 49 this.tableList,
@@ -50,7 +51,8 @@ class SelectTableFPage extends StatefulWidget { @@ -50,7 +51,8 @@ class SelectTableFPage extends StatefulWidget {
50 this.tid, 51 this.tid,
51 this.hmS, 52 this.hmS,
52 this.hmE, 53 this.hmE,
53 - this.source = '0'}); 54 + this.source = '0',
  55 + this.ridFeast});
54 56
55 @override 57 @override
56 State<StatefulWidget> createState() { 58 State<StatefulWidget> createState() {
@@ -240,41 +242,65 @@ class SelectTableFPageState extends State<SelectTableFPage> { @@ -240,41 +242,65 @@ class SelectTableFPageState extends State<SelectTableFPage> {
240 //获取预订(原来普通预订和宴会预订) 242 //获取预订(原来普通预订和宴会预订)
241 _getReserveListAndFeastData(context, params, showloading) async { 243 _getReserveListAndFeastData(context, params, showloading) async {
242 UserModel userModel = Provider.of<UserModel>(context, listen: false); 244 UserModel userModel = Provider.of<UserModel>(context, listen: false);
  245 + String timeStrStart = '';
  246 + String timeStrEnd = '';
  247 +
243 String hmsS = " ${widget.hmS}:00"; //起始 248 String hmsS = " ${widget.hmS}:00"; //起始
244 String hmsE = " ${widget.hmE}:59"; //结束 249 String hmsE = " ${widget.hmE}:59"; //结束
245 - // String keys = '';  
246 - // if (widget.ddate_slot == '1') {  
247 - // //早市  
248 - // keys = 'morning';  
249 - // } else if (widget.ddate_slot == '2') {  
250 - // //午市  
251 - // keys = 'noon';  
252 - // } else if (widget.ddate_slot == '3') {  
253 - // //晚市  
254 - // keys = 'night';  
255 - // }  
256 250
257 - // if (keys != '') {  
258 - // List temp = dailyMap[keys];  
259 - // hmsS = " ${temp.first}:00";  
260 - // hmsE = " ${temp.last}:59";  
261 - // } else {  
262 - // hmsS = " 00:00:00";  
263 - // hmsE = " 23:59:59";  
264 - // } 251 + if (widget.hmS == 'null' || widget.hmE == 'null') {
  252 + //用餐段对应的时间段作为起始时间
  253 + String keys = '';
  254 +
  255 + if (widget.ddate_slot == '1') {
  256 + //早市
  257 + keys = 'morning';
  258 + } else if (widget.ddate_slot == '2') {
  259 + //午市
  260 + keys = 'noon';
  261 + } else if (widget.ddate_slot == '3') {
  262 + //晚市
  263 + keys = 'night';
  264 + }
  265 + String ymd =
  266 + DateUtil.formatDate(widget.dateTime, format: DateFormats.y_mo_d);
  267 + if (keys != '') {
  268 + List temp = dailyMap[keys];
  269 + timeStrStart = ymd + ' ' + temp.first + ':00';
  270 + timeStrEnd = ymd + ' ' + temp.last + ':00';
  271 + } else {
  272 + hmsS = " 00:00:00";
  273 + hmsE = " 23:59:59";
  274 + timeStrStart = widget.dateTime.year.toString() +
  275 + "-" +
  276 + Utils.addZeroNumber(widget.dateTime.month) +
  277 + "-" +
  278 + Utils.addZeroNumber(widget.dateTime.day) +
  279 + hmsS;
  280 + timeStrEnd = widget.dateTime.year.toString() +
  281 + "-" +
  282 + Utils.addZeroNumber(widget.dateTime.month) +
  283 + "-" +
  284 + Utils.addZeroNumber(widget.dateTime.day) +
  285 + hmsE;
  286 + }
  287 + } else {
  288 + hmsS = " ${widget.hmS}:00"; //起始
  289 + hmsE = " ${widget.hmE}:59"; //结束
  290 + timeStrStart = widget.dateTime.year.toString() +
  291 + "-" +
  292 + Utils.addZeroNumber(widget.dateTime.month) +
  293 + "-" +
  294 + Utils.addZeroNumber(widget.dateTime.day) +
  295 + hmsS;
  296 + timeStrEnd = widget.dateTime.year.toString() +
  297 + "-" +
  298 + Utils.addZeroNumber(widget.dateTime.month) +
  299 + "-" +
  300 + Utils.addZeroNumber(widget.dateTime.day) +
  301 + hmsE;
  302 + }
265 303
266 - String timeStrStart = widget.dateTime.year.toString() +  
267 - "-" +  
268 - Utils.addZeroNumber(widget.dateTime.month) +  
269 - "-" +  
270 - Utils.addZeroNumber(widget.dateTime.day) +  
271 - hmsS;  
272 - String timeStrEnd = widget.dateTime.year.toString() +  
273 - "-" +  
274 - Utils.addZeroNumber(widget.dateTime.month) +  
275 - "-" +  
276 - Utils.addZeroNumber(widget.dateTime.day) +  
277 - hmsE;  
278 String start = 304 String start =
279 (DateUtil.getDateMsByTimeStr(timeStrStart) / 1000).floor().toString(); 305 (DateUtil.getDateMsByTimeStr(timeStrStart) / 1000).floor().toString();
280 String end = 306 String end =
@@ -359,6 +385,7 @@ class SelectTableFPageState extends State<SelectTableFPage> { @@ -359,6 +385,7 @@ class SelectTableFPageState extends State<SelectTableFPage> {
359 Map<String, List<FeastBoardSunModel>> banquetData = {}; 385 Map<String, List<FeastBoardSunModel>> banquetData = {};
360 banquetByDateDataTemp.forEach((element) { 386 banquetByDateDataTemp.forEach((element) {
361 List<FeastBoardSunModel> data = []; 387 List<FeastBoardSunModel> data = [];
  388 +
362 if (element.data['其他'].length > 0) { 389 if (element.data['其他'].length > 0) {
363 FeastBoardSunModel feastBoardSunModel = element.data['其他'][0]; 390 FeastBoardSunModel feastBoardSunModel = element.data['其他'][0];
364 if (feastBoardSunModel.lost == null || 391 if (feastBoardSunModel.lost == null ||
@@ -387,7 +414,15 @@ class SelectTableFPageState extends State<SelectTableFPage> { @@ -387,7 +414,15 @@ class SelectTableFPageState extends State<SelectTableFPage> {
387 data.add(feastBoardSunModel); //未丢单宴会合集 414 data.add(feastBoardSunModel); //未丢单宴会合集
388 } 415 }
389 } 416 }
390 - if (!banquetData.containsKey(element.title)) { 417 + // 不是丢单宴会&&不是当前宴会
  418 + // 移除当前宴会订单
  419 + if (widget.ridFeast != null) {
  420 + print(data);
  421 + data.removeWhere((element) => element.rid == widget.ridFeast);
  422 + print(data);
  423 + }
  424 +
  425 + if (!banquetData.containsKey(element.title) && data.length > 0) {
391 banquetData[element.title] = data; 426 banquetData[element.title] = data;
392 } 427 }
393 }); 428 });
@@ -586,45 +621,69 @@ class SelectTableFPageState extends State<SelectTableFPage> { @@ -586,45 +621,69 @@ class SelectTableFPageState extends State<SelectTableFPage> {
586 621
587 //获取一天开始-结束时间字符串 622 //获取一天开始-结束时间字符串
588 String _getRdate() { 623 String _getRdate() {
589 - // String keys = '';  
590 -  
591 - // if (widget.ddate_slot == '1') {  
592 - // //早市  
593 - // keys = 'morning';  
594 - // } else if (widget.ddate_slot == '2') {  
595 - // //午市  
596 - // keys = 'noon';  
597 - // } else if (widget.ddate_slot == '3') {  
598 - // //晚市  
599 - // keys = 'night';  
600 - // }  
601 - // String ymd =  
602 - // DateUtil.formatDate(widget.dateTime, format: DateFormats.y_mo_d);  
603 String timeStrStart = ''; 624 String timeStrStart = '';
604 String timeStrEnd = ''; 625 String timeStrEnd = '';
605 //一天开始时间 626 //一天开始时间
606 double startDay; 627 double startDay;
607 //一天结束时间 628 //一天结束时间
608 double endDay; 629 double endDay;
609 - // if (keys != '') {  
610 - // List temp = dailyMap[keys];  
611 - // timeStrStart = ymd + ' ' + temp.first + ':00';  
612 - // timeStrEnd = ymd + ' ' + temp.last + ':00';  
613 - // } else { 630 +
614 String hmsS = " ${widget.hmS}:00"; //起始 631 String hmsS = " ${widget.hmS}:00"; //起始
615 String hmsE = " ${widget.hmE}:59"; //结束 632 String hmsE = " ${widget.hmE}:59"; //结束
616 - timeStrStart = widget.dateTime.year.toString() +  
617 - "-" +  
618 - Utils.addZeroNumber(widget.dateTime.month) +  
619 - "-" +  
620 - Utils.addZeroNumber(widget.dateTime.day) +  
621 - hmsS;  
622 - timeStrEnd = widget.dateTime.year.toString() +  
623 - "-" +  
624 - Utils.addZeroNumber(widget.dateTime.month) +  
625 - "-" +  
626 - Utils.addZeroNumber(widget.dateTime.day) +  
627 - hmsE; 633 +
  634 + if (widget.hmS == 'null' || widget.hmE == 'null') {
  635 + //用餐段对应的时间段作为起始时间
  636 + String keys = '';
  637 +
  638 + if (widget.ddate_slot == '1') {
  639 + //早市
  640 + keys = 'morning';
  641 + } else if (widget.ddate_slot == '2') {
  642 + //午市
  643 + keys = 'noon';
  644 + } else if (widget.ddate_slot == '3') {
  645 + //晚市
  646 + keys = 'night';
  647 + }
  648 + String ymd =
  649 + DateUtil.formatDate(widget.dateTime, format: DateFormats.y_mo_d);
  650 + if (keys != '') {
  651 + List temp = dailyMap[keys];
  652 + timeStrStart = ymd + ' ' + temp.first + ':00';
  653 + timeStrEnd = ymd + ' ' + temp.last + ':00';
  654 + } else {
  655 + hmsS = " 00:00:00";
  656 + hmsE = " 23:59:59";
  657 + timeStrStart = widget.dateTime.year.toString() +
  658 + "-" +
  659 + Utils.addZeroNumber(widget.dateTime.month) +
  660 + "-" +
  661 + Utils.addZeroNumber(widget.dateTime.day) +
  662 + hmsS;
  663 + timeStrEnd = widget.dateTime.year.toString() +
  664 + "-" +
  665 + Utils.addZeroNumber(widget.dateTime.month) +
  666 + "-" +
  667 + Utils.addZeroNumber(widget.dateTime.day) +
  668 + hmsE;
  669 + }
  670 + } else {
  671 + hmsS = " ${widget.hmS}:00"; //起始
  672 + hmsE = " ${widget.hmE}:59"; //结束
  673 + timeStrStart = widget.dateTime.year.toString() +
  674 + "-" +
  675 + Utils.addZeroNumber(widget.dateTime.month) +
  676 + "-" +
  677 + Utils.addZeroNumber(widget.dateTime.day) +
  678 + hmsS;
  679 + timeStrEnd = widget.dateTime.year.toString() +
  680 + "-" +
  681 + Utils.addZeroNumber(widget.dateTime.month) +
  682 + "-" +
  683 + Utils.addZeroNumber(widget.dateTime.day) +
  684 + hmsE;
  685 + }
  686 +
628 // } 687 // }
629 startDay = (DateTime.parse(timeStrStart).millisecondsSinceEpoch) / 1000; 688 startDay = (DateTime.parse(timeStrStart).millisecondsSinceEpoch) / 1000;
630 endDay = (DateTime.parse(timeStrEnd).millisecondsSinceEpoch) / 1000; 689 endDay = (DateTime.parse(timeStrEnd).millisecondsSinceEpoch) / 1000;
@@ -16,6 +16,7 @@ import 'package:one_key/widgets/round_button.dart'; @@ -16,6 +16,7 @@ import 'package:one_key/widgets/round_button.dart';
16 import 'package:one_key/widgets/v_empty_view.dart'; 16 import 'package:one_key/widgets/v_empty_view.dart';
17 import 'package:provider/provider.dart'; 17 import 'package:provider/provider.dart';
18 18
  19 +import '../../app.dart';
19 import '../../constant/state.dart'; 20 import '../../constant/state.dart';
20 import '../../models/dsolt_xt.dart'; 21 import '../../models/dsolt_xt.dart';
21 import '../../models/feast_menu_model.dart'; 22 import '../../models/feast_menu_model.dart';
@@ -24,6 +25,7 @@ import '../../models/get_board_model.dart'; @@ -24,6 +25,7 @@ import '../../models/get_board_model.dart';
24 import '../../models/notebook.dart'; 25 import '../../models/notebook.dart';
25 import '../../models/set_xuan_tai_model.dart'; 26 import '../../models/set_xuan_tai_model.dart';
26 import '../../models/setmeal_by_id_model.dart'; 27 import '../../models/setmeal_by_id_model.dart';
  28 +import '../../models/tableOuter.dart';
27 import '../../models/upload_img_model.dart'; 29 import '../../models/upload_img_model.dart';
28 import '../../provider/choose_table_model.dart'; 30 import '../../provider/choose_table_model.dart';
29 import '../../provider/feast_model.dart'; 31 import '../../provider/feast_model.dart';
@@ -108,6 +110,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> { @@ -108,6 +110,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
108 ChooseTableModel _chooseTableModel; 110 ChooseTableModel _chooseTableModel;
109 List<Notebook> noteBooks; 111 List<Notebook> noteBooks;
110 Map<String, Notebook> tableMap = {}; //记录已预订桌位对应的订单 112 Map<String, Notebook> tableMap = {}; //记录已预订桌位对应的订单
  113 + List<TableOuter> tableOuterList = []; //区域-桌位列表
111 114
112 @override 115 @override
113 void initState() { 116 void initState() {
@@ -262,7 +265,10 @@ class _FeastCreatePageState extends State<FeastCreatePage> { @@ -262,7 +265,10 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
262 setXuanTaiModel.endDate; //起始时间 265 setXuanTaiModel.endDate; //起始时间
263 setXuanTaiModel.tableList = element.tableList; 266 setXuanTaiModel.tableList = element.tableList;
264 267
265 - setXuanTaiModel.tableSum = int.parse('${element.tableNum}'); //桌位总数 268 + setXuanTaiModel.tableSum =
  269 + element.tableNum == null || element.tableNum == ''
  270 + ? 0
  271 + : int.parse('${element.tableNum}'); //桌位总数
266 setXuanTaiModel.customCxt.text = element.remark; //选台备注 272 setXuanTaiModel.customCxt.text = element.remark; //选台备注
267 setXuanTaiModel.feastRemarkXtImageList = 273 setXuanTaiModel.feastRemarkXtImageList =
268 element.feastRemarkImages; //宴会备注图片信息列表----选台 274 element.feastRemarkImages; //宴会备注图片信息列表----选台
@@ -1326,6 +1332,60 @@ class _FeastCreatePageState extends State<FeastCreatePage> { @@ -1326,6 +1332,60 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
1326 return true; 1332 return true;
1327 } 1333 }
1328 1334
  1335 + List<TableOuter> getSpTableList() {
  1336 + String tableList = App.sp.getString('table_list');
  1337 + if (tableList == null) {
  1338 + return [];
  1339 + }
  1340 + List<TableOuter> temp = [];
  1341 + List list = json.decode(tableList);
  1342 + if (list.length > 0) {
  1343 + list.forEach((element) {
  1344 + temp.add(TableOuter.fromJson2(element));
  1345 + });
  1346 + }
  1347 +
  1348 + return temp;
  1349 + }
  1350 +
  1351 + //获取桌位列表
  1352 + _getTableList({needLoading = true}) async {
  1353 + UserModel userModel = Provider.of<UserModel>(context, listen: false);
  1354 + Map<String, String> params = {"sellerid": userModel.user.sellerid};
  1355 +
  1356 + String tableSp = App.sp.getString('table_list');
  1357 +
  1358 + if (tableSp == null) {
  1359 + //接口请求桌位
  1360 + tableOuterList = await _chooseTableModel.getTableList(context, params,
  1361 + needLoading: needLoading);
  1362 + } else {
  1363 + tableOuterList = getSpTableList();
  1364 + }
  1365 +
  1366 + _chooseTableModel.tablesAll = [];
  1367 +
  1368 + for (TableOuter item in tableOuterList) {
  1369 + // if (item.name == "推荐") {
  1370 + // itemModelList.remove(item);
  1371 + // }
  1372 + for (var item1 in item.list) {
  1373 + item1.selected = false;
  1374 + }
  1375 + _chooseTableModel.tablesAll.addAll(item.list);
  1376 + }
  1377 +
  1378 + if (tableOuterList.isEmpty) {
  1379 + // _chooseTableModel.pageState = PageState.Success;
  1380 + // _chooseTableModel.notifyListeners();
  1381 + } else {
  1382 + _getReserveList(needLoading: needLoading);
  1383 + }
  1384 + // if (_chooseTableModel.pageState == PageState.Success) {
  1385 +
  1386 + // }
  1387 + }
  1388 +
1329 //获取已预订列表 1389 //获取已预订列表
1330 _getReserveList({needLoading = true}) async { 1390 _getReserveList({needLoading = true}) async {
1331 Map<String, String> params = { 1391 Map<String, String> params = {
@@ -1354,15 +1414,6 @@ class _FeastCreatePageState extends State<FeastCreatePage> { @@ -1354,15 +1414,6 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
1354 } 1414 }
1355 }); 1415 });
1356 }); 1416 });
1357 - // banquetByDateData.map((e) => null)  
1358 - // String banquetKey = '';  
1359 - // if (widget.ddate_slot == '1') {  
1360 - // banquetKey = '早餐';  
1361 - // } else if (widget.ddate_slot == '2') {  
1362 - // banquetKey = '午餐';  
1363 - // } else if (widget.ddate_slot == '3') {  
1364 - // banquetKey = '晚餐';  
1365 - // }  
1366 1417
1367 Map<String, List<FeastBoardSunModel>> banquetData = {}; 1418 Map<String, List<FeastBoardSunModel>> banquetData = {};
1368 banquetByDateDataTemp.forEach((element) { 1419 banquetByDateDataTemp.forEach((element) {
@@ -1400,26 +1451,26 @@ class _FeastCreatePageState extends State<FeastCreatePage> { @@ -1400,26 +1451,26 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
1400 } 1451 }
1401 }); 1452 });
1402 1453
1403 - List<String> tidsWidget = xuantaiData[xuantaiSelIndex]  
1404 - .tableList  
1405 - .map((element) => element.id)  
1406 - .toList();  
1407 - print(tidsWidget); 1454 + // List<String> tidsWidget = xuantaiData[xuantaiSelIndex]
  1455 + // .tableList
  1456 + // .map((element) => element.id)
  1457 + // .toList();
  1458 + // print(tidsWidget);
1408 banquetData.forEach((key, value) { 1459 banquetData.forEach((key, value) {
1409 value.forEach((element) { 1460 value.forEach((element) {
1410 //未丢单的宴会 1461 //未丢单的宴会
1411 1462
1412 - if (!tidsWidget.contains(key)) {  
1413 - //带过来的桌子,不能标记已预订,或者已经有宴会  
1414 - Notebook notebook = Notebook();  
1415 - notebook.tid = key;  
1416 - notebook.status = '10'; //宴会类型  
1417 - notebook.className = element.className;  
1418 - notebook.id = element.rid;  
1419 - notebook.rname = element.rname;  
1420 - notebook.nick_name = element.nickName ?? element.account;  
1421 - noteBooks.add(notebook);  
1422 - } 1463 + // if (!tidsWidget.contains(key)) {
  1464 + //带过来的桌子,不能标记已预订,或者已经有宴会
  1465 + Notebook notebook = Notebook();
  1466 + notebook.tid = key;
  1467 + notebook.status = '10'; //宴会类型
  1468 + notebook.className = element.className;
  1469 + notebook.id = element.rid;
  1470 + notebook.rname = element.rname;
  1471 + notebook.nick_name = element.nickName ?? element.account;
  1472 + noteBooks.add(notebook);
  1473 + // }
1423 1474
1424 print(noteBooks); 1475 print(noteBooks);
1425 }); 1476 });
@@ -1517,7 +1568,10 @@ class _FeastCreatePageState extends State<FeastCreatePage> { @@ -1517,7 +1568,10 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
1517 xuantaiData[xuantaiSelIndex].tableSum = 0; 1568 xuantaiData[xuantaiSelIndex].tableSum = 0;
1518 1569
1519 xuantaiData[xuantaiSelIndex].tids.forEach((element) { 1570 xuantaiData[xuantaiSelIndex].tids.forEach((element) {
1520 - xuantaiData[xuantaiSelIndex].tableSum += element.numStr; 1571 + xuantaiData[xuantaiSelIndex].tableSum += int.parse(
  1572 + element.numStr == '' || element.numStr == null
  1573 + ? '0'
  1574 + : element.numStr);
1521 }); 1575 });
1522 1576
1523 setState(() {}); 1577 setState(() {});
@@ -1973,7 +2027,12 @@ class _FeastCreatePageState extends State<FeastCreatePage> { @@ -1973,7 +2027,12 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
1973 xuantaiData[xuantaiSelIndex].dateTimeShowxt = 2027 xuantaiData[xuantaiSelIndex].dateTimeShowxt =
1974 createDateText(context, day); 2028 createDateText(context, day);
1975 }); 2029 });
1976 - _getReserveList(); 2030 + if (xuantaiData[xuantaiSelIndex].startDate != '' &&
  2031 + xuantaiData[xuantaiSelIndex].endDate != '' &&
  2032 + xuantaiData[xuantaiSelIndex].tableList !=
  2033 + null) {
  2034 + _getTableList();
  2035 + }
1977 } 2036 }
1978 }); 2037 });
1979 }), 2038 }),
@@ -1986,9 +2045,9 @@ class _FeastCreatePageState extends State<FeastCreatePage> { @@ -1986,9 +2045,9 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
1986 return item.title; 2045 return item.title;
1987 }).toList(), (value) { 2046 }).toList(), (value) {
1988 if (value != null) { 2047 if (value != null) {
1989 - xuantaiData[xuantaiSelIndex].tids = [];  
1990 - xuantaiData[xuantaiSelIndex].tableList = [];  
1991 - xuantaiData[xuantaiSelIndex].tableSum = 0; 2048 + // xuantaiData[xuantaiSelIndex].tids = [];
  2049 + // xuantaiData[xuantaiSelIndex].tableList = [];
  2050 + // xuantaiData[xuantaiSelIndex].tableSum = 0;
1992 setState(() { 2051 setState(() {
1993 xuantaiData[xuantaiSelIndex].cdSelIndex = 2052 xuantaiData[xuantaiSelIndex].cdSelIndex =
1994 value.first; 2053 value.first;
@@ -2038,6 +2097,14 @@ class _FeastCreatePageState extends State<FeastCreatePage> { @@ -2038,6 +2097,14 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
2038 '-' + 2097 '-' +
2039 xuantaiData[xuantaiSelIndex].endDate; 2098 xuantaiData[xuantaiSelIndex].endDate;
2040 setState(() {}); 2099 setState(() {});
  2100 + if (xuantaiData[xuantaiSelIndex].startDate != '' &&
  2101 + xuantaiData[xuantaiSelIndex].endDate != '' &&
  2102 + xuantaiData[xuantaiSelIndex].dateTimeShowxt !=
  2103 + '请选择' &&
  2104 + xuantaiData[xuantaiSelIndex].tableList !=
  2105 + null) {
  2106 + _getTableList();
  2107 + }
2041 } 2108 }
2042 }); 2109 });
2043 // DialogUtil.showSelectCusmanDialog( 2110 // DialogUtil.showSelectCusmanDialog(
@@ -2170,19 +2237,28 @@ class _FeastCreatePageState extends State<FeastCreatePage> { @@ -2170,19 +2237,28 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
2170 ), 2237 ),
2171 onChanged: (value) { 2238 onChanged: (value) {
2172 print('ggg'); 2239 print('ggg');
  2240 + print(value);
  2241 +
2173 xuantaiData[xuantaiSelIndex] 2242 xuantaiData[xuantaiSelIndex]
2174 .tableSum = 0; 2243 .tableSum = 0;
2175 for (Tids item 2244 for (Tids item
2176 in xuantaiData[ 2245 in xuantaiData[
2177 xuantaiSelIndex] 2246 xuantaiSelIndex]
2178 .tids) { 2247 .tids) {
  2248 + item.numStr =
  2249 + item.tableNumC.text;
2179 xuantaiData[xuantaiSelIndex] 2250 xuantaiData[xuantaiSelIndex]
2180 .tableSum += 2251 .tableSum +=
2181 int.parse(item 2252 int.parse(item
2182 - .tableNumC.text); 2253 + .tableNumC
  2254 + .text ==
  2255 + ''
  2256 + ? '0'
  2257 + : item.tableNumC
  2258 + .text);
  2259 +
  2260 + setState(() {});
2183 } 2261 }
2184 -  
2185 - setState(() {});  
2186 }, 2262 },
2187 onEditingComplete: () { 2263 onEditingComplete: () {
2188 // print('fff'); 2264 // print('fff');
@@ -2221,23 +2297,42 @@ class _FeastCreatePageState extends State<FeastCreatePage> { @@ -2221,23 +2297,42 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
2221 .color_E6000000, 2297 .color_E6000000,
2222 rTitle: "删除", 2298 rTitle: "删除",
2223 rCallback: () { 2299 rCallback: () {
2224 - if (xuantaiData[  
2225 - xuantaiSelIndex]  
2226 - .tableSum >  
2227 - 0) { 2300 + if (xuantaiData[xuantaiSelIndex]
  2301 + .tableSum >
  2302 + 0 &&
  2303 + xuantaiData[xuantaiSelIndex]
  2304 + .tids[index]
  2305 + .tableNumC
  2306 + .text !=
  2307 + '') {
2228 xuantaiData[xuantaiSelIndex] 2308 xuantaiData[xuantaiSelIndex]
2229 .tableSum -= 2309 .tableSum -=
2230 int.parse(xuantaiData[ 2310 int.parse(xuantaiData[
2231 - xuantaiSelIndex]  
2232 - .tids[index]  
2233 - .tableNumC  
2234 - .text); 2311 + xuantaiSelIndex]
  2312 + .tids[index]
  2313 + .tableNumC
  2314 + .text ==
  2315 + ''
  2316 + ? '0'
  2317 + : xuantaiData[
  2318 + xuantaiSelIndex]
  2319 + .tids[index]
  2320 + .tableNumC
  2321 + .text);
2235 } 2322 }
2236 2323
2237 xuantaiData[xuantaiSelIndex] 2324 xuantaiData[xuantaiSelIndex]
  2325 + .tableList
  2326 + .removeWhere((element) =>
  2327 + element.id ==
  2328 + xuantaiData[
  2329 + xuantaiSelIndex]
  2330 + .tids[index]
  2331 + .tid);
  2332 + xuantaiData[xuantaiSelIndex]
2238 .tids 2333 .tids
2239 .removeAt(index); 2334 .removeAt(index);
2240 - print('eeeeeee'); 2335 +
2241 setState(() {}); 2336 setState(() {});
2242 // _delGuestInfocDay(model.cday[index].id); 2337 // _delGuestInfocDay(model.cday[index].id);
2243 }); 2338 });
@@ -2358,6 +2453,9 @@ class _FeastCreatePageState extends State<FeastCreatePage> { @@ -2358,6 +2453,9 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
2358 hmE: xuantaiData[xuantaiSelIndex] 2453 hmE: xuantaiData[xuantaiSelIndex]
2359 .endDate, 2454 .endDate,
2360 source: '1', 2455 source: '1',
  2456 + ridFeast:
  2457 + xuantaiData[xuantaiSelIndex]
  2458 + .rid,
2361 object: { 2459 object: {
2362 'object': xuantaiData[xuantaiSelIndex] 2460 'object': xuantaiData[xuantaiSelIndex]
2363 .tableList 2461 .tableList
@@ -2373,28 +2471,58 @@ class _FeastCreatePageState extends State<FeastCreatePage> { @@ -2373,28 +2471,58 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
2373 .startDate, 2471 .startDate,
2374 hmE: xuantaiData[xuantaiSelIndex].endDate, 2472 hmE: xuantaiData[xuantaiSelIndex].endDate,
2375 source: '1', 2473 source: '1',
  2474 + ridFeast:
  2475 + xuantaiData[xuantaiSelIndex].rid,
2376 canChoose: true, 2476 canChoose: true,
2377 ); 2477 );
2378 } 2478 }
2379 2479
2380 if (temp == null) { 2480 if (temp == null) {
2381 } else if (temp['object'].length == 0) { 2481 } else if (temp['object'].length == 0) {
2382 - } else { 2482 + print('----------');
  2483 + xuantaiData[xuantaiSelIndex].tableList = [];
2383 xuantaiData[xuantaiSelIndex].tids = []; 2484 xuantaiData[xuantaiSelIndex].tids = [];
  2485 + xuantaiData[xuantaiSelIndex].tableSum = 0;
  2486 +
  2487 + setState(() {});
  2488 + } else {
  2489 + // xuantaiData[xuantaiSelIndex].tids = [];
2384 xuantaiData[xuantaiSelIndex].tableList = 2490 xuantaiData[xuantaiSelIndex].tableList =
2385 temp['object']; 2491 temp['object'];
2386 - 2492 + xuantaiData[xuantaiSelIndex].tableSum = 0;
  2493 + List<Tids> tidsTemp = [];
2387 for (t.TableList item 2494 for (t.TableList item
2388 in xuantaiData[xuantaiSelIndex] 2495 in xuantaiData[xuantaiSelIndex]
2389 .tableList) { 2496 .tableList) {
2390 item.selected = true; 2497 item.selected = true;
  2498 +
2391 Tids tids = Tids(); 2499 Tids tids = Tids();
2392 tids.tid = item.id; 2500 tids.tid = item.id;
2393 tids.name = item.name ?? ""; 2501 tids.name = item.name ?? "";
2394 - xuantaiData[xuantaiSelIndex]  
2395 - .tids  
2396 - .add(tids); 2502 + List<Tids> temp =
  2503 + xuantaiData[xuantaiSelIndex]
  2504 + .tids
  2505 + .where((element) =>
  2506 + element.tid == tids.tid)
  2507 + .toList();
  2508 + if (temp != null && temp.length > 0) {
  2509 + tids.numStr = temp[0].tableNumC.text;
  2510 + tids.tableNumC.text = temp[0].numStr;
  2511 + }
  2512 + tidsTemp.add(tids);
2397 } 2513 }
  2514 + xuantaiData[xuantaiSelIndex].tids =
  2515 + tidsTemp;
  2516 + xuantaiData[xuantaiSelIndex]
  2517 + .tids
  2518 + .forEach((element) {
  2519 + xuantaiData[xuantaiSelIndex].tableSum +=
  2520 + int.parse(element.numStr == '' ||
  2521 + element.numStr == null
  2522 + ? '0'
  2523 + : element.numStr);
  2524 + });
  2525 +
2398 setState(() {}); 2526 setState(() {});
2399 } 2527 }
2400 // } 2528 // }
@@ -3557,7 +3685,10 @@ class _FeastCreatePageState extends State<FeastCreatePage> { @@ -3557,7 +3685,10 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
3557 total = sum + double.parse(costInfoModel.serviceC.text); 3685 total = sum + double.parse(costInfoModel.serviceC.text);
3558 } else { 3686 } else {
3559 //选中百分比 3687 //选中百分比
3560 - if (int.parse(costInfoModel.serviceC.text) > 100) { 3688 + if (int.parse(costInfoModel.serviceC.text == ''
  3689 + ? '0'
  3690 + : costInfoModel.serviceC.text) >
  3691 + 100) {
3561 Utils.showToast('请输入小于100的数字'); 3692 Utils.showToast('请输入小于100的数字');
3562 3693
3563 return; 3694 return;
@@ -3584,7 +3715,10 @@ class _FeastCreatePageState extends State<FeastCreatePage> { @@ -3584,7 +3715,10 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
3584 total -= double.parse(costInfoModel.discountC.text); 3715 total -= double.parse(costInfoModel.discountC.text);
3585 } else { 3716 } else {
3586 //选中百分比 3717 //选中百分比
3587 - if (int.parse(costInfoModel.discountC.text) > 100) { 3718 + if (int.parse(costInfoModel.discountC.text == ''
  3719 + ? '0'
  3720 + : costInfoModel.discountC.text) >
  3721 + 100) {
3588 Utils.showToast('请输入小于100的数字'); 3722 Utils.showToast('请输入小于100的数字');
3589 3723
3590 return; 3724 return;
@@ -143,14 +143,15 @@ class NavigatorUtil { @@ -143,14 +143,15 @@ class NavigatorUtil {
143 String hmS, 143 String hmS,
144 String hmE, 144 String hmE,
145 String source, 145 String source,
146 - String tid = ''}) { 146 + String tid = '',
  147 + String ridFeast}) {
147 if (object != null) { 148 if (object != null) {
148 return _navigateTo(context, 149 return _navigateTo(context,
149 - "${Routes.select_table_f}?rid=$rid&tid=$tid&dateTime=$dateTime&fromPage=$fromPage&ddate_slot=$ddate_slot&canChoose=$canChoose&object=${FluroConvertUtils.object2string(object)}&hmS=$hmS&hmE=$hmE&source=$source"); 150 + "${Routes.select_table_f}?rid=$rid&ridFeast=$ridFeast&tid=$tid&dateTime=$dateTime&fromPage=$fromPage&ddate_slot=$ddate_slot&canChoose=$canChoose&object=${FluroConvertUtils.object2string(object)}&hmS=$hmS&hmE=$hmE&source=$source");
150 } 151 }
151 // object = {'object': [], "tid": ''}; 152 // object = {'object': [], "tid": ''};
152 return _navigateTo(context, 153 return _navigateTo(context,
153 - "${Routes.select_table_f}?rid=$rid&tid=$tid&dateTime=$dateTime&fromPage=$fromPage&ddate_slot=$ddate_slot&canChoose=$canChoose&hmS=$hmS&hmE=$hmE&source=$source"); 154 + "${Routes.select_table_f}?rid=$rid&ridFeast=$ridFeast&tid=$tid&dateTime=$dateTime&fromPage=$fromPage&ddate_slot=$ddate_slot&canChoose=$canChoose&hmS=$hmS&hmE=$hmE&source=$source");
154 } 155 }
155 156
156 /// 邀请函 157 /// 邀请函
@@ -390,6 +390,8 @@ var handleSelectTableFHandler = new Handler( @@ -390,6 +390,8 @@ var handleSelectTableFHandler = new Handler(
390 } 390 }
391 } 391 }
392 392
  393 + String ridFeast = params["ridFeast"].first;
  394 +
393 // return SelectTablePage(rid, dateTime, ddate_slot,canChoose: canChoose); 395 // return SelectTablePage(rid, dateTime, ddate_slot,canChoose: canChoose);
394 return ChangeNotifierProvider<ChooseTableModel>( 396 return ChangeNotifierProvider<ChooseTableModel>(
395 create: (_) => ChooseTableModel(), 397 create: (_) => ChooseTableModel(),
@@ -400,7 +402,8 @@ var handleSelectTableFHandler = new Handler( @@ -400,7 +402,8 @@ var handleSelectTableFHandler = new Handler(
400 tid: tid, 402 tid: tid,
401 hmS: hmS, 403 hmS: hmS,
402 hmE: hmE, 404 hmE: hmE,
403 - source: source)); 405 + source: source,
  406 + ridFeast: ridFeast));
404 }); 407 });
405 408
406 // 跳转到照片管理的选择桌位_方硕新修改的页面 409 // 跳转到照片管理的选择桌位_方硕新修改的页面
@@ -1545,15 +1548,16 @@ var feastCreatePageHandle = new Handler( @@ -1545,15 +1548,16 @@ var feastCreatePageHandle = new Handler(
1545 return ChangeNotifierProvider<FeastModel>( 1548 return ChangeNotifierProvider<FeastModel>(
1546 create: (_) => FeastModel(), 1549 create: (_) => FeastModel(),
1547 child: ChangeNotifierProvider<ChooseTableModel>( 1550 child: ChangeNotifierProvider<ChooseTableModel>(
1548 - create: (_) => ChooseTableModel(),  
1549 - child: FeastCreatePage(  
1550 - banquetDetail: banquetDetail, isCreate: isCreate, rid: rid))); 1551 + create: (_) => ChooseTableModel(),
  1552 + child: FeastCreatePage(
  1553 + banquetDetail: banquetDetail, isCreate: isCreate, rid: rid)));
1551 } 1554 }
1552 return ChangeNotifierProvider<FeastModel>( 1555 return ChangeNotifierProvider<FeastModel>(
1553 create: (_) => FeastModel(), 1556 create: (_) => FeastModel(),
1554 - child:ChangeNotifierProvider<ChooseTableModel>(  
1555 - create: (_) => ChooseTableModel(),  
1556 - child: FeastCreatePage(banquetDetail: banquetDetail, isCreate: isCreate))); 1557 + child: ChangeNotifierProvider<ChooseTableModel>(
  1558 + create: (_) => ChooseTableModel(),
  1559 + child: FeastCreatePage(
  1560 + banquetDetail: banquetDetail, isCreate: isCreate)));
1557 }); 1561 });
1558 1562
1559 ///宴会----添加定金 1563 ///宴会----添加定金
@@ -5922,7 +5922,7 @@ class DialogUtil { @@ -5922,7 +5922,7 @@ class DialogUtil {
5922 }); 5922 });
5923 } 5923 }
5924 5924
5925 - static showPickerDurationSelect(BuildContext context) async { 5925 + static showPickerDurationSelect(BuildContext context) async {
5926 final range = <DateTime>[ 5926 final range = <DateTime>[
5927 DateTime(0, 1, 1, 8, 30), 5927 DateTime(0, 1, 1, 8, 30),
5928 DateTime(0, 1, 1, 14, 30) 5928 DateTime(0, 1, 1, 14, 30)
@@ -6011,6 +6011,7 @@ class DialogUtil { @@ -6011,6 +6011,7 @@ class DialogUtil {
6011 String cancelText = '取消'}) { 6011 String cancelText = '取消'}) {
6012 return Picker( 6012 return Picker(
6013 // changeToFirst: true, 6013 // changeToFirst: true,
  6014 + looping: true,
6014 selecteds: selecteds, 6015 selecteds: selecteds,
6015 adapter: PickerDataAdapter<String>(pickerdata: data), 6016 adapter: PickerDataAdapter<String>(pickerdata: data),
6016 height: ScreenUtil().setWidth(480), 6017 height: ScreenUtil().setWidth(480),
@@ -7150,7 +7151,9 @@ class DialogUtil { @@ -7150,7 +7151,9 @@ class DialogUtil {
7150 color: MyColours.color_E6000000)), 7151 color: MyColours.color_E6000000)),
7151 onPressed: () { 7152 onPressed: () {
7152 Navigator.of(context).pop(); 7153 Navigator.of(context).pop();
7153 - lCallback(); 7154 + if (lCallback != null) {
  7155 + lCallback();
  7156 + }
7154 }, 7157 },
7155 ), 7158 ),
7156 CupertinoDialogAction( 7159 CupertinoDialogAction(