Commit 03ab100f14ae9f958781090f323d953c6382c5a8

Authored by wdn127929
1 parent b0845d84

设置临餐取消

... ... @@ -174,6 +174,16 @@ class DetailModelAllSunModel {
return _returnDate(dateTime);
}
DateTime get ddateFhms {
DateTime dateTime =
DateTime.fromMillisecondsSinceEpoch(int.parse(ddate) * 1000);
return dateTime;
}
String get ddate_solt {
String md = '';
switch (ddateSolt) {
... ...
... ... @@ -208,6 +208,12 @@ class NotebookDetail {
return _returnDate(dateTime);
}
DateTime get ddateFhms {
DateTime dateTime =
DateTime.fromMillisecondsSinceEpoch(int.parse(ddate) * 1000);
return dateTime;
}
String get ddateSolt {
String md = '';
switch (ddate_solt) {
... ...
... ... @@ -107,6 +107,7 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> {
bool isSetOver = true;
bool isReserveOver = true;
bool cancelCan = true;
@override
void initState() {
super.initState();
... ... @@ -145,8 +146,6 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> {
// Provider.of<NotebookDetailChangeModelOnly>(context, listen: false);
// sid = Provider.of<UserModel>(context, listen: false).user.sellerid;
// initDateHourMinuteList(context);
getDzSellerConf();
});
}
... ... @@ -174,6 +173,10 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> {
flex: 1,
child: InkWell(
onTap: () {
if (!cancelCan) {
Utils.showToast('临餐不可修改时间');
return;
}
if (!_getIsSetOver()) {
Utils.showToast('不允许变更过去餐段订单的时间');
return;
... ... @@ -255,6 +258,7 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> {
},
showCircle: showCicle,
isShowLoading: isShowLoading);
getDzSellerConf();
if (detailEntity.type == "0") {
//内部预订
detailEntity.is_set_ddate = "1";
... ... @@ -376,10 +380,10 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> {
}
getDzSellerConf() async {
await marketingCenterProvider.getDzSellerConf(context,
showLoading: false, selfDismiss: true);
if (marketingCenterProvider.dzSellerConfModel != null) {
MarketingCenterProvider marketingCenterProvider =
Provider.of<MarketingCenterProvider>(context, listen: false);
bool success = await marketingCenterProvider.getDzSellerConf(context);
if (success && marketingCenterProvider.dzSellerConfModel != null) {
isSetOver = marketingCenterProvider.dzSellerConfModel.isSetOver == '1'
? true
: false;
... ... @@ -387,9 +391,91 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> {
marketingCenterProvider.dzSellerConfModel.isReserveOver == '1'
? true
: false;
String cancelDay = marketingCenterProvider.dzSellerConfModel.cancelDay;
bool cancelShopowner =
marketingCenterProvider.dzSellerConfModel.cancelShopowner == '1'
? true
: false;
bool cancelManager =
marketingCenterProvider.dzSellerConfModel.cancelManager == '1'
? true
: false;
bool cancelOther =
marketingCenterProvider.dzSellerConfModel.cancelOther == '1'
? true
: false;
String roleName =
Provider.of<UserModel>(context, listen: false).user.role_name;
if (roleName == '管理员' || roleName == '前台') {
cancelCan = true;
} else if (roleName == '店长') {
if (cancelShopowner) {
cancelCan = true;
} else {
//临餐不可以取消
//比较相差的天数
int difference =
detailEntity.ddateFhms.difference(DateTime.now()).inDays;
if (difference <= int.parse(cancelDay) && difference >= 0) {
// 临餐时间内
cancelCan = false;
} else {
cancelCan = true;
}
}
} else if (roleName == '客户经理') {
if (cancelManager) {
cancelCan = true;
} else {
//临餐不可以取消
//比较相差的天数
int difference =
detailEntity.ddateFhms.difference(DateTime.now()).inDays;
if (difference <= int.parse(cancelDay) && difference >= 0) {
// 临餐时间内
cancelCan = false;
} else {
cancelCan = true;
}
}
} else {
if (cancelOther) {
cancelCan = true;
} else {
//临餐不可以取消
//比较相差的天数
int difference =
detailEntity.ddateFhms.difference(DateTime.now()).inDays;
if (difference <= int.parse(cancelDay) && difference >= 0) {
// 临餐时间内
cancelCan = false;
} else {
cancelCan = true;
}
}
}
}
}
// getDzSellerConf() async {
// await marketingCenterProvider.getDzSellerConf(context,
// showLoading: false, selfDismiss: true);
// if (marketingCenterProvider.dzSellerConfModel != null) {
// isSetOver = marketingCenterProvider.dzSellerConfModel.isSetOver == '1'
// ? true
// : false;
// isReserveOver =
// marketingCenterProvider.dzSellerConfModel.isReserveOver == '1'
// ? true
// : false;
// }
// }
_initData() async {
print(detailEntity);
for (var item in detailEntity.tables) {
... ... @@ -1156,6 +1242,10 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> {
horizontal: ScreenUtil().setWidth(15)),
child: GestureDetector(
onTap: () {
if (!cancelCan) {
Utils.showToast('临餐不可修改时间');
return;
}
if (!_getIsSetOver()) {
Utils.showToast('不允许变更过去餐段订单的时间');
return;
... ...
... ... @@ -143,6 +143,8 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
List<ReserveDepositSunModel> reserveDepositList = []; //订单订金数据
// PersonnelProvider personnelProvider;
bool cancelCan = true;
@override
void initState() {
// TODO: implement initState
... ... @@ -237,6 +239,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
Map<String, String> pramas = {'rid': widget.rid};
await detailModel.getReserveDetailDataSet(context, pramas,
showCircle: showCicle, isShowLoading: isShowLoading);
getDzSellerConfTemp();
reserveDepositList = detailModel.detailModelAllSunModel.reserveDepositInfo;
remarkImgs = [];
... ... @@ -260,6 +263,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
? '普通用餐'
: detailModel.detailModelAllSunModel.reserveType;
_initTime(int.parse(detailModel.detailModelAllSunModel.ddateSolt));
setState(() {
// detailModel.selectNum = detailEntity.actual_pum;
// detailModel.selectIndex = detailEntity.actual_pum != null
... ... @@ -754,6 +758,84 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
}
}
getDzSellerConfTemp() async {
MarketingCenterProvider marketingCenterProvider =
Provider.of<MarketingCenterProvider>(context, listen: false);
bool success = await marketingCenterProvider.getDzSellerConf(context);
if (success && marketingCenterProvider.dzSellerConfModel != null) {
String cancelDay = marketingCenterProvider.dzSellerConfModel.cancelDay;
bool cancelShopowner =
marketingCenterProvider.dzSellerConfModel.cancelShopowner == '1'
? true
: false;
bool cancelManager =
marketingCenterProvider.dzSellerConfModel.cancelManager == '1'
? true
: false;
bool cancelOther =
marketingCenterProvider.dzSellerConfModel.cancelOther == '1'
? true
: false;
String roleName =
Provider.of<UserModel>(context, listen: false).user.role_name;
if (roleName == '管理员' || roleName == '前台') {
cancelCan = true;
} else if (roleName == '店长') {
if (cancelShopowner) {
cancelCan = true;
} else {
//临餐不可以取消
//比较相差的天数
int difference = detailModel.detailModelAllSunModel.ddateFhms
.difference(DateTime.now())
.inDays;
if (difference <= int.parse(cancelDay) && difference >= 0) {
// 临餐时间内
cancelCan = false;
} else {
cancelCan = true;
}
}
} else if (roleName == '客户经理') {
if (cancelManager) {
cancelCan = true;
} else {
//临餐不可以取消
//比较相差的天数
int difference = detailModel.detailModelAllSunModel.ddateFhms
.difference(DateTime.now())
.inDays;
if (difference <= int.parse(cancelDay) && difference >= 0) {
// 临餐时间内
cancelCan = false;
} else {
cancelCan = true;
}
}
} else {
if (cancelOther) {
cancelCan = true;
} else {
//临餐不可以取消
//比较相差的天数
int difference = detailModel.detailModelAllSunModel.ddateFhms
.difference(DateTime.now())
.inDays;
if (difference <= int.parse(cancelDay) && difference >= 0) {
// 临餐时间内
cancelCan = false;
} else {
cancelCan = true;
}
}
}
}
}
getDzSellerConf(String rid) async {
MarketingCenterProvider marketingCenterProvider =
Provider.of<MarketingCenterProvider>(context, listen: false);
... ... @@ -2228,23 +2310,17 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
bool show = (rolename == '管理员' || rolename == '店长') &&
data.logPhoto != null &&
data.logPhoto != '';
bool showPhone = (Utils.getAuthority(context, '订座详情-电话') ||
widget.uid ==
Provider.of<UserModel>(context,
listen: false)
.user
.openid ||
(Provider.of<UserModel>(context,
listen: false)
.user
.role_name ==
'店长' &&
detailModel.detailModelAllSunModel
.roleName !=
'管理员' &&
detailModel.detailModelAllSunModel
.roleName !=
'店长'));
bool showPhone = (Utils.getAuthority(context, '订座详情-电话') ||
widget.uid ==
Provider.of<UserModel>(context, listen: false)
.user
.openid ||
(Provider.of<UserModel>(context, listen: false)
.user
.role_name ==
'店长' &&
detailModel.detailModelAllSunModel.roleName != '管理员' &&
detailModel.detailModelAllSunModel.roleName != '店长'));
return Container(
padding:
EdgeInsets.only(left: w(30), top: index == 0 ? w(16) : 0),
... ... @@ -2296,8 +2372,8 @@ bool showPhone = (Utils.getAuthority(context, '订座详情-电话') ||
? data.content
: data.content.replaceAll(
detailModel.detailModelAllSunModel.phone,
Utils.starPhone(
detailModel.detailModelAllSunModel.phone))
Utils.starPhone(detailModel
.detailModelAllSunModel.phone))
: data.content,
// overflow: TextOverflow.ellipsis,
... ... @@ -2675,12 +2751,18 @@ bool showPhone = (Utils.getAuthority(context, '订座详情-电话') ||
detailModel: model,
uid: widget.uid,
callback: () {
//时间弹窗
FocusScope.of(context)
.requestFocus(
FocusNode()); //隐藏键盘
_showDateChooseWidget(
context);
if (cancelCan) {
//时间弹窗
_showDateChooseWidget(
context);
} else {
Utils.showToast(
'临餐不可修改时间');
}
},
)),
],
... ... @@ -3359,7 +3441,7 @@ bool showPhone = (Utils.getAuthority(context, '订座详情-电话') ||
value.endsWith(
'女士') ||
value.endsWith(
'公司')||
'公司') ||
value.endsWith(
'贵宾')) {
nameStr = value.substring(
... ... @@ -5075,11 +5157,17 @@ bool showPhone = (Utils.getAuthority(context, '订座详情-电话') ||
.detailModelAllSunModel
.roleName !=
'店长')) {
_showCancelWidget(
context,
detailModel
.detailModelAllSunModel
.phone);
//拥有权限的前提下
// 是否可以临餐取消
if (cancelCan) {
_showCancelWidget(
context,
detailModel
.detailModelAllSunModel
.phone);
} else {
Utils.showToast('临餐不可取消预订!');
}
}
},
child: Container(
... ...
... ... @@ -192,6 +192,7 @@ class InvicationPageState extends State<InvicationPage>
TextEditingController moneyControl = TextEditingController();
FocusNode moneyFocusNode = FocusNode();
bool cancelCan = true;
@override
void initState() {
... ... @@ -201,7 +202,7 @@ class InvicationPageState extends State<InvicationPage>
enterMore = App.sp.getBool("enterMore") ?? false;
personNumList = Utils.getPersonNumList();
sexList = ['先生', '女士', '公司','贵宾'];
sexList = ['先生', '女士', '公司', '贵宾'];
memberList = ['会员', '非会员'];
styleList = ['生日宴', '普通聚餐'];
_nameNode.addListener(() {
... ... @@ -336,11 +337,90 @@ class InvicationPageState extends State<InvicationPage>
user = Provider.of<UserModel>(context, listen: false).user;
}
getDzSellerConf() async {
MarketingCenterProvider marketingCenterProvider =
Provider.of<MarketingCenterProvider>(context, listen: false);
bool success = await marketingCenterProvider.getDzSellerConf(context);
if (success && marketingCenterProvider.dzSellerConfModel != null) {
String cancelDay = marketingCenterProvider.dzSellerConfModel.cancelDay;
bool cancelShopowner =
marketingCenterProvider.dzSellerConfModel.cancelShopowner == '1'
? true
: false;
bool cancelManager =
marketingCenterProvider.dzSellerConfModel.cancelManager == '1'
? true
: false;
bool cancelOther =
marketingCenterProvider.dzSellerConfModel.cancelOther == '1'
? true
: false;
String roleName =
Provider.of<UserModel>(context, listen: false).user.role_name;
if (roleName == '管理员' || roleName == '前台') {
cancelCan = true;
} else if (roleName == '店长') {
if (cancelShopowner) {
cancelCan = true;
} else {
//临餐不可以取消
//比较相差的天数
int difference = detailModel.detailModelAllSunModel.ddateFhms
.difference(DateTime.now())
.inDays;
if (difference <= int.parse(cancelDay) && difference >= 0) {
// 临餐时间内
cancelCan = false;
} else {
cancelCan = true;
}
}
} else if (roleName == '客户经理') {
if (cancelManager) {
cancelCan = true;
} else {
//临餐不可以取消
//比较相差的天数
int difference = detailModel.detailModelAllSunModel.ddateFhms
.difference(DateTime.now())
.inDays;
if (difference <= int.parse(cancelDay) && difference >= 0) {
// 临餐时间内
cancelCan = false;
} else {
cancelCan = true;
}
}
} else {
if (cancelOther) {
cancelCan = true;
} else {
//临餐不可以取消
//比较相差的天数
int difference = detailModel.detailModelAllSunModel.ddateFhms
.difference(DateTime.now())
.inDays;
if (difference <= int.parse(cancelDay) && difference >= 0) {
// 临餐时间内
cancelCan = false;
} else {
cancelCan = true;
}
}
}
}
}
getReserveDetailDataSet(
{bool showCicle = false, bool isShowLoading = true}) async {
Map<String, String> pramas = {'rid': widget.rid};
await detailModel.getReserveDetailDataSet(context, pramas,
showCircle: showCicle, isShowLoading: isShowLoading);
getDzSellerConf();
reserveType = detailModel.detailModelAllSunModel.reserveType == null ||
detailModel.detailModelAllSunModel.reserveType == ''
? '普通用餐'
... ... @@ -417,7 +497,7 @@ class InvicationPageState extends State<InvicationPage>
sexStr = '女士';
} else if (sex == '3') {
sexStr = '公司';
}else if (sex == '4') {
} else if (sex == '4') {
sexStr = '贵宾';
}
sexSelectIndex = sexList.indexOf(sexStr);
... ... @@ -2279,6 +2359,11 @@ class InvicationPageState extends State<InvicationPage>
FocusScope.of(context)
.requestFocus(FocusNode()); //隐藏键盘
if (!cancelCan) {
Utils.showToast('临餐不可修改时间');
return;
}
DialogUtil.showSelectCusmanDialog(
context, dailyList, (value) async {
if (value != null) {
... ...