Commit 553fcc76411043cac515cf9b9a5c07d9bed0936e

Authored by wdn127929
1 parent f90aa0ef

bu gbug

@@ -469,8 +469,12 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { @@ -469,8 +469,12 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
469 if (model.pageState != PageState.Success) { 469 if (model.pageState != PageState.Success) {
470 return ExceptionPage( 470 return ExceptionPage(
471 pageState: model.pageState, 471 pageState: model.pageState,
472 - callback: () { 472 + callback: () async {
473 // _getOrderListData(); 473 // _getOrderListData();
  474 + _initCancel();
  475 + _getReserveDetail();
  476 + _getOrderInfo();
  477 + managers = await detailModel.getManagers(context);
474 }, 478 },
475 emptyMsg: "暂时没有预订列表信息哦", 479 emptyMsg: "暂时没有预订列表信息哦",
476 emptyImg: "empty_search", 480 emptyImg: "empty_search",
@@ -37,7 +37,7 @@ import 'package:one_key/models/message.dart'; @@ -37,7 +37,7 @@ import 'package:one_key/models/message.dart';
37 class HomePage extends StatefulWidget { 37 class HomePage extends StatefulWidget {
38 final int initialIndex; //初始tab 38 final int initialIndex; //初始tab
39 39
40 - HomePage({this.initialIndex = 1}); 40 + HomePage({this.initialIndex = 2});
41 41
42 @override 42 @override
43 State<StatefulWidget> createState() { 43 State<StatefulWidget> createState() {
@@ -95,16 +95,16 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { @@ -95,16 +95,16 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
95 )); 95 ));
96 WidgetsBinding.instance.addPostFrameCallback((_) { 96 WidgetsBinding.instance.addPostFrameCallback((_) {
97 initPlatformState(); 97 initPlatformState();
98 - if (widget.initialIndex == 1) return; 98 + if (widget.initialIndex == 0) return;
99 _getIntent(); 99 _getIntent();
100 Future.delayed(Duration(milliseconds: 30000), () { 100 Future.delayed(Duration(milliseconds: 30000), () {
101 ContactModel.getInstance().uploadLocalContact(context); 101 ContactModel.getInstance().uploadLocalContact(context);
102 UpdateModel updateModel = new UpdateModel(); 102 UpdateModel updateModel = new UpdateModel();
103 updateModel.checkUpdate(context, showToast: false); 103 updateModel.checkUpdate(context, showToast: false);
104 }); 104 });
105 - timer = Timer.periodic(Duration(minutes: 3), (_) {  
106 - _getAllUnMessages();  
107 - }); 105 + // timer = Timer.periodic(Duration(minutes: 3), (_) {
  106 + // _getAllUnMessages();
  107 + // });
108 }); 108 });
109 } 109 }
110 110
@@ -7,12 +7,14 @@ import 'package:common_utils/common_utils.dart'; @@ -7,12 +7,14 @@ import 'package:common_utils/common_utils.dart';
7 import 'package:flutter/material.dart'; 7 import 'package:flutter/material.dart';
8 import 'package:flutter/services.dart'; 8 import 'package:flutter/services.dart';
9 import 'package:flutter_screenutil/screenutil.dart'; 9 import 'package:flutter_screenutil/screenutil.dart';
  10 +import 'package:one_key/models/notebook.dart';
10 import 'package:one_key/models/notebook_detail.dart'; 11 import 'package:one_key/models/notebook_detail.dart';
11 import 'package:one_key/models/remark.dart'; 12 import 'package:one_key/models/remark.dart';
12 import 'package:one_key/models/reserve_info_model.dart'; 13 import 'package:one_key/models/reserve_info_model.dart';
13 import 'package:one_key/provider/home_enter_model.dart'; 14 import 'package:one_key/provider/home_enter_model.dart';
14 import 'package:one_key/provider/notebook_detail_change_model.dart'; 15 import 'package:one_key/provider/notebook_detail_change_model.dart';
15 import 'package:one_key/provider/notebook_detail_model.dart'; 16 import 'package:one_key/provider/notebook_detail_model.dart';
  17 +import 'package:one_key/provider/notebook_model.dart';
16 import 'package:one_key/provider/remark_manager_model.dart'; 18 import 'package:one_key/provider/remark_manager_model.dart';
17 import 'package:one_key/provider/user_model.dart'; 19 import 'package:one_key/provider/user_model.dart';
18 import 'package:one_key/res/colors.dart'; 20 import 'package:one_key/res/colors.dart';
@@ -76,19 +78,19 @@ class _HomeEnterPageState extends State<HomeEnterPage> { @@ -76,19 +78,19 @@ class _HomeEnterPageState extends State<HomeEnterPage> {
76 super.initState(); 78 super.initState();
77 dateTimeNow = DateTime.now(); 79 dateTimeNow = DateTime.now();
78 80
79 - WidgetsBinding.instance.addPostFrameCallback((timeStamp) { 81 + WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
80 _initTime(); 82 _initTime();
81 setState(() {}); 83 setState(() {});
82 sid = Provider.of<UserModel>(context, listen: false).user.sellerid; 84 sid = Provider.of<UserModel>(context, listen: false).user.sellerid;
83 _homeEnterModel.initDateHourMinuteList(context, currTimeIndex, dateText); 85 _homeEnterModel.initDateHourMinuteList(context, currTimeIndex, dateText);
84 String ddate = DateTime.now().millisecondsSinceEpoch.toString(); 86 String ddate = DateTime.now().millisecondsSinceEpoch.toString();
85 - _homeEnterModel.getNewTableList( 87 + await _homeEnterModel.getNewTableList(
86 context, ddate, currTimeIndex.toString(), pnum); 88 context, ddate, currTimeIndex.toString(), pnum);
87 89
88 Map<String, String> params = { 90 Map<String, String> params = {
89 "uid": Provider.of<UserModel>(context, listen: false).user.openid 91 "uid": Provider.of<UserModel>(context, listen: false).user.openid
90 }; 92 };
91 - remarkManagerModel.getRemarks(context, params); 93 + await remarkManagerModel.getRemarks(context, params);
92 }); 94 });
93 } 95 }
94 96
@@ -347,308 +349,244 @@ class _HomeEnterPageState extends State<HomeEnterPage> { @@ -347,308 +349,244 @@ class _HomeEnterPageState extends State<HomeEnterPage> {
347 ), 349 ),
348 ], 350 ],
349 ), 351 ),
350 - VEmptyView(30),  
351 - MyDivider(double.infinity, ScreenUtil().setWidth(2),  
352 - color: MyColours.color_efefef),  
353 - //备注  
354 - VEmptyView(50),  
355 - Row( 352 + Stack(
356 children: [ 353 children: [
357 - Expanded(  
358 - child: TextField(  
359 - maxLines: 1,  
360 - inputFormatters: [LengthLimitingTextInputFormatter(25)],  
361 - //输入文本的样式  
362 - style: TextStyle(  
363 - fontSize: ScreenUtil().setSp(34),  
364 - color: MyColours.color_353535),  
365 - controller: _homeEnterModel.customController,  
366 - focusNode: _needNode,  
367 - // textAlignVertical: TextAlignVertical.top,  
368 - decoration: InputDecoration(  
369 - hintText: "备注(选填)",  
370 - hintStyle: TextStyle(  
371 - color: MyColours.color_999999,  
372 - fontSize: ScreenUtil().setSp(34), 354 + Column(
  355 + children: [
  356 + VEmptyView(30),
  357 + MyDivider(double.infinity, ScreenUtil().setWidth(2),
  358 + color: MyColours.color_efefef),
  359 + //备注
  360 + VEmptyView(50),
  361 + Row(
  362 + children: [
  363 + Expanded(
  364 + child: TextField(
  365 + maxLines: 1,
  366 + inputFormatters: [LengthLimitingTextInputFormatter(25)],
  367 + //输入文本的样式
  368 + style: TextStyle(
  369 + fontSize: ScreenUtil().setSp(34),
  370 + color: MyColours.color_353535),
  371 + controller: _homeEnterModel.customController,
  372 + focusNode: _needNode,
  373 + // textAlignVertical: TextAlignVertical.top,
  374 + decoration: InputDecoration(
  375 + hintText: "备注(选填)",
  376 + hintStyle: TextStyle(
  377 + color: MyColours.color_999999,
  378 + fontSize: ScreenUtil().setSp(34),
  379 + ),
  380 + // contentPadding:
  381 + // EdgeInsets.only(bottom: ScreenUtil().setWidth(17)),
  382 + border: InputBorder.none,
  383 + ),
  384 + onChanged: (value) {
  385 + print(value);
  386 + currentRemark = value;
  387 + // print();
  388 + },
  389 + onEditingComplete: () {
  390 + print('fff');
  391 + _needNode.unfocus();
  392 + },
  393 + // keyboardType: TextInputType.number,
  394 + )),
  395 + InkWell(
  396 + onTap: () {
  397 + DialogUtil.showRemarkDialog(
  398 + context, remarkManagerModel.ofenRemarks, (item) {
  399 + int index =
  400 + remarkManagerModel.ofenRemarks.indexOf(item);
  401 + _refreshRemark(
  402 + remarkManagerModel.ofenRemarks, index);
  403 + });
  404 + },
  405 + child: Container(
  406 + margin:
  407 + EdgeInsets.only(left: ScreenUtil().setWidth(40)),
  408 + width: ScreenUtil().setWidth(122),
  409 + height: ScreenUtil().setWidth(42),
  410 + child: Text(
  411 + '常用备注',
  412 + style: TextStyle(
  413 + fontSize: ScreenUtil().setSp(30),
  414 + color: MyColours.color_199095),
  415 + ),
  416 + ),
  417 + ),
  418 + ],
373 ), 419 ),
374 - // contentPadding:  
375 - // EdgeInsets.only(bottom: ScreenUtil().setWidth(17)),  
376 - border: InputBorder.none,  
377 - ),  
378 - onChanged: (value) {  
379 - print(value);  
380 - currentRemark = value;  
381 - // print();  
382 - },  
383 - onEditingComplete: () {  
384 - print('fff');  
385 - _needNode.unfocus();  
386 - },  
387 - // keyboardType: TextInputType.number,  
388 - )),  
389 - InkWell(  
390 - onTap: () {  
391 - DialogUtil.showRemarkDialog(  
392 - context, remarkManagerModel.ofenRemarks, (item) {  
393 - int index = remarkManagerModel.ofenRemarks.indexOf(item);  
394 - _refreshRemark(remarkManagerModel.ofenRemarks, index);  
395 - });  
396 - },  
397 - child: Container(  
398 - margin: EdgeInsets.only(left: ScreenUtil().setWidth(40)),  
399 - width: ScreenUtil().setWidth(122),  
400 - height: ScreenUtil().setWidth(42),  
401 - child: Text(  
402 - '常用备注',  
403 - style: TextStyle(  
404 - fontSize: ScreenUtil().setSp(30),  
405 - color: MyColours.color_199095), 420 + VEmptyView(30),
  421 + MyDivider(double.infinity, ScreenUtil().setWidth(2),
  422 + color: MyColours.color_efefef),
  423 + //日期2020-01-01 ***** 早餐/午餐/晚餐 ***** 时间段16:30
  424 + VEmptyView(50),
  425 + Row(
  426 + // mainAxisAlignment: MainAxisAlignment.spaceAround,
  427 + children: [
  428 + _buttonChoose(dateText, (value) {
  429 + if (dateText == '') {
  430 + _calendWidget(DateTime.now());
  431 + } else {
  432 + // bool isThird = true;
  433 + _calendWidget(dateTimeNow);
  434 + }
  435 + }),
  436 + HEmptyView(40),
  437 + _buttonChoose(
  438 + currTimeIndex == 1
  439 + ? '早餐'
  440 + : currTimeIndex == 2
  441 + ? '午餐'
  442 + : '晚餐', (value) {
  443 + FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
  444 + List<String> temp = [];
  445 + for (int i = 0;
  446 + i < _homeEnterModel.sunDateList.length;
  447 + i++) {
  448 + temp.add(_homeEnterModel.sunDateList[i]['dateText']);
  449 + }
  450 + _showMorningAndNightChooseWidget(context, temp);
  451 + }),
  452 + HEmptyView(40),
  453 + _buttonChoose(
  454 + _homeEnterModel.ddateStr == '' ||
  455 + _homeEnterModel.isSetDate == '0'
  456 + ? '时间(选填)'
  457 + : _homeEnterModel.ddateStr, (value) {
  458 + FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
  459 + _showDateChooseWidget(context);
  460 + }),
  461 + ],
406 ), 462 ),
407 - ), 463 + VEmptyView(40),
  464 + Row(
  465 + children: [
  466 + Text('预计人数',
  467 + style: TextStyle(
  468 + color: MyColours.color_199095,
  469 + fontSize: ScreenUtil().setWidth(28))),
  470 + HEmptyView(20),
  471 + _buttonChoose(pnum, (value) {
  472 + FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
  473 + DialogUtil.showSelectCusmanDialog(
  474 + context, _homeEnterModel.personNumList,
  475 + (value) {
  476 + if (value != null) {
  477 + setState(() {
  478 + selectPnum = value.first;
  479 + pnum = _homeEnterModel.personNumList[value.first];
  480 + });
  481 + String ymyStr = dateText; //年月日
  482 + String timeStr = ymyStr + ' ' + "00:00:00";
  483 + int ddate =
  484 + DateUtil.getDateMsByTimeStr(timeStr); //筛选日期时间戳
  485 + // String pnum = Utils.getPnum(_homeEnterModel.personNumList);
  486 + _homeEnterModel.getNewTableList(context, '${ddate}',
  487 + currTimeIndex.toString(), pnum);
  488 + _homeEnterModel.notifyListeners();
  489 + }
  490 + }, selecteds: selectPnum == null ? [] : [selectPnum])
  491 + .then((value) {});
  492 + }),
  493 + HEmptyView(20),
  494 + Text('人',
  495 + style: TextStyle(
  496 + color: MyColours.color_199095,
  497 + fontSize: ScreenUtil().setWidth(28))),
  498 + ],
  499 + ),
  500 + ],
408 ), 501 ),
  502 + Offstage(
  503 + offstage: !(showPhoneHistory &&
  504 + _homeEnterModel.userHistorys.length > 0),
  505 + child: Container(
  506 + decoration: BoxDecoration(
  507 + borderRadius: BorderRadius.circular(8),
  508 + border: Border.all(color: Colors.white),
  509 + color: MyColours.color_ffffff,
  510 + boxShadow: [
  511 + BoxShadow(
  512 + color: MyColours.color_e5e5e5,
  513 + blurRadius: ScreenUtil().setWidth(20))
  514 + ]),
  515 + width: ScreenUtil().setWidth(440),
  516 + height: _homeEnterModel.userHistorys.length > 1
  517 + ? ScreenUtil().setWidth(208)
  518 + : ScreenUtil().setWidth(104),
  519 + padding: EdgeInsets.symmetric(
  520 + horizontal: ScreenUtil().setWidth(30)),
  521 + child: Align(
  522 + alignment: Alignment.topCenter,
  523 + child: MediaQuery.removePadding(
  524 + context: context,
  525 + removeTop: true,
  526 + child: ListView.builder(
  527 + itemBuilder: (context, index) {
  528 + return GestureDetector(
  529 + onTap: () {
  530 + setState(() {
  531 + showPhoneHistory = false;
  532 + _homeEnterModel.phoneController.text =
  533 + _homeEnterModel
  534 + .userHistorys[index].phone;
  535 + _homeEnterModel.nameController.text =
  536 + _homeEnterModel
  537 + .userHistorys[index].rname;
  538 + _phoneNode.unfocus();
  539 + _homeEnterModel.userHistorys.clear();
  540 + });
  541 + },
  542 + child: Container(
  543 + width: double.infinity,
  544 + height: ScreenUtil().setWidth(102),
  545 + decoration: BoxDecoration(
  546 + border: Border(
  547 + bottom: (index !=
  548 + (_homeEnterModel
  549 + .userHistorys
  550 + .length -
  551 + 1) &&
  552 + _homeEnterModel
  553 + .userHistorys.length >
  554 + 1)
  555 + ? BorderSide(
  556 + color: MyColours.color_e5e5e5,
  557 + width:
  558 + ScreenUtil().setWidth(2))
  559 + : BorderSide.none)),
  560 + child: Row(
  561 + mainAxisAlignment:
  562 + MainAxisAlignment.spaceBetween,
  563 + children: [
  564 + Text(
  565 + _homeEnterModel
  566 + .userHistorys[index].phone,
  567 + style: TextStyle(
  568 + color: MyColours.color_333333,
  569 + fontSize: ScreenUtil().setSp(32)),
  570 + ),
  571 + Text(
  572 + _homeEnterModel
  573 + .userHistorys[index].rname,
  574 + style: TextStyle(
  575 + color: MyColours.color_333333,
  576 + fontSize: ScreenUtil().setSp(32)),
  577 + )
  578 + ],
  579 + ),
  580 + ),
  581 + );
  582 + },
  583 + itemExtent: ScreenUtil().setWidth(104),
  584 + itemCount: _homeEnterModel.userHistorys.length,
  585 + ))),
  586 + ),
  587 + )
409 ], 588 ],
410 - ),  
411 - VEmptyView(30),  
412 - MyDivider(double.infinity, ScreenUtil().setWidth(2),  
413 - color: MyColours.color_efefef),  
414 - //日期2020-01-01 ***** 早餐/午餐/晚餐 ***** 时间段16:30  
415 - VEmptyView(50),  
416 - Row(  
417 - // mainAxisAlignment: MainAxisAlignment.spaceAround,  
418 - children: [  
419 - _buttonChoose(dateText, (value) {  
420 - if (dateText == '') {  
421 - _calendWidget(DateTime.now());  
422 - } else {  
423 - // bool isThird = true;  
424 - _calendWidget(dateTimeNow);  
425 - }  
426 - }),  
427 - HEmptyView(40),  
428 - _buttonChoose(  
429 - currTimeIndex == 1  
430 - ? '早餐'  
431 - : currTimeIndex == 2  
432 - ? '午餐'  
433 - : '晚餐', (value) {  
434 - FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘  
435 - List<String> temp = [];  
436 - for (int i = 0; i < _homeEnterModel.sunDateList.length; i++) {  
437 - temp.add(_homeEnterModel.sunDateList[i]['dateText']);  
438 - }  
439 - _showMorningAndNightChooseWidget(context, temp);  
440 - }),  
441 - HEmptyView(40),  
442 - _buttonChoose(  
443 - _homeEnterModel.ddateStr == '' ||  
444 - _homeEnterModel.isSetDate == '0'  
445 - ? '时间(选填)'  
446 - : _homeEnterModel.ddateStr, (value) {  
447 - FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘  
448 - _showDateChooseWidget(context);  
449 - }),  
450 - ],  
451 - ),  
452 - VEmptyView(40),  
453 - Row(  
454 - children: [  
455 - Text('预计人数',  
456 - style: TextStyle(  
457 - color: MyColours.color_199095,  
458 - fontSize: ScreenUtil().setWidth(28))),  
459 - HEmptyView(20),  
460 - _buttonChoose(pnum, (value) {  
461 - FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘  
462 - DialogUtil.showSelectCusmanDialog(  
463 - context, _homeEnterModel.personNumList, (value) {  
464 - if (value != null) {  
465 - setState(() {  
466 - selectPnum = value.first;  
467 - pnum = _homeEnterModel.personNumList[value.first];  
468 - });  
469 - String ymyStr = dateText; //年月日  
470 - String timeStr = ymyStr + ' ' + "00:00:00";  
471 - int ddate = DateUtil.getDateMsByTimeStr(timeStr); //筛选日期时间戳  
472 - // String pnum = Utils.getPnum(_homeEnterModel.personNumList);  
473 - _homeEnterModel.getNewTableList(  
474 - context, '${ddate}', currTimeIndex.toString(), pnum);  
475 - _homeEnterModel.notifyListeners();  
476 - }  
477 - }, selecteds: selectPnum == null ? [] : [selectPnum])  
478 - .then((value) {});  
479 - }),  
480 - HEmptyView(20),  
481 - Text('人',  
482 - style: TextStyle(  
483 - color: MyColours.color_199095,  
484 - fontSize: ScreenUtil().setWidth(28))),  
485 - ],  
486 - ),  
487 - // Row(  
488 - // mainAxisAlignment: MainAxisAlignment.spaceBetween,  
489 - // children: _homeEnterModel.dateList.map((value) {  
490 - // return CustomButton(  
491 - // dateText: value['title'].toString().length <= 5  
492 - // ? value['title'].toString()  
493 - // : value['title'].toString().substring(5),  
494 - // fontSize: value['fontSize'],  
495 - // dayText: value['dayText'],  
496 - // isImage: value['isImage'],  
497 - // isSelect: value['select'],  
498 - // onTap: () async {  
499 - // print(value['title']);  
500 - // FocusScope.of(context)  
501 - // .requestFocus(FocusNode()); //点击空白处隐藏键盘  
502 - // if (value['title'] == '其他') {  
503 - // _calendWidget(DateTime.now());  
504 - // } else {  
505 - // for (int j = 0;  
506 - // j < _homeEnterModel.dateList.length;  
507 - // j++) {  
508 - // _homeEnterModel.dateList[j]['select'] = false;  
509 -  
510 - // if (_homeEnterModel.dateList[j]['title'] ==  
511 - // value['title']) {  
512 - // _homeEnterModel.dateList[j]['select'] = true;  
513 - // if (j == 0 || j == 1) {  
514 - // _homeEnterModel.dateList[2]['title'] = '其他';  
515 - // }  
516 - // if (j == _homeEnterModel.dateList.length - 1) {  
517 - // String selectStr = _homeEnterModel.dateList[2]  
518 - // ['title'] +  
519 - // " 00:00:00";  
520 - // _calendWidget(DateUtil.getDateTime(selectStr));  
521 - // }  
522 - // }  
523 - // }  
524 - // _homeEnterModel.initHourAndMinuteSelect();  
525 - // //选完今天明天刷新页面  
526 - // int ddate = Utils.getDdate(_homeEnterModel.dateList);  
527 - // String ddateSolt =  
528 - // Utils.getDdateSolt(_homeEnterModel.sunDateList);  
529 - // // String pnum =  
530 - // // Utils.getPnum(_homeEnterModel.personNumList);  
531 - // List<t.TableList> list =  
532 - // await _homeEnterModel.getNewTableList(  
533 - // context,  
534 - // '${ddate}',  
535 - // ddateSolt,  
536 - // pnum,  
537 - // _homeEnterModel.tableList);  
538 - // if (list.length == 0) {  
539 - // _homeEnterModel.isRecommend = true;  
540 - // }  
541 - // }  
542 - // _homeEnterModel.notifyListeners();  
543 - // },  
544 - // );  
545 - // }).toList()),  
546 -  
547 - // VEmptyView(40),  
548 - // //早市、午市、晚市  
549 - // Row(  
550 - // // mainAxisAlignment: MainAxisAlignment.spaceBetween,  
551 - // children: _homeEnterModel.sunDateList.map((value) {  
552 - // return Container(  
553 - // margin: _homeEnterModel.sunDateList.length == 3 &&  
554 - // value['ddateSolt'] == 3  
555 - // ? EdgeInsets.only(right: 0)  
556 - // : EdgeInsets.only(right: ScreenUtil().setWidth(20)),  
557 - // child: CustomButton(  
558 - // onTap: () {  
559 - // FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘  
560 - // String key = '';  
561 - // for (var item in _homeEnterModel.sunDateList) {  
562 - // item['isSelect'] = false;  
563 - // if (item['dateText'] == value['dateText']) {  
564 - // item['isSelect'] = true;  
565 -  
566 - // if (item['ddateSolt'] == 1) {  
567 - // //早市  
568 - // key = 'morning';  
569 - // } else if (item['ddateSolt'] == 2) {  
570 - // //午市  
571 - // key = 'noon';  
572 - // } else if (item['ddateSolt'] == 3) {  
573 - // //晚市  
574 - // key = 'night';  
575 - // }  
576 - // }  
577 - // }  
578 - // _homeEnterModel.initHourAndMinuteSelect();  
579 - // if (key != '') {  
580 - // for (var sunitem in _homeEnterModel.dailyMap[key]) {  
581 - // if (sunitem['select'] == true) {  
582 - // _homeEnterModel.ddateStr = sunitem['title'];  
583 - // }  
584 - // }  
585 - // }  
586 - // _homeEnterModel.notifyListeners();  
587 - // int ddate = Utils.getDdate(_homeEnterModel.dateList);  
588 - // // String pnum = Utils.getPnum(_homeEnterModel.personNumList);  
589 - // String ddateSolt =  
590 - // Utils.getDdateSolt(_homeEnterModel.sunDateList);  
591 - // _homeEnterModel.getNewTableList(context, '${ddate}',  
592 - // '${ddateSolt}', pnum, _homeEnterModel.tableList);  
593 - // },  
594 - // dateText: value['dateText'],  
595 - // dayText: '',  
596 - // isSelect: value['isSelect'],  
597 - // ),  
598 - // );  
599 - // }).toList()),  
600 - // VEmptyView(40),  
601 -  
602 - // ///人数选择  
603 - // Row(  
604 - // mainAxisAlignment: MainAxisAlignment.spaceBetween,  
605 - // children: _homeEnterModel.personNumList.map((value) {  
606 - // return CustomButton(  
607 - // onTap: () {  
608 - // for (int j = 0;  
609 - // j < _homeEnterModel.personNumList.length;  
610 - // j++) {  
611 - // _homeEnterModel.personNumList[j]['isSelect'] = false;  
612 -  
613 - // if (_homeEnterModel.personNumList[j]['dateText'] ==  
614 - // value['dateText']) {  
615 - // _homeEnterModel.personNumList[j]['isSelect'] = true;  
616 -  
617 - // if (j < 5) {  
618 - // _homeEnterModel.numController.text = value['dateText'];  
619 - // FocusScope.of(context)  
620 - // .requestFocus(FocusNode()); //点击空白处隐藏键盘  
621 -  
622 - // }  
623 -  
624 - // // if (j < 5) {  
625 - // // _homeEnterModel.personNumList[5]  
626 - // // ['dateText'] = '更多';  
627 - // // }  
628 - // }  
629 - // }  
630 - // _homeEnterModel.notifyListeners();  
631 - // //人数选择页面刷新  
632 - // // String pnum = Utils.getPnum(_homeEnterModel.personNumList);  
633 - // int ddate = Utils.getDdate(_homeEnterModel.dateList);  
634 - // String ddateSolt =  
635 - // Utils.getDdateSolt(_homeEnterModel.sunDateList);  
636 -  
637 - // _homeEnterModel.getNewTableList(context, '${ddate}',  
638 - // ddateSolt, pnum, _homeEnterModel.tableList);  
639 - // },  
640 - // dateText: value['dateText'],  
641 - // fontSize: value['fontSize'],  
642 - // dayText: '',  
643 - // width: value['width'],  
644 - // isImage: value['isImage'],  
645 - // isSelect: value['isSelect'],  
646 - // isTextFiled: value['isTextFiled'],  
647 - // model: _homeEnterModel,  
648 - // );  
649 - // }).toList(),  
650 - // ),  
651 - // VEmptyView(20), 589 + )
652 ], 590 ],
653 ), 591 ),
654 ); 592 );
@@ -782,7 +720,35 @@ class _HomeEnterPageState extends State<HomeEnterPage> { @@ -782,7 +720,35 @@ class _HomeEnterPageState extends State<HomeEnterPage> {
782 canBookTable[index], 720 canBookTable[index],
783 isRegionName: true, 721 isRegionName: true,
784 canSelected: true, 722 canSelected: true,
785 - onSelected: (table) { 723 + onSelected: (table) async {
  724 + List<String> tempOrder = await _getReserveList(sid);
  725 + if (tempOrder.length > 0) {
  726 + for (String item in tempOrder) {
  727 + if (table.id == item) {
  728 + Utils.showToast('该桌位已被其他同事预定!');
  729 + //今天 明天 其他天
  730 + String tempTime = _homeEnterModel.ddateStr;
  731 + if (_homeEnterModel.ddateStr == '') {
  732 + if (currTimeIndex == 1) {
  733 + tempTime = '08:00';
  734 + } else if (currTimeIndex == 2) {
  735 + tempTime = '12:00';
  736 + } else if (currTimeIndex == 3) {
  737 + tempTime = '18:30';
  738 + }
  739 + }
  740 + String timeStr = dateText + ' ' + tempTime + ':00';
  741 +
  742 + LogUtil.v(timeStr);
  743 + int ddate = DateUtil.getDateMsByTimeStr(timeStr);
  744 + _homeEnterModel.getNewTableList(context, '${ddate}',
  745 + currTimeIndex.toString(), pnum);
  746 + FocusScope.of(context)
  747 + .requestFocus(FocusNode()); //点击空白处隐藏键盘
  748 + _homeEnterModel.notifyListeners();
  749 + }
  750 + }
  751 + }
786 if ((table as t.TableList).selected) { 752 if ((table as t.TableList).selected) {
787 _homeEnterModel.tableList.add(table); 753 _homeEnterModel.tableList.add(table);
788 } else { 754 } else {
@@ -1234,24 +1200,63 @@ class _HomeEnterPageState extends State<HomeEnterPage> { @@ -1234,24 +1200,63 @@ class _HomeEnterPageState extends State<HomeEnterPage> {
1234 _homeEnterModel.nameController.text = ''; 1200 _homeEnterModel.nameController.text = '';
1235 _homeEnterModel.phoneController.text = ''; 1201 _homeEnterModel.phoneController.text = '';
1236 _homeEnterModel.customController.text = ''; 1202 _homeEnterModel.customController.text = '';
1237 - dateText = ""; //当前显示日期时间 1203 +
1238 // currTimeIndex = null; 1204 // currTimeIndex = null;
1239 _homeEnterModel.ddateStr = ''; 1205 _homeEnterModel.ddateStr = '';
1240 pnum = '6'; 1206 pnum = '6';
1241 selectPnum = 5; 1207 selectPnum = 5;
1242 dateTimeNow = DateTime.now(); 1208 dateTimeNow = DateTime.now();
1243 - dateText = "${dateTimeNow.year}" +  
1244 - "-" +  
1245 - Utils.addZeroNumber(dateTimeNow.month) +  
1246 - "-" +  
1247 - Utils.addZeroNumber(dateTimeNow.day);  
1248 - String ddate = DateTime.now().millisecondsSinceEpoch.toString() + '000'; 1209 +
  1210 + _homeEnterModel.initDateHourMinuteList(context, currTimeIndex, dateText);
  1211 + String ddate = DateTime.now().millisecondsSinceEpoch.toString();
1249 await _homeEnterModel.getNewTableList( 1212 await _homeEnterModel.getNewTableList(
1250 context, ddate, currTimeIndex.toString(), pnum); 1213 context, ddate, currTimeIndex.toString(), pnum);
1251 FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘 1214 FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
1252 _homeEnterModel.notifyListeners(); 1215 _homeEnterModel.notifyListeners();
1253 } 1216 }
1254 1217
  1218 + //获取一天开始-结束时间字符串
  1219 + String _getRdate() {
  1220 + //一天开始时间
  1221 + double startDay =
  1222 + (DateTime.parse((dateText + " 00:00:00")).millisecondsSinceEpoch) /
  1223 + 1000;
  1224 + //一天结束时间
  1225 + double endDay =
  1226 + (DateTime.parse((dateText + " 23:59:59")).millisecondsSinceEpoch) /
  1227 + 1000;
  1228 + return startDay.floor().toString() + "-" + endDay.floor().toString();
  1229 + }
  1230 +
  1231 + //获取已预订列表
  1232 + Future<List<String>> _getReserveList(String sid) async {
  1233 + List<String> listHasOrder = [];
  1234 + NoteBookModel model = new NoteBookModel();
  1235 + Map<String, String> params = {
  1236 + "sid": sid,
  1237 + "rdate": _getRdate(),
  1238 + "ddate_solt": currTimeIndex.toString(),
  1239 + "y": "200",
  1240 + "x": "1",
  1241 + "keywords": "",
  1242 + "sort": "1"
  1243 + };
  1244 + List<Notebook> noteBooks = await model.getReserveList(context, params);
  1245 + for (Notebook notebook in noteBooks) {
  1246 + if (notebook.tid.isEmpty) continue;
  1247 + if (notebook.status == "1" ||
  1248 + notebook.status == "2" ||
  1249 + notebook.status == "5") {
  1250 + //已预订,用餐中,已安排
  1251 + List<String> tids = notebook.tid.split(",");
  1252 + for (String tid in tids) {
  1253 + listHasOrder.add("$tid");
  1254 + }
  1255 + }
  1256 + }
  1257 + return listHasOrder;
  1258 + }
  1259 +
1255 _getContactData() async { 1260 _getContactData() async {
1256 Contact contact = await _contactPicker.selectContactWithNative(); 1261 Contact contact = await _contactPicker.selectContactWithNative();
1257 setState(() { 1262 setState(() {
@@ -1389,7 +1394,24 @@ class _HomeEnterPageState extends State<HomeEnterPage> { @@ -1389,7 +1394,24 @@ class _HomeEnterPageState extends State<HomeEnterPage> {
1389 1394
1390 // EventBus().emit("refresh_tablemanager"); //刷新桌位 1395 // EventBus().emit("refresh_tablemanager"); //刷新桌位
1391 } else { 1396 } else {
1392 - Utils.showToast("录入预订订单失败,请重试!"); 1397 + Utils.showToast("预订失败!");
  1398 + // //今天 明天 其他天
  1399 + // String tempTime = _homeEnterModel.ddateStr;
  1400 + // if (_homeEnterModel.ddateStr == '') {
  1401 + // if (currTimeIndex == 1) {
  1402 + // tempTime = '08:00';
  1403 + // } else if (currTimeIndex == 2) {
  1404 + // tempTime = '12:00';
  1405 + // } else if (currTimeIndex == 3) {
  1406 + // tempTime = '18:30';
  1407 + // }
  1408 + // }
  1409 + // String timeStr = dateText + ' ' + tempTime + ':00';
  1410 +
  1411 + // LogUtil.v(timeStr);
  1412 + // int ddate = DateUtil.getDateMsByTimeStr(timeStr);
  1413 + // _homeEnterModel.getNewTableList(
  1414 + // context, '${ddate}', currTimeIndex.toString(), pnum);
1393 } 1415 }
1394 }, 1416 },
1395 )) 1417 ))