|
...
|
...
|
@@ -7,9 +7,7 @@ import 'package:flutter/services.dart'; |
|
|
|
import 'package:flutter_screenutil/screenutil.dart';
|
|
|
|
import 'package:one_key/models/notebook_detail.dart';
|
|
|
|
import 'package:one_key/models/reserve_info_model.dart';
|
|
|
|
import 'package:one_key/provider/notebook_detail_change_model.dart';
|
|
|
|
import 'package:one_key/provider/notebook_detail_model.dart';
|
|
|
|
import 'package:one_key/provider/user_model.dart';
|
|
|
|
import 'package:one_key/provider/enter_model.dart';
|
|
|
|
import 'package:one_key/res/colors.dart';
|
|
|
|
import 'package:one_key/utils/dialog_util.dart';
|
|
|
|
import 'package:one_key/utils/event_bus.dart';
|
|
...
|
...
|
@@ -20,7 +18,6 @@ import 'package:one_key/widgets/app_bar.dart'; |
|
|
|
import 'package:one_key/widgets/common_button.dart';
|
|
|
|
import 'package:one_key/widgets/h_empty_view.dart';
|
|
|
|
import 'package:one_key/widgets/new_table_item.dart';
|
|
|
|
import 'package:one_key/widgets/table_item.dart';
|
|
|
|
import 'package:one_key/widgets/v_empty_view.dart';
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
import 'package:one_key/models/table_list.dart' as t;
|
|
...
|
...
|
@@ -34,28 +31,29 @@ class EnterPage extends StatefulWidget { |
|
|
|
|
|
|
|
const EnterPage({Key key, this.detailEntity, this.rid})
|
|
|
|
: super(key: key);
|
|
|
|
|
|
|
|
@override
|
|
|
|
_EnterPageState createState() => _EnterPageState();
|
|
|
|
}
|
|
|
|
|
|
|
|
class _EnterPageState extends State<EnterPage> {
|
|
|
|
DateTime dateTime; //当前日期
|
|
|
|
NotebookDetailChangeModel _notebookDetailChangeModel;
|
|
|
|
EnterModel _enterModel;
|
|
|
|
FocusNode _phoneNode = FocusNode();
|
|
|
|
FocusNode _nameNode = FocusNode();
|
|
|
|
FocusNode _needNode = FocusNode();
|
|
|
|
NotebookDetailModel detailModel = NotebookDetailModel();
|
|
|
|
|
|
|
|
@override
|
|
|
|
void initState() {
|
|
|
|
super.initState();
|
|
|
|
LogUtil.v(widget.detailEntity.toString());
|
|
|
|
dateTime = DateTime.now();
|
|
|
|
|
|
|
|
_notebookDetailChangeModel =
|
|
|
|
Provider.of<NotebookDetailChangeModel>(context, listen: false);
|
|
|
|
_notebookDetailChangeModel.initDateHourMinuteList(context);
|
|
|
|
_enterModel =
|
|
|
|
Provider.of<EnterModel>(context, listen: true);
|
|
|
|
_enterModel.initData(widget.detailEntity);
|
|
|
|
_enterModel.initDateHourMinuteList(context);
|
|
|
|
String ddate = widget.detailEntity.ddate.toString() + '000';
|
|
|
|
_notebookDetailChangeModel.getNewTableList(
|
|
|
|
_enterModel.getNewTableList(
|
|
|
|
context,
|
|
|
|
ddate,
|
|
|
|
widget.detailEntity.ddate_solt,
|
|
...
|
...
|
@@ -79,7 +77,7 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
//第一行 日期选择
|
|
|
|
Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
children: _notebookDetailChangeModel.dateList.map((value) {
|
|
|
|
children: _enterModel.dateList.map((value) {
|
|
|
|
return CustomButton(
|
|
|
|
dateText: value['title'],
|
|
|
|
fontSize: value['fontSize'],
|
|
...
|
...
|
@@ -94,24 +92,24 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
_calendWidget(DateTime.now());
|
|
|
|
} else {
|
|
|
|
for (int j = 0;
|
|
|
|
j < _notebookDetailChangeModel.dateList.length;
|
|
|
|
j < _enterModel.dateList.length;
|
|
|
|
j++) {
|
|
|
|
_notebookDetailChangeModel.dateList[j]['select'] =
|
|
|
|
_enterModel.dateList[j]['select'] =
|
|
|
|
false;
|
|
|
|
|
|
|
|
if (_notebookDetailChangeModel.dateList[j]['title'] ==
|
|
|
|
if (_enterModel.dateList[j]['title'] ==
|
|
|
|
value['title']) {
|
|
|
|
_notebookDetailChangeModel.dateList[j]['select'] =
|
|
|
|
_enterModel.dateList[j]['select'] =
|
|
|
|
true;
|
|
|
|
|
|
|
|
if (j == 0 || j == 1) {
|
|
|
|
_notebookDetailChangeModel.dateList[2]['title'] =
|
|
|
|
_enterModel.dateList[2]['title'] =
|
|
|
|
'其他';
|
|
|
|
}
|
|
|
|
if (j ==
|
|
|
|
_notebookDetailChangeModel.dateList.length - 1) {
|
|
|
|
_enterModel.dateList.length - 1) {
|
|
|
|
String selectStr =
|
|
|
|
_notebookDetailChangeModel.dateList[2]['title'];
|
|
|
|
_enterModel.dateList[2]['title'];
|
|
|
|
String timeNow = DateUtil.formatDate(
|
|
|
|
DateTime.now(),
|
|
|
|
);
|
|
...
|
...
|
@@ -122,22 +120,23 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
}
|
|
|
|
}
|
|
|
|
//选完今天明天刷新页面
|
|
|
|
int ddate = _getDdate(_notebookDetailChangeModel);
|
|
|
|
int ddate = Utils.getDdate(_enterModel.dateList);
|
|
|
|
_enterModel.updateSunDateList(DateTime.fromMillisecondsSinceEpoch(ddate), context);
|
|
|
|
String ddateSolt =
|
|
|
|
_getDdateSolt(_notebookDetailChangeModel);
|
|
|
|
String pnum = _getPnum(_notebookDetailChangeModel);
|
|
|
|
Utils.getDdateSolt(_enterModel.sunDateList);
|
|
|
|
String pnum = Utils.getPnum(_enterModel.personNumList);
|
|
|
|
List<t.TableList> list =
|
|
|
|
await _notebookDetailChangeModel.getNewTableList(
|
|
|
|
await _enterModel.getNewTableList(
|
|
|
|
context,
|
|
|
|
'${ddate}',
|
|
|
|
ddateSolt,
|
|
|
|
pnum,
|
|
|
|
_notebookDetailChangeModel.tableList);
|
|
|
|
_enterModel.tableList);
|
|
|
|
if (list.length == 0) {
|
|
|
|
_notebookDetailChangeModel.isRecommend = true;
|
|
|
|
_enterModel.isRecommend = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
_notebookDetailChangeModel.notifyListeners();
|
|
|
|
_enterModel.notifyListeners();
|
|
|
|
},
|
|
|
|
);
|
|
|
|
}).toList()),
|
|
...
|
...
|
@@ -146,16 +145,17 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
//早市、午市、晚市
|
|
|
|
Row(
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
children: _notebookDetailChangeModel.sunDateList.map((value) {
|
|
|
|
children: _enterModel.sunDateList.map((value) {
|
|
|
|
return Container(
|
|
|
|
margin: _notebookDetailChangeModel.sunDateList.length == 3 &&
|
|
|
|
margin: _enterModel.sunDateList.length == 3 &&
|
|
|
|
value['ddateSolt'] == 3
|
|
|
|
? EdgeInsets.only(right: 0)
|
|
|
|
: EdgeInsets.only(right: ScreenUtil().setWidth(20)),
|
|
|
|
child: CustomButton(
|
|
|
|
onTap: () {
|
|
|
|
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
|
|
|
|
for (var item in _notebookDetailChangeModel.sunDateList) {
|
|
|
|
if(!value['isEnable'])return;
|
|
|
|
for (var item in _enterModel.sunDateList) {
|
|
|
|
item['isSelect'] = false;
|
|
|
|
if (item['dateText'] == value['dateText']) {
|
|
|
|
item['isSelect'] = true;
|
|
...
|
...
|
@@ -173,28 +173,29 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
}
|
|
|
|
if (key != '') {
|
|
|
|
for (var sunitem
|
|
|
|
in _notebookDetailChangeModel.dailyMap[key]) {
|
|
|
|
in _enterModel.dailyMap[key]) {
|
|
|
|
if (sunitem['select'] == true) {
|
|
|
|
_notebookDetailChangeModel.ddateStr =
|
|
|
|
_enterModel.ddateStr =
|
|
|
|
sunitem['title'];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
_notebookDetailChangeModel.notifyListeners();
|
|
|
|
_enterModel.notifyListeners();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
int ddate = _getDdate(_notebookDetailChangeModel);
|
|
|
|
String pnum = _getPnum(_notebookDetailChangeModel);
|
|
|
|
String ddateSolt = _getDdateSolt(_notebookDetailChangeModel);
|
|
|
|
_notebookDetailChangeModel.getNewTableList(
|
|
|
|
int ddate = Utils.getDdate(_enterModel.dateList);
|
|
|
|
String pnum = Utils.getPnum(_enterModel.personNumList);
|
|
|
|
String ddateSolt = Utils.getDdateSolt(_enterModel.sunDateList);
|
|
|
|
_enterModel.getNewTableList(
|
|
|
|
context,
|
|
|
|
'${ddate}',
|
|
|
|
'${ddateSolt}',
|
|
|
|
pnum,
|
|
|
|
_notebookDetailChangeModel.tableList);
|
|
|
|
_enterModel.tableList);
|
|
|
|
},
|
|
|
|
dateText: value['dateText'],
|
|
|
|
dayText: '',
|
|
|
|
isEnable: value['isEnable'],
|
|
|
|
isSelect: value['isSelect'],
|
|
|
|
),
|
|
|
|
);
|
|
...
|
...
|
@@ -204,23 +205,23 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
///人数选择
|
|
|
|
Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
children: _notebookDetailChangeModel.personNumList.map((value) {
|
|
|
|
children: _enterModel.personNumList.map((value) {
|
|
|
|
return CustomButton(
|
|
|
|
onTap: () {
|
|
|
|
for (int j = 0;
|
|
|
|
j < _notebookDetailChangeModel.personNumList.length;
|
|
|
|
j < _enterModel.personNumList.length;
|
|
|
|
j++) {
|
|
|
|
_notebookDetailChangeModel.personNumList[j]['isSelect'] =
|
|
|
|
_enterModel.personNumList[j]['isSelect'] =
|
|
|
|
false;
|
|
|
|
|
|
|
|
if (_notebookDetailChangeModel.personNumList[j]
|
|
|
|
if (_enterModel.personNumList[j]
|
|
|
|
['dateText'] ==
|
|
|
|
value['dateText']) {
|
|
|
|
_notebookDetailChangeModel.personNumList[j]['isSelect'] =
|
|
|
|
_enterModel.personNumList[j]['isSelect'] =
|
|
|
|
true;
|
|
|
|
|
|
|
|
if (j < 5) {
|
|
|
|
_notebookDetailChangeModel.numController.text =
|
|
|
|
_enterModel.numController.text =
|
|
|
|
value['dateText'];
|
|
|
|
FocusScope.of(context)
|
|
|
|
.requestFocus(FocusNode()); //点击空白处隐藏键盘
|
|
...
|
...
|
@@ -228,23 +229,23 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
}
|
|
|
|
|
|
|
|
// if (j < 5) {
|
|
|
|
// _notebookDetailChangeModel.personNumList[5]
|
|
|
|
// _enterModel.personNumList[5]
|
|
|
|
// ['dateText'] = '更多';
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
_notebookDetailChangeModel.notifyListeners();
|
|
|
|
_enterModel.notifyListeners();
|
|
|
|
//人数选择页面刷新
|
|
|
|
String pnum = _getPnum(_notebookDetailChangeModel);
|
|
|
|
int ddate = _getDdate(_notebookDetailChangeModel);
|
|
|
|
String ddateSolt = _getDdateSolt(_notebookDetailChangeModel);
|
|
|
|
String pnum = Utils.getPnum(_enterModel.personNumList);
|
|
|
|
int ddate = Utils.getDdate(_enterModel.dateList);
|
|
|
|
String ddateSolt = Utils.getDdateSolt(_enterModel.sunDateList);
|
|
|
|
|
|
|
|
_notebookDetailChangeModel.getNewTableList(
|
|
|
|
_enterModel.getNewTableList(
|
|
|
|
context,
|
|
|
|
'${ddate}',
|
|
|
|
ddateSolt,
|
|
|
|
pnum,
|
|
|
|
_notebookDetailChangeModel.tableList);
|
|
|
|
_enterModel.tableList);
|
|
|
|
},
|
|
|
|
dateText: value['dateText'],
|
|
|
|
fontSize: value['fontSize'],
|
|
...
|
...
|
@@ -253,7 +254,7 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
isImage: value['isImage'],
|
|
|
|
isSelect: value['isSelect'],
|
|
|
|
isTextFiled: value['isTextFiled'],
|
|
|
|
model: _notebookDetailChangeModel,
|
|
|
|
model: _enterModel,
|
|
|
|
);
|
|
|
|
}).toList(),
|
|
|
|
)
|
|
...
|
...
|
@@ -270,41 +271,42 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
int dateTimeMill = day.millisecondsSinceEpoch;
|
|
|
|
String dateText = DateUtil.formatDateMs(dateTimeMill, format: 'MM-dd');
|
|
|
|
bool isThird = true;
|
|
|
|
for (int i = 0; i < _notebookDetailChangeModel.dateList.length; i++) {
|
|
|
|
_notebookDetailChangeModel.dateList[i]['select'] = false;
|
|
|
|
for (int i = 0; i < _enterModel.dateList.length; i++) {
|
|
|
|
_enterModel.dateList[i]['select'] = false;
|
|
|
|
|
|
|
|
if (_notebookDetailChangeModel.dateList[i]['title'] == dateText) {
|
|
|
|
_notebookDetailChangeModel.dateList[i]['select'] = true;
|
|
|
|
if (_enterModel.dateList[i]['title'] == dateText) {
|
|
|
|
_enterModel.dateList[i]['select'] = true;
|
|
|
|
isThird = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (isThird) {
|
|
|
|
_notebookDetailChangeModel.dateList[2]['select'] = true;
|
|
|
|
_notebookDetailChangeModel.dateList[2]['title'] = dateText;
|
|
|
|
_enterModel.dateList[2]['select'] = true;
|
|
|
|
_enterModel.dateList[2]['title'] = dateText;
|
|
|
|
} else {
|
|
|
|
_notebookDetailChangeModel.dateList[2]['title'] = '其他';
|
|
|
|
_enterModel.dateList[2]['title'] = '其他';
|
|
|
|
}
|
|
|
|
_enterModel.updateSunDateList(dateTime, context);
|
|
|
|
// 选完日历刷新页面
|
|
|
|
String ddateSolt = _getDdateSolt(_notebookDetailChangeModel);
|
|
|
|
String pnum = _getPnum(_notebookDetailChangeModel);
|
|
|
|
_notebookDetailChangeModel.getNewTableList(
|
|
|
|
String ddateSolt = Utils.getDdateSolt(_enterModel.sunDateList);
|
|
|
|
String pnum = Utils.getPnum(_enterModel.personNumList);
|
|
|
|
_enterModel.getNewTableList(
|
|
|
|
context,
|
|
|
|
'${dateTimeMill}',
|
|
|
|
ddateSolt,
|
|
|
|
_getPnum(_notebookDetailChangeModel),
|
|
|
|
_notebookDetailChangeModel.tableList);
|
|
|
|
pnum,
|
|
|
|
_enterModel.tableList);
|
|
|
|
}
|
|
|
|
_notebookDetailChangeModel.notifyListeners();
|
|
|
|
_enterModel.notifyListeners();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
/// 可订桌位
|
|
|
|
_middleWidget() {
|
|
|
|
List canBookTable = [];
|
|
|
|
if (_notebookDetailChangeModel.isRecommend) {
|
|
|
|
canBookTable = _notebookDetailChangeModel.recommendList;
|
|
|
|
if (_enterModel.isRecommend) {
|
|
|
|
canBookTable = _enterModel.recommendList;
|
|
|
|
} else {
|
|
|
|
canBookTable = _notebookDetailChangeModel.tableList;
|
|
|
|
canBookTable = _enterModel.tableList;
|
|
|
|
}
|
|
|
|
return Container(
|
|
|
|
padding: EdgeInsets.all(ScreenUtil().setWidth(40)),
|
|
...
|
...
|
@@ -317,7 +319,7 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
//当前选中 月 日string
|
|
|
|
String mdStr = '';
|
|
|
|
//今天 明天 其他天
|
|
|
|
for (var item in _notebookDetailChangeModel.dateList) {
|
|
|
|
for (var item in _enterModel.dateList) {
|
|
|
|
if (item['select'] == true) {
|
|
|
|
mdStr = item['title'];
|
|
|
|
}
|
|
...
|
...
|
@@ -328,7 +330,7 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
String timeStr = ymyStr + ' ' + "00:00:00";
|
|
|
|
int ddate = DateUtil.getDateMsByTimeStr(timeStr); //筛选日期时间戳
|
|
|
|
String ddateSolt = '';
|
|
|
|
for (var item in _notebookDetailChangeModel.sunDateList) {
|
|
|
|
for (var item in _enterModel.sunDateList) {
|
|
|
|
if (item['isSelect']) {
|
|
|
|
ddateSolt = '${item['ddateSolt']}';
|
|
|
|
}
|
|
...
|
...
|
@@ -339,34 +341,34 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
Map temp = await NavigatorUtil.goSelectTablePage(
|
|
|
|
context, widget.rid, ddate, ddateSolt,
|
|
|
|
canChoose: true,
|
|
|
|
object: {'object': _notebookDetailChangeModel.tableList});
|
|
|
|
object: {'object': _enterModel.tableList});
|
|
|
|
// if (temp['tid'] != null) {
|
|
|
|
// setReserveStatus("5", tid: temp['tid']);
|
|
|
|
// }
|
|
|
|
if (temp == null || temp['object'].length == 0) {
|
|
|
|
if (_notebookDetailChangeModel.tableList.length == 0) {
|
|
|
|
_notebookDetailChangeModel.isRecommend = true;
|
|
|
|
_notebookDetailChangeModel.tableList = [];
|
|
|
|
if (_enterModel.tableList.length == 0) {
|
|
|
|
_enterModel.isRecommend = true;
|
|
|
|
_enterModel.tableList = [];
|
|
|
|
for (t.TableList item
|
|
|
|
in _notebookDetailChangeModel.recommendList) {
|
|
|
|
in _enterModel.recommendList) {
|
|
|
|
item.selected = false;
|
|
|
|
}
|
|
|
|
setState(() {});
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
_notebookDetailChangeModel.isRecommend = false;
|
|
|
|
_notebookDetailChangeModel.tableList = temp['object'];
|
|
|
|
// if (_notebookDetailChangeModel.tableList.length == 0) {
|
|
|
|
_enterModel.isRecommend = false;
|
|
|
|
_enterModel.tableList = temp['object'];
|
|
|
|
// if (_enterModel.tableList.length == 0) {
|
|
|
|
// isRecommend = true;
|
|
|
|
// }
|
|
|
|
for (t.TableList item
|
|
|
|
in _notebookDetailChangeModel.tableList) {
|
|
|
|
in _enterModel.tableList) {
|
|
|
|
item.selected = true;
|
|
|
|
}
|
|
|
|
setState(() {});
|
|
|
|
}
|
|
|
|
|
|
|
|
// _notebookDetailChangeModel.notifyListeners();
|
|
|
|
// _enterModel.notifyListeners();
|
|
|
|
},
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
...
|
...
|
@@ -410,9 +412,9 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
canSelected: true,
|
|
|
|
onSelected: (table) {
|
|
|
|
if ((table as t.TableList).selected) {
|
|
|
|
_notebookDetailChangeModel.tableList.add(table);
|
|
|
|
_enterModel.tableList.add(table);
|
|
|
|
} else {
|
|
|
|
_notebookDetailChangeModel.tableList
|
|
|
|
_enterModel.tableList
|
|
|
|
.removeWhere((t) => t.id == table.id);
|
|
|
|
}
|
|
|
|
},
|
|
...
|
...
|
@@ -448,7 +450,7 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(34),
|
|
|
|
color: MyColours.color_353535),
|
|
|
|
controller: _notebookDetailChangeModel.phoneController,
|
|
|
|
controller: _enterModel.phoneController,
|
|
|
|
focusNode: _phoneNode,
|
|
|
|
// textAlignVertical: TextAlignVertical.top,
|
|
|
|
decoration: InputDecoration(
|
|
...
|
...
|
@@ -477,7 +479,7 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
child: Text(
|
|
|
|
int.parse(widget.detailEntity.is_set_ddate) == 0
|
|
|
|
? '未设置到店时间'
|
|
|
|
: _notebookDetailChangeModel.ddateStr,
|
|
|
|
: _enterModel.ddateStr,
|
|
|
|
style: TextStyle(
|
|
|
|
color: int.parse(widget.detailEntity.is_set_ddate) == 0
|
|
|
|
? MyColours.color_999999
|
|
...
|
...
|
@@ -504,7 +506,7 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(34),
|
|
|
|
color: MyColours.color_353535),
|
|
|
|
controller: _notebookDetailChangeModel.nameController,
|
|
|
|
controller: _enterModel.nameController,
|
|
|
|
focusNode: _nameNode,
|
|
|
|
// textAlignVertical: TextAlignVertical.top,
|
|
|
|
decoration: InputDecoration(
|
|
...
|
...
|
@@ -527,16 +529,16 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
),
|
|
|
|
HEmptyView(40),
|
|
|
|
Row(
|
|
|
|
children: _notebookDetailChangeModel.sexList.map((value) {
|
|
|
|
children: _enterModel.sexList.map((value) {
|
|
|
|
return _callButton(
|
|
|
|
onPress: () {
|
|
|
|
for (var item in _notebookDetailChangeModel.sexList) {
|
|
|
|
for (var item in _enterModel.sexList) {
|
|
|
|
item['select'] = false;
|
|
|
|
if (item['title'] == value['title']) {
|
|
|
|
item['select'] = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
_notebookDetailChangeModel.notifyListeners();
|
|
|
|
_enterModel.notifyListeners();
|
|
|
|
},
|
|
|
|
content: value['title'],
|
|
|
|
hasLeftBorder: value['hasLeftBorder'],
|
|
...
|
...
|
@@ -555,7 +557,7 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(34),
|
|
|
|
color: MyColours.color_353535),
|
|
|
|
controller: _notebookDetailChangeModel.customController,
|
|
|
|
controller: _enterModel.customController,
|
|
|
|
focusNode: _needNode,
|
|
|
|
// textAlignVertical: TextAlignVertical.top,
|
|
|
|
decoration: InputDecoration(
|
|
...
|
...
|
@@ -591,11 +593,11 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
|
|
|
|
String title = '早市';
|
|
|
|
String key;
|
|
|
|
for (var item in _notebookDetailChangeModel.sunDateList) {
|
|
|
|
for (var item in _enterModel.sunDateList) {
|
|
|
|
if (item['isSelect'] == true) {
|
|
|
|
title = item['dateText'];
|
|
|
|
key = item['key'];
|
|
|
|
tempMndList = _notebookDetailChangeModel.dailyMap[key];
|
|
|
|
tempMndList = _enterModel.dailyMap[key];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//计算行数
|
|
...
|
...
|
@@ -677,14 +679,14 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
tempMndList[index]['title']) {
|
|
|
|
item['select'] = true;
|
|
|
|
widget.detailEntity.is_set_ddate = '1';
|
|
|
|
_notebookDetailChangeModel.isSetDate = "1";
|
|
|
|
_notebookDetailChangeModel.ddateStr =
|
|
|
|
_enterModel.isSetDate = "1";
|
|
|
|
_enterModel.ddateStr =
|
|
|
|
item['title'];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// });
|
|
|
|
|
|
|
|
_notebookDetailChangeModel.notifyListeners();
|
|
|
|
_enterModel.notifyListeners();
|
|
|
|
Navigator.pop(context);
|
|
|
|
},
|
|
|
|
width: 80,
|
|
...
|
...
|
@@ -743,8 +745,6 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
_notebookDetailChangeModel =
|
|
|
|
Provider.of<NotebookDetailChangeModel>(context, listen: true);
|
|
|
|
return GestureDetector(
|
|
|
|
behavior: HitTestBehavior.translucent,
|
|
|
|
onTap: () {
|
|
...
|
...
|
@@ -752,142 +752,103 @@ class _EnterPageState extends State<EnterPage> { |
|
|
|
},
|
|
|
|
child: Scaffold(
|
|
|
|
backgroundColor: Colors.white,
|
|
|
|
body: Column(children: <Widget>[
|
|
|
|
SizedBox(height: ScreenUtil.statusBarHeight),
|
|
|
|
MyAppBar(
|
|
|
|
"变更预订",
|
|
|
|
showBack: true,
|
|
|
|
),
|
|
|
|
Expanded(
|
|
|
|
child: SingleChildScrollView(
|
|
|
|
child: Column(
|
|
|
|
children: [_topWidget(), _middleWidget(), _bottomWidget()],
|
|
|
|
))),
|
|
|
|
Container(
|
|
|
|
padding: EdgeInsets.symmetric(
|
|
|
|
horizontal: ScreenUtil().setWidth(40),
|
|
|
|
vertical: ScreenUtil().setWidth(60),
|
|
|
|
),
|
|
|
|
child: CommonButton(
|
|
|
|
width: double.infinity,
|
|
|
|
height: 84,
|
|
|
|
fontSize: 34,
|
|
|
|
content: "确定修改",
|
|
|
|
state: 2,
|
|
|
|
onPress: () async {
|
|
|
|
String name =
|
|
|
|
_notebookDetailChangeModel.nameController.text.trim();
|
|
|
|
if (ObjectUtil.isEmpty(name)) {
|
|
|
|
Utils.showToast("请填写客户姓名");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (_notebookDetailChangeModel.tableList.length == 0) {
|
|
|
|
Utils.showToast("请选择桌位");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
SunReserveInfoModel _model =
|
|
|
|
await _notebookDetailChangeModel
|
|
|
|
.setReserveInfo(context);
|
|
|
|
if (ObjectUtil.isNotEmpty(_model.row) ||
|
|
|
|
ObjectUtil.isNotEmpty(_model.row.id)) {
|
|
|
|
print('变更成功');
|
|
|
|
// _notebookDetailChangeModel.clearData();
|
|
|
|
bus.emit("refresh_detail");
|
|
|
|
String ddate_solt = '';
|
|
|
|
if (_model.row.isSetDdate == '1') {
|
|
|
|
String createtime = _model.row.ddate.toString() + '000';
|
|
|
|
DateTime createTime =
|
|
|
|
DateTime.fromMillisecondsSinceEpoch(
|
|
|
|
int.parse(createtime));
|
|
|
|
ddate_solt = DateUtil.formatDate(createTime,
|
|
|
|
format: DateFormats.h_m);
|
|
|
|
} else {
|
|
|
|
if (_model.row.ddateSolt == '1') {
|
|
|
|
ddate_solt = '早餐';
|
|
|
|
} else if (_model.row.ddateSolt == '2') {
|
|
|
|
ddate_solt = '午餐';
|
|
|
|
} else if (_model.row.ddateSolt == '3') {
|
|
|
|
ddate_solt = '晚餐';
|
|
|
|
}
|
|
|
|
body: SafeArea(
|
|
|
|
child: Column(children: <Widget>[
|
|
|
|
MyAppBar(
|
|
|
|
"录入预订",
|
|
|
|
showBack: false,
|
|
|
|
),
|
|
|
|
Expanded(
|
|
|
|
child: SingleChildScrollView(
|
|
|
|
child: Column(
|
|
|
|
children: [_topWidget(), _middleWidget(), _bottomWidget()],
|
|
|
|
))),
|
|
|
|
Container(
|
|
|
|
padding: EdgeInsets.symmetric(
|
|
|
|
horizontal: ScreenUtil().setWidth(40),
|
|
|
|
vertical: ScreenUtil().setWidth(60),
|
|
|
|
),
|
|
|
|
child: CommonButton(
|
|
|
|
width: double.infinity,
|
|
|
|
height: 84,
|
|
|
|
fontSize: 34,
|
|
|
|
content: "录入预订",
|
|
|
|
state: 2,
|
|
|
|
onPress: () async {
|
|
|
|
String name =
|
|
|
|
_enterModel.nameController.text.trim();
|
|
|
|
if (ObjectUtil.isEmpty(name)) {
|
|
|
|
Utils.showToast("请填写客户姓名");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
List<dynamic> tableinfo =
|
|
|
|
convert.jsonDecode(_model.row.tableinfo);
|
|
|
|
print(tableinfo);
|
|
|
|
String _nameStr = _model.row.name;
|
|
|
|
if (tableinfo.length > 1) {
|
|
|
|
_nameStr = _model.row.name + '等${tableinfo.length}桌';
|
|
|
|
if (_enterModel.tableList.length == 0) {
|
|
|
|
Utils.showToast("请选择桌位");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
NavigatorUtil.goInvicationPage(context, _model.row.id,
|
|
|
|
_nameStr, _model.row.ddate, ddate_solt,
|
|
|
|
replace: true);
|
|
|
|
} else {
|
|
|
|
Utils.showToast("变更预订订单失败,请重试!");
|
|
|
|
}
|
|
|
|
},
|
|
|
|
))
|
|
|
|
]),
|
|
|
|
SunReserveInfoModel _model =
|
|
|
|
await _enterModel
|
|
|
|
.setReserveInfo(context);
|
|
|
|
if (ObjectUtil.isNotEmpty(_model.row) ||
|
|
|
|
ObjectUtil.isNotEmpty(_model.row.id)) {
|
|
|
|
print('录入成功');
|
|
|
|
// _enterModel.clearData();
|
|
|
|
bus.emit("refresh_detail");
|
|
|
|
String ddate_solt = '';
|
|
|
|
if (_model.row.isSetDdate == '1') {
|
|
|
|
String createtime = _model.row.ddate.toString() + '000';
|
|
|
|
DateTime createTime =
|
|
|
|
DateTime.fromMillisecondsSinceEpoch(
|
|
|
|
int.parse(createtime));
|
|
|
|
ddate_solt = DateUtil.formatDate(createTime,
|
|
|
|
format: DateFormats.h_m);
|
|
|
|
} else {
|
|
|
|
if (_model.row.ddateSolt == '1') {
|
|
|
|
ddate_solt = '早餐';
|
|
|
|
} else if (_model.row.ddateSolt == '2') {
|
|
|
|
ddate_solt = '午餐';
|
|
|
|
} else if (_model.row.ddateSolt == '3') {
|
|
|
|
ddate_solt = '晚餐';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<dynamic> tableinfo =
|
|
|
|
convert.jsonDecode(_model.row.tableinfo);
|
|
|
|
print(tableinfo);
|
|
|
|
String _nameStr = _model.row.name;
|
|
|
|
if (tableinfo.length > 1) {
|
|
|
|
_nameStr = _model.row.name + '等${tableinfo.length}桌';
|
|
|
|
}
|
|
|
|
NavigatorUtil.goInvicationPage(context, _model.row.id,
|
|
|
|
_nameStr, _model.row.ddate, ddate_solt,
|
|
|
|
replace: true);
|
|
|
|
} else {
|
|
|
|
Utils.showToast("录入预订订单失败,请重试!");
|
|
|
|
}
|
|
|
|
},
|
|
|
|
))
|
|
|
|
]),
|
|
|
|
),
|
|
|
|
));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/// 获取日期 今天 明天 后天等等
|
|
|
|
int _getDdate(NotebookDetailChangeModel model) {
|
|
|
|
//当前选中 月 日string
|
|
|
|
String mdStr = '';
|
|
|
|
//今天 明天 其他天
|
|
|
|
for (var item in model.dateList) {
|
|
|
|
if (item['select'] == true) {
|
|
|
|
mdStr = item['title'];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
String timeNowYear = DateUtil.formatDate(DateTime.now(), format: 'yyyy');
|
|
|
|
String ymyStr = timeNowYear + '-' + mdStr; //年月日
|
|
|
|
String timeStr = ymyStr + ' ' + "00:00:00";
|
|
|
|
int ddate = DateUtil.getDateMsByTimeStr(timeStr); //筛选日期时间戳
|
|
|
|
return ddate;
|
|
|
|
}
|
|
|
|
|
|
|
|
/// 获取早餐、午餐、晚餐字段 1 ,2, 3
|
|
|
|
String _getDdateSolt(NotebookDetailChangeModel model) {
|
|
|
|
String ddateSolt = '';
|
|
|
|
for (var item in model.sunDateList) {
|
|
|
|
if (item['isSelect']) {
|
|
|
|
ddateSolt = '${item['ddateSolt']}';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return ddateSolt;
|
|
|
|
}
|
|
|
|
|
|
|
|
/// 选中前面的按钮获取人数,输入的自己获取
|
|
|
|
String _getPnum(NotebookDetailChangeModel model) {
|
|
|
|
String pnum = '6';
|
|
|
|
for (var item in model.personNumList) {
|
|
|
|
if (item['isSelect']) {
|
|
|
|
pnum = item['dateText'];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (pnum == '更多') {
|
|
|
|
pnum = '6';
|
|
|
|
}
|
|
|
|
return pnum;
|
|
|
|
}
|
|
|
|
|
|
|
|
class CustomButton extends StatefulWidget {
|
|
|
|
final String dateText;
|
|
|
|
final String dayText;
|
|
|
|
final bool isEnable;
|
|
|
|
final bool isSelect;
|
|
|
|
final double fontSize;
|
|
|
|
final bool isImage;
|
|
|
|
final double width;
|
|
|
|
final GestureTapCallback onTap;
|
|
|
|
final bool isTextFiled;
|
|
|
|
final NotebookDetailChangeModel model;
|
|
|
|
final EnterModel model;
|
|
|
|
final double height;
|
|
|
|
|
|
|
|
const CustomButton({
|
|
|
|
Key key,
|
|
|
|
this.dateText,
|
|
|
|
this.dayText,
|
|
|
|
this.isEnable=true,
|
|
|
|
this.isSelect,
|
|
|
|
this.fontSize = 34,
|
|
|
|
this.isImage = false,
|
|
...
|
...
|
@@ -917,10 +878,10 @@ class _ButtonState extends State<CustomButton> { |
|
|
|
width: ScreenUtil().setWidth(widget.width * 2),
|
|
|
|
height: ScreenUtil().setWidth(widget.height * 2),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
color: widget.isSelect ? MyColours.color_199095 : Colors.white,
|
|
|
|
color: !widget.isEnable?MyColours.color_999999:widget.isSelect ? MyColours.color_199095 : Colors.white,
|
|
|
|
borderRadius: BorderRadius.circular(ScreenUtil().setWidth(10)),
|
|
|
|
border: Border.all(
|
|
|
|
color: MyColours.color_199095,
|
|
|
|
color: !widget.isEnable?MyColours.color_999999:MyColours.color_199095,
|
|
|
|
width: ScreenUtil().setWidth(2))),
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
...
|
...
|
@@ -991,9 +952,9 @@ class _ButtonState extends State<CustomButton> { |
|
|
|
},
|
|
|
|
onEditingComplete: () {
|
|
|
|
_cancelNode.unfocus();
|
|
|
|
int ddate = _getDdate(widget.model);
|
|
|
|
String ddateSolt = _getDdateSolt(widget.model);
|
|
|
|
String pnum = _getPnum(widget.model);
|
|
|
|
int ddate = Utils.getDdate(widget.model.dateList);
|
|
|
|
String ddateSolt = Utils.getDdateSolt(widget.model.sunDateList);
|
|
|
|
String pnum = Utils.getPnum(widget.model.personNumList);
|
|
|
|
|
|
|
|
widget.model.getNewTableList(context, '${ddate}',
|
|
|
|
ddateSolt, pnum, widget.model.tableList);
|
|
...
|
...
|
@@ -1006,7 +967,7 @@ class _ButtonState extends State<CustomButton> { |
|
|
|
fontWeight: widget.isImage && widget.dateText == "其他"
|
|
|
|
? FontWeight.normal
|
|
|
|
: FontWeight.bold,
|
|
|
|
color: widget.isSelect
|
|
|
|
color: !widget.isEnable?MyColours.color_666666:widget.isSelect
|
|
|
|
? MyColours.color_fefefe
|
|
|
|
: MyColours.color_199095,
|
|
|
|
fontSize: ScreenUtil().setSp(widget.fontSize))),
|
...
|
...
|
|