|
...
|
...
|
@@ -24,6 +24,7 @@ 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;
|
|
|
|
import 'dart:convert' as convert;
|
|
|
|
|
|
|
|
typedef clickCallback = void Function(String value);
|
|
|
|
|
|
...
|
...
|
@@ -50,6 +51,7 @@ class _NoteBookChangePageState extends State<NoteBookChangePage> { |
|
|
|
FocusNode _nameNode = FocusNode();
|
|
|
|
FocusNode _needNode = FocusNode();
|
|
|
|
NotebookDetailModel detailModel = NotebookDetailModel();
|
|
|
|
bool isRecommend = false; //可订桌位是否展示推荐桌位,无已选中包间情况下展示推荐的包间
|
|
|
|
|
|
|
|
// //生成日期文本
|
|
|
|
// _createDateText(DateTime day) {
|
|
...
|
...
|
@@ -225,66 +227,82 @@ class _NoteBookChangePageState extends State<NoteBookChangePage> { |
|
|
|
isImage: value['isImage'],
|
|
|
|
isSelect: value['select'],
|
|
|
|
onTap: () {
|
|
|
|
for (int j = 0;
|
|
|
|
j < _notebookDetailChangeModel.dateList.length;
|
|
|
|
j++) {
|
|
|
|
_notebookDetailChangeModel.dateList[j]['select'] = false;
|
|
|
|
|
|
|
|
if (_notebookDetailChangeModel.dateList[j]['title'] ==
|
|
|
|
value['title']) {
|
|
|
|
_notebookDetailChangeModel.dateList[j]['select'] = true;
|
|
|
|
if (j == 0 || j == 1) {
|
|
|
|
_notebookDetailChangeModel.dateList[2]['title'] =
|
|
|
|
'其他';
|
|
|
|
}
|
|
|
|
if (j ==
|
|
|
|
_notebookDetailChangeModel.dateList.length - 1) {
|
|
|
|
String selectStr =
|
|
|
|
_notebookDetailChangeModel.dateList[2]['title'];
|
|
|
|
String timeNow = DateUtil.formatDate(
|
|
|
|
DateTime.now(),
|
|
|
|
);
|
|
|
|
String selectDate =
|
|
|
|
timeNow.replaceRange(5, 10, selectStr);
|
|
|
|
DialogUtil.showCalendarDialog(
|
|
|
|
context, DateUtil.getDateTime(selectDate))
|
|
|
|
.then((day) {
|
|
|
|
if (day != null) {
|
|
|
|
// _createDateText(day);
|
|
|
|
dateTime = day;
|
|
|
|
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;
|
|
|
|
|
|
|
|
if (_notebookDetailChangeModel.dateList[i]
|
|
|
|
['title'] ==
|
|
|
|
dateText) {
|
|
|
|
_notebookDetailChangeModel.dateList[i]
|
|
|
|
['select'] = true;
|
|
|
|
isThird = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (isThird) {
|
|
|
|
_notebookDetailChangeModel.dateList[2]
|
|
|
|
['select'] = true;
|
|
|
|
_notebookDetailChangeModel.dateList[2]
|
|
|
|
['title'] = dateText;
|
|
|
|
} else {
|
|
|
|
_notebookDetailChangeModel.dateList[2]
|
|
|
|
['title'] = '其他';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
_notebookDetailChangeModel.notifyListeners();
|
|
|
|
});
|
|
|
|
if (_notebookDetailChangeModel.dateList.length > 2 &&
|
|
|
|
_notebookDetailChangeModel.dateList[2]['title'] ==
|
|
|
|
'其他') {
|
|
|
|
_calendWidget(DateTime.now());
|
|
|
|
} else {
|
|
|
|
for (int j = 0;
|
|
|
|
j < _notebookDetailChangeModel.dateList.length;
|
|
|
|
j++) {
|
|
|
|
_notebookDetailChangeModel.dateList[j]['select'] =
|
|
|
|
false;
|
|
|
|
|
|
|
|
if (_notebookDetailChangeModel.dateList[j]['title'] ==
|
|
|
|
value['title']) {
|
|
|
|
_notebookDetailChangeModel.dateList[j]['select'] =
|
|
|
|
true;
|
|
|
|
if (j == 0 || j == 1) {
|
|
|
|
_notebookDetailChangeModel.dateList[2]['title'] =
|
|
|
|
'其他';
|
|
|
|
}
|
|
|
|
if (j ==
|
|
|
|
_notebookDetailChangeModel.dateList.length - 1) {
|
|
|
|
String selectStr =
|
|
|
|
_notebookDetailChangeModel.dateList[2]['title'];
|
|
|
|
String timeNow = DateUtil.formatDate(
|
|
|
|
DateTime.now(),
|
|
|
|
);
|
|
|
|
String selectDate =
|
|
|
|
timeNow.replaceRange(5, 10, selectStr);
|
|
|
|
_calendWidget(DateUtil.getDateTime(selectDate));
|
|
|
|
// String selectStr =
|
|
|
|
// _notebookDetailChangeModel.dateList[2]['title'];
|
|
|
|
// String timeNow = DateUtil.formatDate(
|
|
|
|
// DateTime.now(),
|
|
|
|
// );
|
|
|
|
// String selectDate =
|
|
|
|
// timeNow.replaceRange(5, 10, selectStr);
|
|
|
|
// DialogUtil.showCalendarDialog(
|
|
|
|
// context, DateUtil.getDateTime(selectDate))
|
|
|
|
// .then((day) {
|
|
|
|
// if (day != null) {
|
|
|
|
// // _createDateText(day);
|
|
|
|
// dateTime = day;
|
|
|
|
// 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;
|
|
|
|
|
|
|
|
// if (_notebookDetailChangeModel.dateList[i]
|
|
|
|
// ['title'] ==
|
|
|
|
// dateText) {
|
|
|
|
// _notebookDetailChangeModel.dateList[i]
|
|
|
|
// ['select'] = true;
|
|
|
|
// isThird = false;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// if (isThird) {
|
|
|
|
// _notebookDetailChangeModel.dateList[2]
|
|
|
|
// ['select'] = true;
|
|
|
|
// _notebookDetailChangeModel.dateList[2]
|
|
|
|
// ['title'] = dateText;
|
|
|
|
// } else {
|
|
|
|
// _notebookDetailChangeModel.dateList[2]
|
|
|
|
// ['title'] = '其他';
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// _notebookDetailChangeModel.notifyListeners();
|
|
|
|
// });
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
...
|
...
|
@@ -385,8 +403,41 @@ class _NoteBookChangePageState extends State<NoteBookChangePage> { |
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
_calendWidget(DateTime dateTime) {
|
|
|
|
DialogUtil.showCalendarDialog(context, dateTime).then((day) {
|
|
|
|
if (day != null) {
|
|
|
|
// _createDateText(day);
|
|
|
|
dateTime = day;
|
|
|
|
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;
|
|
|
|
|
|
|
|
if (_notebookDetailChangeModel.dateList[i]['title'] == dateText) {
|
|
|
|
_notebookDetailChangeModel.dateList[i]['select'] = true;
|
|
|
|
isThird = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (isThird) {
|
|
|
|
_notebookDetailChangeModel.dateList[2]['select'] = true;
|
|
|
|
_notebookDetailChangeModel.dateList[2]['title'] = dateText;
|
|
|
|
} else {
|
|
|
|
_notebookDetailChangeModel.dateList[2]['title'] = '其他';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
_notebookDetailChangeModel.notifyListeners();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
/// 可订桌位
|
|
|
|
_middleWidget() {
|
|
|
|
List canBookTable = [];
|
|
|
|
if (isRecommend) {
|
|
|
|
canBookTable = _notebookDetailChangeModel.recommendList;
|
|
|
|
} else {
|
|
|
|
canBookTable = _notebookDetailChangeModel.tableList;
|
|
|
|
}
|
|
|
|
return Container(
|
|
|
|
padding: EdgeInsets.all(ScreenUtil().setWidth(40)),
|
|
|
|
color: MyColours.color_f5f5f5,
|
|
...
|
...
|
@@ -404,22 +455,56 @@ class _NoteBookChangePageState extends State<NoteBookChangePage> { |
|
|
|
),
|
|
|
|
InkWell(
|
|
|
|
onTap: () async {
|
|
|
|
//当前选中 月 日string
|
|
|
|
String mdStr = '';
|
|
|
|
//今天 明天 其他天
|
|
|
|
for (var item in _notebookDetailChangeModel.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); //筛选日期时间戳
|
|
|
|
String ddateSolt = '';
|
|
|
|
for (var item in _notebookDetailChangeModel.sunDateList) {
|
|
|
|
if (item['isSelect']) {
|
|
|
|
ddateSolt = '${item['ddateSolt']}';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// String tempDdate = ymyStr + ' ' + ddateStr + ':00';
|
|
|
|
// int ddate = DateUtil.getDateMsByTimeStr(timeStr);
|
|
|
|
Map temp = await NavigatorUtil.goSelectTablePage(
|
|
|
|
context,
|
|
|
|
widget.rid,
|
|
|
|
int.parse(widget.detailEntity.ddate) * 1000,
|
|
|
|
widget.detailEntity.ddate_solt,
|
|
|
|
context, widget.rid, ddate, ddateSolt,
|
|
|
|
canChoose: true,
|
|
|
|
object: {'object': _notebookDetailChangeModel.tableList});
|
|
|
|
// if (temp['tid'] != null) {
|
|
|
|
// setReserveStatus("5", tid: temp['tid']);
|
|
|
|
// }
|
|
|
|
_notebookDetailChangeModel.tableList = temp['object'];
|
|
|
|
for (t.TableList item
|
|
|
|
in _notebookDetailChangeModel.tableList) {
|
|
|
|
item.selected = true;
|
|
|
|
if (temp == null || temp['object'].length == 0) {
|
|
|
|
isRecommend = true;
|
|
|
|
_notebookDetailChangeModel.tableList = [];
|
|
|
|
for (t.TableList item
|
|
|
|
in _notebookDetailChangeModel.recommendList) {
|
|
|
|
item.selected = false;
|
|
|
|
}
|
|
|
|
setState(() {});
|
|
|
|
} else {
|
|
|
|
isRecommend = false;
|
|
|
|
_notebookDetailChangeModel.tableList = temp['object'];
|
|
|
|
// if (_notebookDetailChangeModel.tableList.length == 0) {
|
|
|
|
// isRecommend = true;
|
|
|
|
// }
|
|
|
|
for (t.TableList item
|
|
|
|
in _notebookDetailChangeModel.tableList) {
|
|
|
|
item.selected = true;
|
|
|
|
}
|
|
|
|
setState(() {});
|
|
|
|
}
|
|
|
|
setState(() {});
|
|
|
|
|
|
|
|
// _notebookDetailChangeModel.notifyListeners();
|
|
|
|
},
|
|
|
|
child: Row(
|
|
...
|
...
|
@@ -441,39 +526,34 @@ class _NoteBookChangePageState extends State<NoteBookChangePage> { |
|
|
|
),
|
|
|
|
VEmptyView(32),
|
|
|
|
Align(
|
|
|
|
alignment: Alignment.centerRight,
|
|
|
|
child: Offstage(
|
|
|
|
offstage: _notebookDetailChangeModel.tableList.length > 0
|
|
|
|
? false
|
|
|
|
: true,
|
|
|
|
child: Container(
|
|
|
|
// height: ScreenUtil().setHeight(178),
|
|
|
|
height: ScreenUtil().setHeight(210),
|
|
|
|
child: ListView.builder(
|
|
|
|
physics: const NeverScrollableScrollPhysics(),
|
|
|
|
itemBuilder: (BuildContext contxt, int index) {
|
|
|
|
return NewTableItem(
|
|
|
|
_notebookDetailChangeModel.tableList[index],
|
|
|
|
isRegionName: true,
|
|
|
|
canSelected: true,
|
|
|
|
onSelected: (table) {
|
|
|
|
if ((table as t.TableList).selected) {
|
|
|
|
_notebookDetailChangeModel.tableList.add(table);
|
|
|
|
} else {
|
|
|
|
_notebookDetailChangeModel.tableList
|
|
|
|
.removeWhere((t) => t.id == table.id);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
);
|
|
|
|
alignment: Alignment.centerRight,
|
|
|
|
child: Container(
|
|
|
|
// color: Colors.red,
|
|
|
|
// height: ScreenUtil().setHeight(178),
|
|
|
|
height: ScreenUtil().setHeight(170),
|
|
|
|
child: ListView.builder(
|
|
|
|
physics: const NeverScrollableScrollPhysics(),
|
|
|
|
itemBuilder: (BuildContext contxt, int index) {
|
|
|
|
return NewTableItem(
|
|
|
|
canBookTable[index],
|
|
|
|
isRegionName: true,
|
|
|
|
canSelected: true,
|
|
|
|
onSelected: (table) {
|
|
|
|
if ((table as t.TableList).selected) {
|
|
|
|
_notebookDetailChangeModel.tableList.add(table);
|
|
|
|
} else {
|
|
|
|
_notebookDetailChangeModel.tableList
|
|
|
|
.removeWhere((t) => t.id == table.id);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
itemCount: _notebookDetailChangeModel.tableList.length > 3
|
|
|
|
? 3
|
|
|
|
: _notebookDetailChangeModel.tableList.length,
|
|
|
|
shrinkWrap: true,
|
|
|
|
scrollDirection: Axis.horizontal,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
)),
|
|
|
|
);
|
|
|
|
},
|
|
|
|
itemCount: canBookTable.length > 3 ? 3 : canBookTable.length,
|
|
|
|
shrinkWrap: true,
|
|
|
|
scrollDirection: Axis.horizontal,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
);
|
|
...
|
...
|
@@ -549,6 +629,7 @@ class _NoteBookChangePageState extends State<NoteBookChangePage> { |
|
|
|
Expanded(
|
|
|
|
child: TextField(
|
|
|
|
maxLines: 1,
|
|
|
|
|
|
|
|
//输入文本的样式
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(34),
|
|
...
|
...
|
@@ -599,6 +680,7 @@ class _NoteBookChangePageState extends State<NoteBookChangePage> { |
|
|
|
VEmptyView(72),
|
|
|
|
TextField(
|
|
|
|
maxLines: 1,
|
|
|
|
inputFormatters: [LengthLimitingTextInputFormatter(25)],
|
|
|
|
//输入文本的样式
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(34),
|
|
...
|
...
|
@@ -682,8 +764,9 @@ class _NoteBookChangePageState extends State<NoteBookChangePage> { |
|
|
|
ScreenUtil().setWidth(40),
|
|
|
|
ScreenUtil().setWidth(10)),
|
|
|
|
child: Image.asset(
|
|
|
|
'assets/icon_exist.png',
|
|
|
|
'assets/close.png',
|
|
|
|
width: ScreenUtil().setWidth(32),
|
|
|
|
height: ScreenUtil().setWidth(32),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
...
|
...
|
@@ -828,6 +911,10 @@ class _NoteBookChangePageState extends State<NoteBookChangePage> { |
|
|
|
Utils.showToast("请填写客户姓名");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (_notebookDetailChangeModel.tableList.length == 0) {
|
|
|
|
Utils.showToast("请选择桌位");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
SunReserveInfoModel _model =
|
|
|
|
await _notebookDetailChangeModel
|
|
|
|
.setReserveInfo(context);
|
|
...
|
...
|
@@ -837,15 +924,35 @@ class _NoteBookChangePageState extends State<NoteBookChangePage> { |
|
|
|
// _notebookDetailChangeModel.clearData();
|
|
|
|
bus.emit("refresh_detail");
|
|
|
|
String ddate_solt = '';
|
|
|
|
if (_model.row.ddateSolt == '1') {
|
|
|
|
ddate_solt = '早餐';
|
|
|
|
} else if (_model.row.ddateSolt == '2') {
|
|
|
|
ddate_solt = '午餐';
|
|
|
|
} else if (_model.row.ddateSolt == '3') {
|
|
|
|
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}桌';
|
|
|
|
}
|
|
|
|
|
|
|
|
// t.TableList _tableList = t.TableList.fromJson(tableinfo);
|
|
|
|
// _model.row.tableinfo
|
|
|
|
NavigatorUtil.goInvicationPage(context, _model.row.id,
|
|
|
|
_model.row.name, _model.row.ddate, ddate_solt,
|
|
|
|
_nameStr, _model.row.ddate, ddate_solt,
|
|
|
|
replace: true);
|
|
|
|
} else {
|
|
|
|
Utils.showToast("变更预订订单失败,请重试!");
|
|
...
|
...
|
@@ -895,6 +1002,12 @@ class _ButtonState extends State<CustomButton> { |
|
|
|
FocusNode _cancelNode = FocusNode();
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
String imgStrSelect = widget.isImage && !widget.isTextFiled
|
|
|
|
? 'assets/calender_select.png'
|
|
|
|
: 'assets/more_select.png';
|
|
|
|
String imgStrNormal = widget.isImage && !widget.isTextFiled
|
|
|
|
? 'assets/calender_narmol.png'
|
|
|
|
: 'assets/more_narmol.png';
|
|
|
|
return InkWell(
|
|
|
|
onTap: widget.onTap,
|
|
|
|
child: Container(
|
|
...
|
...
|
@@ -978,7 +1091,9 @@ class _ButtonState extends State<CustomButton> { |
|
|
|
)
|
|
|
|
: Text(widget.dateText,
|
|
|
|
style: TextStyle(
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
fontWeight: widget.isImage && widget.dateText == "其他"
|
|
|
|
? FontWeight.normal
|
|
|
|
: FontWeight.bold,
|
|
|
|
color: widget.isSelect
|
|
|
|
? MyColours.color_fefefe
|
|
|
|
: MyColours.color_199095,
|
|
...
|
...
|
@@ -987,10 +1102,7 @@ class _ButtonState extends State<CustomButton> { |
|
|
|
? HEmptyView(20)
|
|
|
|
: Container(),
|
|
|
|
widget.isImage
|
|
|
|
? Image.asset(
|
|
|
|
widget.isSelect
|
|
|
|
? 'assets/calender_select.png'
|
|
|
|
: 'assets/calender_narmol.png',
|
|
|
|
? Image.asset(widget.isSelect ? imgStrSelect : imgStrNormal,
|
|
|
|
width: ScreenUtil().setWidth(36))
|
|
|
|
: Text(widget.dayText,
|
|
|
|
style: TextStyle(
|
...
|
...
|
|