|
...
|
...
|
@@ -7,12 +7,14 @@ import 'package:common_utils/common_utils.dart'; |
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter/services.dart';
|
|
|
|
import 'package:flutter_screenutil/screenutil.dart';
|
|
|
|
import 'package:one_key/models/notebook.dart';
|
|
|
|
import 'package:one_key/models/notebook_detail.dart';
|
|
|
|
import 'package:one_key/models/remark.dart';
|
|
|
|
import 'package:one_key/models/reserve_info_model.dart';
|
|
|
|
import 'package:one_key/provider/home_enter_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/notebook_model.dart';
|
|
|
|
import 'package:one_key/provider/remark_manager_model.dart';
|
|
|
|
import 'package:one_key/provider/user_model.dart';
|
|
|
|
import 'package:one_key/res/colors.dart';
|
|
...
|
...
|
@@ -76,19 +78,19 @@ class _HomeEnterPageState extends State<HomeEnterPage> { |
|
|
|
super.initState();
|
|
|
|
dateTimeNow = DateTime.now();
|
|
|
|
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
|
|
|
|
_initTime();
|
|
|
|
setState(() {});
|
|
|
|
sid = Provider.of<UserModel>(context, listen: false).user.sellerid;
|
|
|
|
_homeEnterModel.initDateHourMinuteList(context, currTimeIndex, dateText);
|
|
|
|
String ddate = DateTime.now().millisecondsSinceEpoch.toString();
|
|
|
|
_homeEnterModel.getNewTableList(
|
|
|
|
await _homeEnterModel.getNewTableList(
|
|
|
|
context, ddate, currTimeIndex.toString(), pnum);
|
|
|
|
|
|
|
|
Map<String, String> params = {
|
|
|
|
"uid": Provider.of<UserModel>(context, listen: false).user.openid
|
|
|
|
};
|
|
|
|
remarkManagerModel.getRemarks(context, params);
|
|
|
|
await remarkManagerModel.getRemarks(context, params);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
...
|
...
|
@@ -347,308 +349,244 @@ class _HomeEnterPageState extends State<HomeEnterPage> { |
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
VEmptyView(30),
|
|
|
|
MyDivider(double.infinity, ScreenUtil().setWidth(2),
|
|
|
|
color: MyColours.color_efefef),
|
|
|
|
//备注
|
|
|
|
VEmptyView(50),
|
|
|
|
Row(
|
|
|
|
Stack(
|
|
|
|
children: [
|
|
|
|
Expanded(
|
|
|
|
child: TextField(
|
|
|
|
maxLines: 1,
|
|
|
|
inputFormatters: [LengthLimitingTextInputFormatter(25)],
|
|
|
|
//输入文本的样式
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(34),
|
|
|
|
color: MyColours.color_353535),
|
|
|
|
controller: _homeEnterModel.customController,
|
|
|
|
focusNode: _needNode,
|
|
|
|
// textAlignVertical: TextAlignVertical.top,
|
|
|
|
decoration: InputDecoration(
|
|
|
|
hintText: "备注(选填)",
|
|
|
|
hintStyle: TextStyle(
|
|
|
|
color: MyColours.color_999999,
|
|
|
|
fontSize: ScreenUtil().setSp(34),
|
|
|
|
Column(
|
|
|
|
children: [
|
|
|
|
VEmptyView(30),
|
|
|
|
MyDivider(double.infinity, ScreenUtil().setWidth(2),
|
|
|
|
color: MyColours.color_efefef),
|
|
|
|
//备注
|
|
|
|
VEmptyView(50),
|
|
|
|
Row(
|
|
|
|
children: [
|
|
|
|
Expanded(
|
|
|
|
child: TextField(
|
|
|
|
maxLines: 1,
|
|
|
|
inputFormatters: [LengthLimitingTextInputFormatter(25)],
|
|
|
|
//输入文本的样式
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(34),
|
|
|
|
color: MyColours.color_353535),
|
|
|
|
controller: _homeEnterModel.customController,
|
|
|
|
focusNode: _needNode,
|
|
|
|
// textAlignVertical: TextAlignVertical.top,
|
|
|
|
decoration: InputDecoration(
|
|
|
|
hintText: "备注(选填)",
|
|
|
|
hintStyle: TextStyle(
|
|
|
|
color: MyColours.color_999999,
|
|
|
|
fontSize: ScreenUtil().setSp(34),
|
|
|
|
),
|
|
|
|
// contentPadding:
|
|
|
|
// EdgeInsets.only(bottom: ScreenUtil().setWidth(17)),
|
|
|
|
border: InputBorder.none,
|
|
|
|
),
|
|
|
|
onChanged: (value) {
|
|
|
|
print(value);
|
|
|
|
currentRemark = value;
|
|
|
|
// print();
|
|
|
|
},
|
|
|
|
onEditingComplete: () {
|
|
|
|
print('fff');
|
|
|
|
_needNode.unfocus();
|
|
|
|
},
|
|
|
|
// keyboardType: TextInputType.number,
|
|
|
|
)),
|
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
DialogUtil.showRemarkDialog(
|
|
|
|
context, remarkManagerModel.ofenRemarks, (item) {
|
|
|
|
int index =
|
|
|
|
remarkManagerModel.ofenRemarks.indexOf(item);
|
|
|
|
_refreshRemark(
|
|
|
|
remarkManagerModel.ofenRemarks, index);
|
|
|
|
});
|
|
|
|
},
|
|
|
|
child: Container(
|
|
|
|
margin:
|
|
|
|
EdgeInsets.only(left: ScreenUtil().setWidth(40)),
|
|
|
|
width: ScreenUtil().setWidth(122),
|
|
|
|
height: ScreenUtil().setWidth(42),
|
|
|
|
child: Text(
|
|
|
|
'常用备注',
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(30),
|
|
|
|
color: MyColours.color_199095),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
// contentPadding:
|
|
|
|
// EdgeInsets.only(bottom: ScreenUtil().setWidth(17)),
|
|
|
|
border: InputBorder.none,
|
|
|
|
),
|
|
|
|
onChanged: (value) {
|
|
|
|
print(value);
|
|
|
|
currentRemark = value;
|
|
|
|
// print();
|
|
|
|
},
|
|
|
|
onEditingComplete: () {
|
|
|
|
print('fff');
|
|
|
|
_needNode.unfocus();
|
|
|
|
},
|
|
|
|
// keyboardType: TextInputType.number,
|
|
|
|
)),
|
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
DialogUtil.showRemarkDialog(
|
|
|
|
context, remarkManagerModel.ofenRemarks, (item) {
|
|
|
|
int index = remarkManagerModel.ofenRemarks.indexOf(item);
|
|
|
|
_refreshRemark(remarkManagerModel.ofenRemarks, index);
|
|
|
|
});
|
|
|
|
},
|
|
|
|
child: Container(
|
|
|
|
margin: EdgeInsets.only(left: ScreenUtil().setWidth(40)),
|
|
|
|
width: ScreenUtil().setWidth(122),
|
|
|
|
height: ScreenUtil().setWidth(42),
|
|
|
|
child: Text(
|
|
|
|
'常用备注',
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(30),
|
|
|
|
color: MyColours.color_199095),
|
|
|
|
VEmptyView(30),
|
|
|
|
MyDivider(double.infinity, ScreenUtil().setWidth(2),
|
|
|
|
color: MyColours.color_efefef),
|
|
|
|
//日期2020-01-01 ***** 早餐/午餐/晚餐 ***** 时间段16:30
|
|
|
|
VEmptyView(50),
|
|
|
|
Row(
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.spaceAround,
|
|
|
|
children: [
|
|
|
|
_buttonChoose(dateText, (value) {
|
|
|
|
if (dateText == '') {
|
|
|
|
_calendWidget(DateTime.now());
|
|
|
|
} else {
|
|
|
|
// bool isThird = true;
|
|
|
|
_calendWidget(dateTimeNow);
|
|
|
|
}
|
|
|
|
}),
|
|
|
|
HEmptyView(40),
|
|
|
|
_buttonChoose(
|
|
|
|
currTimeIndex == 1
|
|
|
|
? '早餐'
|
|
|
|
: currTimeIndex == 2
|
|
|
|
? '午餐'
|
|
|
|
: '晚餐', (value) {
|
|
|
|
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
|
|
|
|
List<String> temp = [];
|
|
|
|
for (int i = 0;
|
|
|
|
i < _homeEnterModel.sunDateList.length;
|
|
|
|
i++) {
|
|
|
|
temp.add(_homeEnterModel.sunDateList[i]['dateText']);
|
|
|
|
}
|
|
|
|
_showMorningAndNightChooseWidget(context, temp);
|
|
|
|
}),
|
|
|
|
HEmptyView(40),
|
|
|
|
_buttonChoose(
|
|
|
|
_homeEnterModel.ddateStr == '' ||
|
|
|
|
_homeEnterModel.isSetDate == '0'
|
|
|
|
? '时间(选填)'
|
|
|
|
: _homeEnterModel.ddateStr, (value) {
|
|
|
|
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
|
|
|
|
_showDateChooseWidget(context);
|
|
|
|
}),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
VEmptyView(40),
|
|
|
|
Row(
|
|
|
|
children: [
|
|
|
|
Text('预计人数',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_199095,
|
|
|
|
fontSize: ScreenUtil().setWidth(28))),
|
|
|
|
HEmptyView(20),
|
|
|
|
_buttonChoose(pnum, (value) {
|
|
|
|
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
|
|
|
|
DialogUtil.showSelectCusmanDialog(
|
|
|
|
context, _homeEnterModel.personNumList,
|
|
|
|
(value) {
|
|
|
|
if (value != null) {
|
|
|
|
setState(() {
|
|
|
|
selectPnum = value.first;
|
|
|
|
pnum = _homeEnterModel.personNumList[value.first];
|
|
|
|
});
|
|
|
|
String ymyStr = dateText; //年月日
|
|
|
|
String timeStr = ymyStr + ' ' + "00:00:00";
|
|
|
|
int ddate =
|
|
|
|
DateUtil.getDateMsByTimeStr(timeStr); //筛选日期时间戳
|
|
|
|
// String pnum = Utils.getPnum(_homeEnterModel.personNumList);
|
|
|
|
_homeEnterModel.getNewTableList(context, '${ddate}',
|
|
|
|
currTimeIndex.toString(), pnum);
|
|
|
|
_homeEnterModel.notifyListeners();
|
|
|
|
}
|
|
|
|
}, selecteds: selectPnum == null ? [] : [selectPnum])
|
|
|
|
.then((value) {});
|
|
|
|
}),
|
|
|
|
HEmptyView(20),
|
|
|
|
Text('人',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_199095,
|
|
|
|
fontSize: ScreenUtil().setWidth(28))),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
Offstage(
|
|
|
|
offstage: !(showPhoneHistory &&
|
|
|
|
_homeEnterModel.userHistorys.length > 0),
|
|
|
|
child: Container(
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
borderRadius: BorderRadius.circular(8),
|
|
|
|
border: Border.all(color: Colors.white),
|
|
|
|
color: MyColours.color_ffffff,
|
|
|
|
boxShadow: [
|
|
|
|
BoxShadow(
|
|
|
|
color: MyColours.color_e5e5e5,
|
|
|
|
blurRadius: ScreenUtil().setWidth(20))
|
|
|
|
]),
|
|
|
|
width: ScreenUtil().setWidth(440),
|
|
|
|
height: _homeEnterModel.userHistorys.length > 1
|
|
|
|
? ScreenUtil().setWidth(208)
|
|
|
|
: ScreenUtil().setWidth(104),
|
|
|
|
padding: EdgeInsets.symmetric(
|
|
|
|
horizontal: ScreenUtil().setWidth(30)),
|
|
|
|
child: Align(
|
|
|
|
alignment: Alignment.topCenter,
|
|
|
|
child: MediaQuery.removePadding(
|
|
|
|
context: context,
|
|
|
|
removeTop: true,
|
|
|
|
child: ListView.builder(
|
|
|
|
itemBuilder: (context, index) {
|
|
|
|
return GestureDetector(
|
|
|
|
onTap: () {
|
|
|
|
setState(() {
|
|
|
|
showPhoneHistory = false;
|
|
|
|
_homeEnterModel.phoneController.text =
|
|
|
|
_homeEnterModel
|
|
|
|
.userHistorys[index].phone;
|
|
|
|
_homeEnterModel.nameController.text =
|
|
|
|
_homeEnterModel
|
|
|
|
.userHistorys[index].rname;
|
|
|
|
_phoneNode.unfocus();
|
|
|
|
_homeEnterModel.userHistorys.clear();
|
|
|
|
});
|
|
|
|
},
|
|
|
|
child: Container(
|
|
|
|
width: double.infinity,
|
|
|
|
height: ScreenUtil().setWidth(102),
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
border: Border(
|
|
|
|
bottom: (index !=
|
|
|
|
(_homeEnterModel
|
|
|
|
.userHistorys
|
|
|
|
.length -
|
|
|
|
1) &&
|
|
|
|
_homeEnterModel
|
|
|
|
.userHistorys.length >
|
|
|
|
1)
|
|
|
|
? BorderSide(
|
|
|
|
color: MyColours.color_e5e5e5,
|
|
|
|
width:
|
|
|
|
ScreenUtil().setWidth(2))
|
|
|
|
: BorderSide.none)),
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment:
|
|
|
|
MainAxisAlignment.spaceBetween,
|
|
|
|
children: [
|
|
|
|
Text(
|
|
|
|
_homeEnterModel
|
|
|
|
.userHistorys[index].phone,
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_333333,
|
|
|
|
fontSize: ScreenUtil().setSp(32)),
|
|
|
|
),
|
|
|
|
Text(
|
|
|
|
_homeEnterModel
|
|
|
|
.userHistorys[index].rname,
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_333333,
|
|
|
|
fontSize: ScreenUtil().setSp(32)),
|
|
|
|
)
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
},
|
|
|
|
itemExtent: ScreenUtil().setWidth(104),
|
|
|
|
itemCount: _homeEnterModel.userHistorys.length,
|
|
|
|
))),
|
|
|
|
),
|
|
|
|
)
|
|
|
|
],
|
|
|
|
),
|
|
|
|
VEmptyView(30),
|
|
|
|
MyDivider(double.infinity, ScreenUtil().setWidth(2),
|
|
|
|
color: MyColours.color_efefef),
|
|
|
|
//日期2020-01-01 ***** 早餐/午餐/晚餐 ***** 时间段16:30
|
|
|
|
VEmptyView(50),
|
|
|
|
Row(
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.spaceAround,
|
|
|
|
children: [
|
|
|
|
_buttonChoose(dateText, (value) {
|
|
|
|
if (dateText == '') {
|
|
|
|
_calendWidget(DateTime.now());
|
|
|
|
} else {
|
|
|
|
// bool isThird = true;
|
|
|
|
_calendWidget(dateTimeNow);
|
|
|
|
}
|
|
|
|
}),
|
|
|
|
HEmptyView(40),
|
|
|
|
_buttonChoose(
|
|
|
|
currTimeIndex == 1
|
|
|
|
? '早餐'
|
|
|
|
: currTimeIndex == 2
|
|
|
|
? '午餐'
|
|
|
|
: '晚餐', (value) {
|
|
|
|
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
|
|
|
|
List<String> temp = [];
|
|
|
|
for (int i = 0; i < _homeEnterModel.sunDateList.length; i++) {
|
|
|
|
temp.add(_homeEnterModel.sunDateList[i]['dateText']);
|
|
|
|
}
|
|
|
|
_showMorningAndNightChooseWidget(context, temp);
|
|
|
|
}),
|
|
|
|
HEmptyView(40),
|
|
|
|
_buttonChoose(
|
|
|
|
_homeEnterModel.ddateStr == '' ||
|
|
|
|
_homeEnterModel.isSetDate == '0'
|
|
|
|
? '时间(选填)'
|
|
|
|
: _homeEnterModel.ddateStr, (value) {
|
|
|
|
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
|
|
|
|
_showDateChooseWidget(context);
|
|
|
|
}),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
VEmptyView(40),
|
|
|
|
Row(
|
|
|
|
children: [
|
|
|
|
Text('预计人数',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_199095,
|
|
|
|
fontSize: ScreenUtil().setWidth(28))),
|
|
|
|
HEmptyView(20),
|
|
|
|
_buttonChoose(pnum, (value) {
|
|
|
|
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
|
|
|
|
DialogUtil.showSelectCusmanDialog(
|
|
|
|
context, _homeEnterModel.personNumList, (value) {
|
|
|
|
if (value != null) {
|
|
|
|
setState(() {
|
|
|
|
selectPnum = value.first;
|
|
|
|
pnum = _homeEnterModel.personNumList[value.first];
|
|
|
|
});
|
|
|
|
String ymyStr = dateText; //年月日
|
|
|
|
String timeStr = ymyStr + ' ' + "00:00:00";
|
|
|
|
int ddate = DateUtil.getDateMsByTimeStr(timeStr); //筛选日期时间戳
|
|
|
|
// String pnum = Utils.getPnum(_homeEnterModel.personNumList);
|
|
|
|
_homeEnterModel.getNewTableList(
|
|
|
|
context, '${ddate}', currTimeIndex.toString(), pnum);
|
|
|
|
_homeEnterModel.notifyListeners();
|
|
|
|
}
|
|
|
|
}, selecteds: selectPnum == null ? [] : [selectPnum])
|
|
|
|
.then((value) {});
|
|
|
|
}),
|
|
|
|
HEmptyView(20),
|
|
|
|
Text('人',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_199095,
|
|
|
|
fontSize: ScreenUtil().setWidth(28))),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
// Row(
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
// children: _homeEnterModel.dateList.map((value) {
|
|
|
|
// return CustomButton(
|
|
|
|
// dateText: value['title'].toString().length <= 5
|
|
|
|
// ? value['title'].toString()
|
|
|
|
// : value['title'].toString().substring(5),
|
|
|
|
// fontSize: value['fontSize'],
|
|
|
|
// dayText: value['dayText'],
|
|
|
|
// isImage: value['isImage'],
|
|
|
|
// isSelect: value['select'],
|
|
|
|
// onTap: () async {
|
|
|
|
// print(value['title']);
|
|
|
|
// FocusScope.of(context)
|
|
|
|
// .requestFocus(FocusNode()); //点击空白处隐藏键盘
|
|
|
|
// if (value['title'] == '其他') {
|
|
|
|
// _calendWidget(DateTime.now());
|
|
|
|
// } else {
|
|
|
|
// for (int j = 0;
|
|
|
|
// j < _homeEnterModel.dateList.length;
|
|
|
|
// j++) {
|
|
|
|
// _homeEnterModel.dateList[j]['select'] = false;
|
|
|
|
|
|
|
|
// if (_homeEnterModel.dateList[j]['title'] ==
|
|
|
|
// value['title']) {
|
|
|
|
// _homeEnterModel.dateList[j]['select'] = true;
|
|
|
|
// if (j == 0 || j == 1) {
|
|
|
|
// _homeEnterModel.dateList[2]['title'] = '其他';
|
|
|
|
// }
|
|
|
|
// if (j == _homeEnterModel.dateList.length - 1) {
|
|
|
|
// String selectStr = _homeEnterModel.dateList[2]
|
|
|
|
// ['title'] +
|
|
|
|
// " 00:00:00";
|
|
|
|
// _calendWidget(DateUtil.getDateTime(selectStr));
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// _homeEnterModel.initHourAndMinuteSelect();
|
|
|
|
// //选完今天明天刷新页面
|
|
|
|
// int ddate = Utils.getDdate(_homeEnterModel.dateList);
|
|
|
|
// String ddateSolt =
|
|
|
|
// Utils.getDdateSolt(_homeEnterModel.sunDateList);
|
|
|
|
// // String pnum =
|
|
|
|
// // Utils.getPnum(_homeEnterModel.personNumList);
|
|
|
|
// List<t.TableList> list =
|
|
|
|
// await _homeEnterModel.getNewTableList(
|
|
|
|
// context,
|
|
|
|
// '${ddate}',
|
|
|
|
// ddateSolt,
|
|
|
|
// pnum,
|
|
|
|
// _homeEnterModel.tableList);
|
|
|
|
// if (list.length == 0) {
|
|
|
|
// _homeEnterModel.isRecommend = true;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// _homeEnterModel.notifyListeners();
|
|
|
|
// },
|
|
|
|
// );
|
|
|
|
// }).toList()),
|
|
|
|
|
|
|
|
// VEmptyView(40),
|
|
|
|
// //早市、午市、晚市
|
|
|
|
// Row(
|
|
|
|
// // mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
// children: _homeEnterModel.sunDateList.map((value) {
|
|
|
|
// return Container(
|
|
|
|
// margin: _homeEnterModel.sunDateList.length == 3 &&
|
|
|
|
// value['ddateSolt'] == 3
|
|
|
|
// ? EdgeInsets.only(right: 0)
|
|
|
|
// : EdgeInsets.only(right: ScreenUtil().setWidth(20)),
|
|
|
|
// child: CustomButton(
|
|
|
|
// onTap: () {
|
|
|
|
// FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
|
|
|
|
// String key = '';
|
|
|
|
// for (var item in _homeEnterModel.sunDateList) {
|
|
|
|
// item['isSelect'] = false;
|
|
|
|
// if (item['dateText'] == value['dateText']) {
|
|
|
|
// item['isSelect'] = true;
|
|
|
|
|
|
|
|
// if (item['ddateSolt'] == 1) {
|
|
|
|
// //早市
|
|
|
|
// key = 'morning';
|
|
|
|
// } else if (item['ddateSolt'] == 2) {
|
|
|
|
// //午市
|
|
|
|
// key = 'noon';
|
|
|
|
// } else if (item['ddateSolt'] == 3) {
|
|
|
|
// //晚市
|
|
|
|
// key = 'night';
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// _homeEnterModel.initHourAndMinuteSelect();
|
|
|
|
// if (key != '') {
|
|
|
|
// for (var sunitem in _homeEnterModel.dailyMap[key]) {
|
|
|
|
// if (sunitem['select'] == true) {
|
|
|
|
// _homeEnterModel.ddateStr = sunitem['title'];
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// _homeEnterModel.notifyListeners();
|
|
|
|
// int ddate = Utils.getDdate(_homeEnterModel.dateList);
|
|
|
|
// // String pnum = Utils.getPnum(_homeEnterModel.personNumList);
|
|
|
|
// String ddateSolt =
|
|
|
|
// Utils.getDdateSolt(_homeEnterModel.sunDateList);
|
|
|
|
// _homeEnterModel.getNewTableList(context, '${ddate}',
|
|
|
|
// '${ddateSolt}', pnum, _homeEnterModel.tableList);
|
|
|
|
// },
|
|
|
|
// dateText: value['dateText'],
|
|
|
|
// dayText: '',
|
|
|
|
// isSelect: value['isSelect'],
|
|
|
|
// ),
|
|
|
|
// );
|
|
|
|
// }).toList()),
|
|
|
|
// VEmptyView(40),
|
|
|
|
|
|
|
|
// ///人数选择
|
|
|
|
// Row(
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
// children: _homeEnterModel.personNumList.map((value) {
|
|
|
|
// return CustomButton(
|
|
|
|
// onTap: () {
|
|
|
|
// for (int j = 0;
|
|
|
|
// j < _homeEnterModel.personNumList.length;
|
|
|
|
// j++) {
|
|
|
|
// _homeEnterModel.personNumList[j]['isSelect'] = false;
|
|
|
|
|
|
|
|
// if (_homeEnterModel.personNumList[j]['dateText'] ==
|
|
|
|
// value['dateText']) {
|
|
|
|
// _homeEnterModel.personNumList[j]['isSelect'] = true;
|
|
|
|
|
|
|
|
// if (j < 5) {
|
|
|
|
// _homeEnterModel.numController.text = value['dateText'];
|
|
|
|
// FocusScope.of(context)
|
|
|
|
// .requestFocus(FocusNode()); //点击空白处隐藏键盘
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// // if (j < 5) {
|
|
|
|
// // _homeEnterModel.personNumList[5]
|
|
|
|
// // ['dateText'] = '更多';
|
|
|
|
// // }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// _homeEnterModel.notifyListeners();
|
|
|
|
// //人数选择页面刷新
|
|
|
|
// // String pnum = Utils.getPnum(_homeEnterModel.personNumList);
|
|
|
|
// int ddate = Utils.getDdate(_homeEnterModel.dateList);
|
|
|
|
// String ddateSolt =
|
|
|
|
// Utils.getDdateSolt(_homeEnterModel.sunDateList);
|
|
|
|
|
|
|
|
// _homeEnterModel.getNewTableList(context, '${ddate}',
|
|
|
|
// ddateSolt, pnum, _homeEnterModel.tableList);
|
|
|
|
// },
|
|
|
|
// dateText: value['dateText'],
|
|
|
|
// fontSize: value['fontSize'],
|
|
|
|
// dayText: '',
|
|
|
|
// width: value['width'],
|
|
|
|
// isImage: value['isImage'],
|
|
|
|
// isSelect: value['isSelect'],
|
|
|
|
// isTextFiled: value['isTextFiled'],
|
|
|
|
// model: _homeEnterModel,
|
|
|
|
// );
|
|
|
|
// }).toList(),
|
|
|
|
// ),
|
|
|
|
// VEmptyView(20),
|
|
|
|
)
|
|
|
|
],
|
|
|
|
),
|
|
|
|
);
|
|
...
|
...
|
@@ -782,7 +720,35 @@ class _HomeEnterPageState extends State<HomeEnterPage> { |
|
|
|
canBookTable[index],
|
|
|
|
isRegionName: true,
|
|
|
|
canSelected: true,
|
|
|
|
onSelected: (table) {
|
|
|
|
onSelected: (table) async {
|
|
|
|
List<String> tempOrder = await _getReserveList(sid);
|
|
|
|
if (tempOrder.length > 0) {
|
|
|
|
for (String item in tempOrder) {
|
|
|
|
if (table.id == item) {
|
|
|
|
Utils.showToast('该桌位已被其他同事预定!');
|
|
|
|
//今天 明天 其他天
|
|
|
|
String tempTime = _homeEnterModel.ddateStr;
|
|
|
|
if (_homeEnterModel.ddateStr == '') {
|
|
|
|
if (currTimeIndex == 1) {
|
|
|
|
tempTime = '08:00';
|
|
|
|
} else if (currTimeIndex == 2) {
|
|
|
|
tempTime = '12:00';
|
|
|
|
} else if (currTimeIndex == 3) {
|
|
|
|
tempTime = '18:30';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
String timeStr = dateText + ' ' + tempTime + ':00';
|
|
|
|
|
|
|
|
LogUtil.v(timeStr);
|
|
|
|
int ddate = DateUtil.getDateMsByTimeStr(timeStr);
|
|
|
|
_homeEnterModel.getNewTableList(context, '${ddate}',
|
|
|
|
currTimeIndex.toString(), pnum);
|
|
|
|
FocusScope.of(context)
|
|
|
|
.requestFocus(FocusNode()); //点击空白处隐藏键盘
|
|
|
|
_homeEnterModel.notifyListeners();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if ((table as t.TableList).selected) {
|
|
|
|
_homeEnterModel.tableList.add(table);
|
|
|
|
} else {
|
|
...
|
...
|
@@ -1234,24 +1200,63 @@ class _HomeEnterPageState extends State<HomeEnterPage> { |
|
|
|
_homeEnterModel.nameController.text = '';
|
|
|
|
_homeEnterModel.phoneController.text = '';
|
|
|
|
_homeEnterModel.customController.text = '';
|
|
|
|
dateText = ""; //当前显示日期时间
|
|
|
|
|
|
|
|
// currTimeIndex = null;
|
|
|
|
_homeEnterModel.ddateStr = '';
|
|
|
|
pnum = '6';
|
|
|
|
selectPnum = 5;
|
|
|
|
dateTimeNow = DateTime.now();
|
|
|
|
dateText = "${dateTimeNow.year}" +
|
|
|
|
"-" +
|
|
|
|
Utils.addZeroNumber(dateTimeNow.month) +
|
|
|
|
"-" +
|
|
|
|
Utils.addZeroNumber(dateTimeNow.day);
|
|
|
|
String ddate = DateTime.now().millisecondsSinceEpoch.toString() + '000';
|
|
|
|
|
|
|
|
_homeEnterModel.initDateHourMinuteList(context, currTimeIndex, dateText);
|
|
|
|
String ddate = DateTime.now().millisecondsSinceEpoch.toString();
|
|
|
|
await _homeEnterModel.getNewTableList(
|
|
|
|
context, ddate, currTimeIndex.toString(), pnum);
|
|
|
|
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
|
|
|
|
_homeEnterModel.notifyListeners();
|
|
|
|
}
|
|
|
|
|
|
|
|
//获取一天开始-结束时间字符串
|
|
|
|
String _getRdate() {
|
|
|
|
//一天开始时间
|
|
|
|
double startDay =
|
|
|
|
(DateTime.parse((dateText + " 00:00:00")).millisecondsSinceEpoch) /
|
|
|
|
1000;
|
|
|
|
//一天结束时间
|
|
|
|
double endDay =
|
|
|
|
(DateTime.parse((dateText + " 23:59:59")).millisecondsSinceEpoch) /
|
|
|
|
1000;
|
|
|
|
return startDay.floor().toString() + "-" + endDay.floor().toString();
|
|
|
|
}
|
|
|
|
|
|
|
|
//获取已预订列表
|
|
|
|
Future<List<String>> _getReserveList(String sid) async {
|
|
|
|
List<String> listHasOrder = [];
|
|
|
|
NoteBookModel model = new NoteBookModel();
|
|
|
|
Map<String, String> params = {
|
|
|
|
"sid": sid,
|
|
|
|
"rdate": _getRdate(),
|
|
|
|
"ddate_solt": currTimeIndex.toString(),
|
|
|
|
"y": "200",
|
|
|
|
"x": "1",
|
|
|
|
"keywords": "",
|
|
|
|
"sort": "1"
|
|
|
|
};
|
|
|
|
List<Notebook> noteBooks = await model.getReserveList(context, params);
|
|
|
|
for (Notebook notebook in noteBooks) {
|
|
|
|
if (notebook.tid.isEmpty) continue;
|
|
|
|
if (notebook.status == "1" ||
|
|
|
|
notebook.status == "2" ||
|
|
|
|
notebook.status == "5") {
|
|
|
|
//已预订,用餐中,已安排
|
|
|
|
List<String> tids = notebook.tid.split(",");
|
|
|
|
for (String tid in tids) {
|
|
|
|
listHasOrder.add("$tid");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return listHasOrder;
|
|
|
|
}
|
|
|
|
|
|
|
|
_getContactData() async {
|
|
|
|
Contact contact = await _contactPicker.selectContactWithNative();
|
|
|
|
setState(() {
|
|
...
|
...
|
@@ -1389,7 +1394,24 @@ class _HomeEnterPageState extends State<HomeEnterPage> { |
|
|
|
|
|
|
|
// EventBus().emit("refresh_tablemanager"); //刷新桌位
|
|
|
|
} else {
|
|
|
|
Utils.showToast("录入预订订单失败,请重试!");
|
|
|
|
Utils.showToast("预订失败!");
|
|
|
|
// //今天 明天 其他天
|
|
|
|
// String tempTime = _homeEnterModel.ddateStr;
|
|
|
|
// if (_homeEnterModel.ddateStr == '') {
|
|
|
|
// if (currTimeIndex == 1) {
|
|
|
|
// tempTime = '08:00';
|
|
|
|
// } else if (currTimeIndex == 2) {
|
|
|
|
// tempTime = '12:00';
|
|
|
|
// } else if (currTimeIndex == 3) {
|
|
|
|
// tempTime = '18:30';
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// String timeStr = dateText + ' ' + tempTime + ':00';
|
|
|
|
|
|
|
|
// LogUtil.v(timeStr);
|
|
|
|
// int ddate = DateUtil.getDateMsByTimeStr(timeStr);
|
|
|
|
// _homeEnterModel.getNewTableList(
|
|
|
|
// context, '${ddate}', currTimeIndex.toString(), pnum);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
))
|
...
|
...
|
|