Showing
5 changed files
with
315 additions
and
36 deletions
| @@ -174,6 +174,16 @@ class DetailModelAllSunModel { | @@ -174,6 +174,16 @@ class DetailModelAllSunModel { | ||
| 174 | return _returnDate(dateTime); | 174 | return _returnDate(dateTime); |
| 175 | } | 175 | } |
| 176 | 176 | ||
| 177 | + DateTime get ddateFhms { | ||
| 178 | + DateTime dateTime = | ||
| 179 | + DateTime.fromMillisecondsSinceEpoch(int.parse(ddate) * 1000); | ||
| 180 | + | ||
| 181 | + | ||
| 182 | + | ||
| 183 | + | ||
| 184 | + return dateTime; | ||
| 185 | + } | ||
| 186 | + | ||
| 177 | String get ddate_solt { | 187 | String get ddate_solt { |
| 178 | String md = ''; | 188 | String md = ''; |
| 179 | switch (ddateSolt) { | 189 | switch (ddateSolt) { |
| @@ -208,6 +208,12 @@ class NotebookDetail { | @@ -208,6 +208,12 @@ class NotebookDetail { | ||
| 208 | return _returnDate(dateTime); | 208 | return _returnDate(dateTime); |
| 209 | } | 209 | } |
| 210 | 210 | ||
| 211 | + DateTime get ddateFhms { | ||
| 212 | + DateTime dateTime = | ||
| 213 | + DateTime.fromMillisecondsSinceEpoch(int.parse(ddate) * 1000); | ||
| 214 | + return dateTime; | ||
| 215 | + } | ||
| 216 | + | ||
| 211 | String get ddateSolt { | 217 | String get ddateSolt { |
| 212 | String md = ''; | 218 | String md = ''; |
| 213 | switch (ddate_solt) { | 219 | switch (ddate_solt) { |
| @@ -107,6 +107,7 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> { | @@ -107,6 +107,7 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> { | ||
| 107 | 107 | ||
| 108 | bool isSetOver = true; | 108 | bool isSetOver = true; |
| 109 | bool isReserveOver = true; | 109 | bool isReserveOver = true; |
| 110 | + bool cancelCan = true; | ||
| 110 | @override | 111 | @override |
| 111 | void initState() { | 112 | void initState() { |
| 112 | super.initState(); | 113 | super.initState(); |
| @@ -145,8 +146,6 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> { | @@ -145,8 +146,6 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> { | ||
| 145 | // Provider.of<NotebookDetailChangeModelOnly>(context, listen: false); | 146 | // Provider.of<NotebookDetailChangeModelOnly>(context, listen: false); |
| 146 | // sid = Provider.of<UserModel>(context, listen: false).user.sellerid; | 147 | // sid = Provider.of<UserModel>(context, listen: false).user.sellerid; |
| 147 | // initDateHourMinuteList(context); | 148 | // initDateHourMinuteList(context); |
| 148 | - | ||
| 149 | - getDzSellerConf(); | ||
| 150 | }); | 149 | }); |
| 151 | } | 150 | } |
| 152 | 151 | ||
| @@ -174,6 +173,10 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> { | @@ -174,6 +173,10 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> { | ||
| 174 | flex: 1, | 173 | flex: 1, |
| 175 | child: InkWell( | 174 | child: InkWell( |
| 176 | onTap: () { | 175 | onTap: () { |
| 176 | + if (!cancelCan) { | ||
| 177 | + Utils.showToast('临餐不可修改时间'); | ||
| 178 | + return; | ||
| 179 | + } | ||
| 177 | if (!_getIsSetOver()) { | 180 | if (!_getIsSetOver()) { |
| 178 | Utils.showToast('不允许变更过去餐段订单的时间'); | 181 | Utils.showToast('不允许变更过去餐段订单的时间'); |
| 179 | return; | 182 | return; |
| @@ -255,6 +258,7 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> { | @@ -255,6 +258,7 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> { | ||
| 255 | }, | 258 | }, |
| 256 | showCircle: showCicle, | 259 | showCircle: showCicle, |
| 257 | isShowLoading: isShowLoading); | 260 | isShowLoading: isShowLoading); |
| 261 | + getDzSellerConf(); | ||
| 258 | if (detailEntity.type == "0") { | 262 | if (detailEntity.type == "0") { |
| 259 | //内部预订 | 263 | //内部预订 |
| 260 | detailEntity.is_set_ddate = "1"; | 264 | detailEntity.is_set_ddate = "1"; |
| @@ -376,10 +380,10 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> { | @@ -376,10 +380,10 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> { | ||
| 376 | } | 380 | } |
| 377 | 381 | ||
| 378 | getDzSellerConf() async { | 382 | getDzSellerConf() async { |
| 379 | - await marketingCenterProvider.getDzSellerConf(context, | ||
| 380 | - showLoading: false, selfDismiss: true); | ||
| 381 | - | ||
| 382 | - if (marketingCenterProvider.dzSellerConfModel != null) { | 383 | + MarketingCenterProvider marketingCenterProvider = |
| 384 | + Provider.of<MarketingCenterProvider>(context, listen: false); | ||
| 385 | + bool success = await marketingCenterProvider.getDzSellerConf(context); | ||
| 386 | + if (success && marketingCenterProvider.dzSellerConfModel != null) { | ||
| 383 | isSetOver = marketingCenterProvider.dzSellerConfModel.isSetOver == '1' | 387 | isSetOver = marketingCenterProvider.dzSellerConfModel.isSetOver == '1' |
| 384 | ? true | 388 | ? true |
| 385 | : false; | 389 | : false; |
| @@ -387,9 +391,91 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> { | @@ -387,9 +391,91 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> { | ||
| 387 | marketingCenterProvider.dzSellerConfModel.isReserveOver == '1' | 391 | marketingCenterProvider.dzSellerConfModel.isReserveOver == '1' |
| 388 | ? true | 392 | ? true |
| 389 | : false; | 393 | : false; |
| 394 | + String cancelDay = marketingCenterProvider.dzSellerConfModel.cancelDay; | ||
| 395 | + bool cancelShopowner = | ||
| 396 | + marketingCenterProvider.dzSellerConfModel.cancelShopowner == '1' | ||
| 397 | + ? true | ||
| 398 | + : false; | ||
| 399 | + bool cancelManager = | ||
| 400 | + marketingCenterProvider.dzSellerConfModel.cancelManager == '1' | ||
| 401 | + ? true | ||
| 402 | + : false; | ||
| 403 | + | ||
| 404 | + bool cancelOther = | ||
| 405 | + marketingCenterProvider.dzSellerConfModel.cancelOther == '1' | ||
| 406 | + ? true | ||
| 407 | + : false; | ||
| 408 | + String roleName = | ||
| 409 | + Provider.of<UserModel>(context, listen: false).user.role_name; | ||
| 410 | + if (roleName == '管理员' || roleName == '前台') { | ||
| 411 | + cancelCan = true; | ||
| 412 | + } else if (roleName == '店长') { | ||
| 413 | + if (cancelShopowner) { | ||
| 414 | + cancelCan = true; | ||
| 415 | + } else { | ||
| 416 | + //临餐不可以取消 | ||
| 417 | + | ||
| 418 | + //比较相差的天数 | ||
| 419 | + int difference = | ||
| 420 | + detailEntity.ddateFhms.difference(DateTime.now()).inDays; | ||
| 421 | + if (difference <= int.parse(cancelDay) && difference >= 0) { | ||
| 422 | + // 临餐时间内 | ||
| 423 | + cancelCan = false; | ||
| 424 | + } else { | ||
| 425 | + cancelCan = true; | ||
| 426 | + } | ||
| 427 | + } | ||
| 428 | + } else if (roleName == '客户经理') { | ||
| 429 | + if (cancelManager) { | ||
| 430 | + cancelCan = true; | ||
| 431 | + } else { | ||
| 432 | + //临餐不可以取消 | ||
| 433 | + | ||
| 434 | + //比较相差的天数 | ||
| 435 | + int difference = | ||
| 436 | + detailEntity.ddateFhms.difference(DateTime.now()).inDays; | ||
| 437 | + if (difference <= int.parse(cancelDay) && difference >= 0) { | ||
| 438 | + // 临餐时间内 | ||
| 439 | + cancelCan = false; | ||
| 440 | + } else { | ||
| 441 | + cancelCan = true; | ||
| 442 | + } | ||
| 443 | + } | ||
| 444 | + } else { | ||
| 445 | + if (cancelOther) { | ||
| 446 | + cancelCan = true; | ||
| 447 | + } else { | ||
| 448 | + //临餐不可以取消 | ||
| 449 | + | ||
| 450 | + //比较相差的天数 | ||
| 451 | + int difference = | ||
| 452 | + detailEntity.ddateFhms.difference(DateTime.now()).inDays; | ||
| 453 | + if (difference <= int.parse(cancelDay) && difference >= 0) { | ||
| 454 | + // 临餐时间内 | ||
| 455 | + cancelCan = false; | ||
| 456 | + } else { | ||
| 457 | + cancelCan = true; | ||
| 458 | + } | ||
| 459 | + } | ||
| 460 | + } | ||
| 390 | } | 461 | } |
| 391 | } | 462 | } |
| 392 | 463 | ||
| 464 | + // getDzSellerConf() async { | ||
| 465 | + // await marketingCenterProvider.getDzSellerConf(context, | ||
| 466 | + // showLoading: false, selfDismiss: true); | ||
| 467 | + | ||
| 468 | + // if (marketingCenterProvider.dzSellerConfModel != null) { | ||
| 469 | + // isSetOver = marketingCenterProvider.dzSellerConfModel.isSetOver == '1' | ||
| 470 | + // ? true | ||
| 471 | + // : false; | ||
| 472 | + // isReserveOver = | ||
| 473 | + // marketingCenterProvider.dzSellerConfModel.isReserveOver == '1' | ||
| 474 | + // ? true | ||
| 475 | + // : false; | ||
| 476 | + // } | ||
| 477 | + // } | ||
| 478 | + | ||
| 393 | _initData() async { | 479 | _initData() async { |
| 394 | print(detailEntity); | 480 | print(detailEntity); |
| 395 | for (var item in detailEntity.tables) { | 481 | for (var item in detailEntity.tables) { |
| @@ -1156,6 +1242,10 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> { | @@ -1156,6 +1242,10 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> { | ||
| 1156 | horizontal: ScreenUtil().setWidth(15)), | 1242 | horizontal: ScreenUtil().setWidth(15)), |
| 1157 | child: GestureDetector( | 1243 | child: GestureDetector( |
| 1158 | onTap: () { | 1244 | onTap: () { |
| 1245 | + if (!cancelCan) { | ||
| 1246 | + Utils.showToast('临餐不可修改时间'); | ||
| 1247 | + return; | ||
| 1248 | + } | ||
| 1159 | if (!_getIsSetOver()) { | 1249 | if (!_getIsSetOver()) { |
| 1160 | Utils.showToast('不允许变更过去餐段订单的时间'); | 1250 | Utils.showToast('不允许变更过去餐段订单的时间'); |
| 1161 | return; | 1251 | return; |
| @@ -143,6 +143,8 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { | @@ -143,6 +143,8 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { | ||
| 143 | List<ReserveDepositSunModel> reserveDepositList = []; //订单订金数据 | 143 | List<ReserveDepositSunModel> reserveDepositList = []; //订单订金数据 |
| 144 | // PersonnelProvider personnelProvider; | 144 | // PersonnelProvider personnelProvider; |
| 145 | 145 | ||
| 146 | + bool cancelCan = true; | ||
| 147 | + | ||
| 146 | @override | 148 | @override |
| 147 | void initState() { | 149 | void initState() { |
| 148 | // TODO: implement initState | 150 | // TODO: implement initState |
| @@ -237,6 +239,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { | @@ -237,6 +239,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { | ||
| 237 | Map<String, String> pramas = {'rid': widget.rid}; | 239 | Map<String, String> pramas = {'rid': widget.rid}; |
| 238 | await detailModel.getReserveDetailDataSet(context, pramas, | 240 | await detailModel.getReserveDetailDataSet(context, pramas, |
| 239 | showCircle: showCicle, isShowLoading: isShowLoading); | 241 | showCircle: showCicle, isShowLoading: isShowLoading); |
| 242 | + getDzSellerConfTemp(); | ||
| 240 | 243 | ||
| 241 | reserveDepositList = detailModel.detailModelAllSunModel.reserveDepositInfo; | 244 | reserveDepositList = detailModel.detailModelAllSunModel.reserveDepositInfo; |
| 242 | remarkImgs = []; | 245 | remarkImgs = []; |
| @@ -260,6 +263,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { | @@ -260,6 +263,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { | ||
| 260 | ? '普通用餐' | 263 | ? '普通用餐' |
| 261 | : detailModel.detailModelAllSunModel.reserveType; | 264 | : detailModel.detailModelAllSunModel.reserveType; |
| 262 | _initTime(int.parse(detailModel.detailModelAllSunModel.ddateSolt)); | 265 | _initTime(int.parse(detailModel.detailModelAllSunModel.ddateSolt)); |
| 266 | + | ||
| 263 | setState(() { | 267 | setState(() { |
| 264 | // detailModel.selectNum = detailEntity.actual_pum; | 268 | // detailModel.selectNum = detailEntity.actual_pum; |
| 265 | // detailModel.selectIndex = detailEntity.actual_pum != null | 269 | // detailModel.selectIndex = detailEntity.actual_pum != null |
| @@ -754,6 +758,84 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { | @@ -754,6 +758,84 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { | ||
| 754 | } | 758 | } |
| 755 | } | 759 | } |
| 756 | 760 | ||
| 761 | + getDzSellerConfTemp() async { | ||
| 762 | + MarketingCenterProvider marketingCenterProvider = | ||
| 763 | + Provider.of<MarketingCenterProvider>(context, listen: false); | ||
| 764 | + bool success = await marketingCenterProvider.getDzSellerConf(context); | ||
| 765 | + if (success && marketingCenterProvider.dzSellerConfModel != null) { | ||
| 766 | + String cancelDay = marketingCenterProvider.dzSellerConfModel.cancelDay; | ||
| 767 | + bool cancelShopowner = | ||
| 768 | + marketingCenterProvider.dzSellerConfModel.cancelShopowner == '1' | ||
| 769 | + ? true | ||
| 770 | + : false; | ||
| 771 | + bool cancelManager = | ||
| 772 | + marketingCenterProvider.dzSellerConfModel.cancelManager == '1' | ||
| 773 | + ? true | ||
| 774 | + : false; | ||
| 775 | + | ||
| 776 | + bool cancelOther = | ||
| 777 | + marketingCenterProvider.dzSellerConfModel.cancelOther == '1' | ||
| 778 | + ? true | ||
| 779 | + : false; | ||
| 780 | + String roleName = | ||
| 781 | + Provider.of<UserModel>(context, listen: false).user.role_name; | ||
| 782 | + if (roleName == '管理员' || roleName == '前台') { | ||
| 783 | + cancelCan = true; | ||
| 784 | + } else if (roleName == '店长') { | ||
| 785 | + if (cancelShopowner) { | ||
| 786 | + cancelCan = true; | ||
| 787 | + } else { | ||
| 788 | + //临餐不可以取消 | ||
| 789 | + | ||
| 790 | + //比较相差的天数 | ||
| 791 | + int difference = detailModel.detailModelAllSunModel.ddateFhms | ||
| 792 | + .difference(DateTime.now()) | ||
| 793 | + .inDays; | ||
| 794 | + if (difference <= int.parse(cancelDay) && difference >= 0) { | ||
| 795 | + // 临餐时间内 | ||
| 796 | + cancelCan = false; | ||
| 797 | + } else { | ||
| 798 | + cancelCan = true; | ||
| 799 | + } | ||
| 800 | + } | ||
| 801 | + } else if (roleName == '客户经理') { | ||
| 802 | + if (cancelManager) { | ||
| 803 | + cancelCan = true; | ||
| 804 | + } else { | ||
| 805 | + //临餐不可以取消 | ||
| 806 | + | ||
| 807 | + //比较相差的天数 | ||
| 808 | + int difference = detailModel.detailModelAllSunModel.ddateFhms | ||
| 809 | + .difference(DateTime.now()) | ||
| 810 | + .inDays; | ||
| 811 | + if (difference <= int.parse(cancelDay) && difference >= 0) { | ||
| 812 | + // 临餐时间内 | ||
| 813 | + cancelCan = false; | ||
| 814 | + } else { | ||
| 815 | + cancelCan = true; | ||
| 816 | + } | ||
| 817 | + } | ||
| 818 | + } else { | ||
| 819 | + if (cancelOther) { | ||
| 820 | + cancelCan = true; | ||
| 821 | + } else { | ||
| 822 | + //临餐不可以取消 | ||
| 823 | + | ||
| 824 | + //比较相差的天数 | ||
| 825 | + int difference = detailModel.detailModelAllSunModel.ddateFhms | ||
| 826 | + .difference(DateTime.now()) | ||
| 827 | + .inDays; | ||
| 828 | + if (difference <= int.parse(cancelDay) && difference >= 0) { | ||
| 829 | + // 临餐时间内 | ||
| 830 | + cancelCan = false; | ||
| 831 | + } else { | ||
| 832 | + cancelCan = true; | ||
| 833 | + } | ||
| 834 | + } | ||
| 835 | + } | ||
| 836 | + } | ||
| 837 | + } | ||
| 838 | + | ||
| 757 | getDzSellerConf(String rid) async { | 839 | getDzSellerConf(String rid) async { |
| 758 | MarketingCenterProvider marketingCenterProvider = | 840 | MarketingCenterProvider marketingCenterProvider = |
| 759 | Provider.of<MarketingCenterProvider>(context, listen: false); | 841 | Provider.of<MarketingCenterProvider>(context, listen: false); |
| @@ -2228,23 +2310,17 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { | @@ -2228,23 +2310,17 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { | ||
| 2228 | bool show = (rolename == '管理员' || rolename == '店长') && | 2310 | bool show = (rolename == '管理员' || rolename == '店长') && |
| 2229 | data.logPhoto != null && | 2311 | data.logPhoto != null && |
| 2230 | data.logPhoto != ''; | 2312 | data.logPhoto != ''; |
| 2231 | -bool showPhone = (Utils.getAuthority(context, '订座详情-电话') || | ||
| 2232 | - widget.uid == | ||
| 2233 | - Provider.of<UserModel>(context, | ||
| 2234 | - listen: false) | ||
| 2235 | - .user | ||
| 2236 | - .openid || | ||
| 2237 | - (Provider.of<UserModel>(context, | ||
| 2238 | - listen: false) | ||
| 2239 | - .user | ||
| 2240 | - .role_name == | ||
| 2241 | - '店长' && | ||
| 2242 | - detailModel.detailModelAllSunModel | ||
| 2243 | - .roleName != | ||
| 2244 | - '管理员' && | ||
| 2245 | - detailModel.detailModelAllSunModel | ||
| 2246 | - .roleName != | ||
| 2247 | - '店长')); | 2313 | + bool showPhone = (Utils.getAuthority(context, '订座详情-电话') || |
| 2314 | + widget.uid == | ||
| 2315 | + Provider.of<UserModel>(context, listen: false) | ||
| 2316 | + .user | ||
| 2317 | + .openid || | ||
| 2318 | + (Provider.of<UserModel>(context, listen: false) | ||
| 2319 | + .user | ||
| 2320 | + .role_name == | ||
| 2321 | + '店长' && | ||
| 2322 | + detailModel.detailModelAllSunModel.roleName != '管理员' && | ||
| 2323 | + detailModel.detailModelAllSunModel.roleName != '店长')); | ||
| 2248 | return Container( | 2324 | return Container( |
| 2249 | padding: | 2325 | padding: |
| 2250 | EdgeInsets.only(left: w(30), top: index == 0 ? w(16) : 0), | 2326 | EdgeInsets.only(left: w(30), top: index == 0 ? w(16) : 0), |
| @@ -2296,8 +2372,8 @@ bool showPhone = (Utils.getAuthority(context, '订座详情-电话') || | @@ -2296,8 +2372,8 @@ bool showPhone = (Utils.getAuthority(context, '订座详情-电话') || | ||
| 2296 | ? data.content | 2372 | ? data.content |
| 2297 | : data.content.replaceAll( | 2373 | : data.content.replaceAll( |
| 2298 | detailModel.detailModelAllSunModel.phone, | 2374 | detailModel.detailModelAllSunModel.phone, |
| 2299 | - Utils.starPhone( | ||
| 2300 | - detailModel.detailModelAllSunModel.phone)) | 2375 | + Utils.starPhone(detailModel |
| 2376 | + .detailModelAllSunModel.phone)) | ||
| 2301 | : data.content, | 2377 | : data.content, |
| 2302 | 2378 | ||
| 2303 | // overflow: TextOverflow.ellipsis, | 2379 | // overflow: TextOverflow.ellipsis, |
| @@ -2675,12 +2751,18 @@ bool showPhone = (Utils.getAuthority(context, '订座详情-电话') || | @@ -2675,12 +2751,18 @@ bool showPhone = (Utils.getAuthority(context, '订座详情-电话') || | ||
| 2675 | detailModel: model, | 2751 | detailModel: model, |
| 2676 | uid: widget.uid, | 2752 | uid: widget.uid, |
| 2677 | callback: () { | 2753 | callback: () { |
| 2678 | - //时间弹窗 | ||
| 2679 | FocusScope.of(context) | 2754 | FocusScope.of(context) |
| 2680 | .requestFocus( | 2755 | .requestFocus( |
| 2681 | FocusNode()); //隐藏键盘 | 2756 | FocusNode()); //隐藏键盘 |
| 2682 | - _showDateChooseWidget( | ||
| 2683 | - context); | 2757 | + if (cancelCan) { |
| 2758 | +//时间弹窗 | ||
| 2759 | + | ||
| 2760 | + _showDateChooseWidget( | ||
| 2761 | + context); | ||
| 2762 | + } else { | ||
| 2763 | + Utils.showToast( | ||
| 2764 | + '临餐不可修改时间'); | ||
| 2765 | + } | ||
| 2684 | }, | 2766 | }, |
| 2685 | )), | 2767 | )), |
| 2686 | ], | 2768 | ], |
| @@ -3359,7 +3441,7 @@ bool showPhone = (Utils.getAuthority(context, '订座详情-电话') || | @@ -3359,7 +3441,7 @@ bool showPhone = (Utils.getAuthority(context, '订座详情-电话') || | ||
| 3359 | value.endsWith( | 3441 | value.endsWith( |
| 3360 | '女士') || | 3442 | '女士') || |
| 3361 | value.endsWith( | 3443 | value.endsWith( |
| 3362 | - '公司')|| | 3444 | + '公司') || |
| 3363 | value.endsWith( | 3445 | value.endsWith( |
| 3364 | '贵宾')) { | 3446 | '贵宾')) { |
| 3365 | nameStr = value.substring( | 3447 | nameStr = value.substring( |
| @@ -5075,11 +5157,17 @@ bool showPhone = (Utils.getAuthority(context, '订座详情-电话') || | @@ -5075,11 +5157,17 @@ bool showPhone = (Utils.getAuthority(context, '订座详情-电话') || | ||
| 5075 | .detailModelAllSunModel | 5157 | .detailModelAllSunModel |
| 5076 | .roleName != | 5158 | .roleName != |
| 5077 | '店长')) { | 5159 | '店长')) { |
| 5078 | - _showCancelWidget( | ||
| 5079 | - context, | ||
| 5080 | - detailModel | ||
| 5081 | - .detailModelAllSunModel | ||
| 5082 | - .phone); | 5160 | + //拥有权限的前提下 |
| 5161 | + // 是否可以临餐取消 | ||
| 5162 | + if (cancelCan) { | ||
| 5163 | + _showCancelWidget( | ||
| 5164 | + context, | ||
| 5165 | + detailModel | ||
| 5166 | + .detailModelAllSunModel | ||
| 5167 | + .phone); | ||
| 5168 | + } else { | ||
| 5169 | + Utils.showToast('临餐不可取消预订!'); | ||
| 5170 | + } | ||
| 5083 | } | 5171 | } |
| 5084 | }, | 5172 | }, |
| 5085 | child: Container( | 5173 | child: Container( |
| @@ -192,6 +192,7 @@ class InvicationPageState extends State<InvicationPage> | @@ -192,6 +192,7 @@ class InvicationPageState extends State<InvicationPage> | ||
| 192 | 192 | ||
| 193 | TextEditingController moneyControl = TextEditingController(); | 193 | TextEditingController moneyControl = TextEditingController(); |
| 194 | FocusNode moneyFocusNode = FocusNode(); | 194 | FocusNode moneyFocusNode = FocusNode(); |
| 195 | + bool cancelCan = true; | ||
| 195 | 196 | ||
| 196 | @override | 197 | @override |
| 197 | void initState() { | 198 | void initState() { |
| @@ -201,7 +202,7 @@ class InvicationPageState extends State<InvicationPage> | @@ -201,7 +202,7 @@ class InvicationPageState extends State<InvicationPage> | ||
| 201 | enterMore = App.sp.getBool("enterMore") ?? false; | 202 | enterMore = App.sp.getBool("enterMore") ?? false; |
| 202 | 203 | ||
| 203 | personNumList = Utils.getPersonNumList(); | 204 | personNumList = Utils.getPersonNumList(); |
| 204 | - sexList = ['先生', '女士', '公司','贵宾']; | 205 | + sexList = ['先生', '女士', '公司', '贵宾']; |
| 205 | memberList = ['会员', '非会员']; | 206 | memberList = ['会员', '非会员']; |
| 206 | styleList = ['生日宴', '普通聚餐']; | 207 | styleList = ['生日宴', '普通聚餐']; |
| 207 | _nameNode.addListener(() { | 208 | _nameNode.addListener(() { |
| @@ -336,11 +337,90 @@ class InvicationPageState extends State<InvicationPage> | @@ -336,11 +337,90 @@ class InvicationPageState extends State<InvicationPage> | ||
| 336 | user = Provider.of<UserModel>(context, listen: false).user; | 337 | user = Provider.of<UserModel>(context, listen: false).user; |
| 337 | } | 338 | } |
| 338 | 339 | ||
| 340 | + getDzSellerConf() async { | ||
| 341 | + MarketingCenterProvider marketingCenterProvider = | ||
| 342 | + Provider.of<MarketingCenterProvider>(context, listen: false); | ||
| 343 | + bool success = await marketingCenterProvider.getDzSellerConf(context); | ||
| 344 | + if (success && marketingCenterProvider.dzSellerConfModel != null) { | ||
| 345 | + String cancelDay = marketingCenterProvider.dzSellerConfModel.cancelDay; | ||
| 346 | + bool cancelShopowner = | ||
| 347 | + marketingCenterProvider.dzSellerConfModel.cancelShopowner == '1' | ||
| 348 | + ? true | ||
| 349 | + : false; | ||
| 350 | + bool cancelManager = | ||
| 351 | + marketingCenterProvider.dzSellerConfModel.cancelManager == '1' | ||
| 352 | + ? true | ||
| 353 | + : false; | ||
| 354 | + | ||
| 355 | + bool cancelOther = | ||
| 356 | + marketingCenterProvider.dzSellerConfModel.cancelOther == '1' | ||
| 357 | + ? true | ||
| 358 | + : false; | ||
| 359 | + String roleName = | ||
| 360 | + Provider.of<UserModel>(context, listen: false).user.role_name; | ||
| 361 | + if (roleName == '管理员' || roleName == '前台') { | ||
| 362 | + cancelCan = true; | ||
| 363 | + } else if (roleName == '店长') { | ||
| 364 | + if (cancelShopowner) { | ||
| 365 | + cancelCan = true; | ||
| 366 | + } else { | ||
| 367 | + //临餐不可以取消 | ||
| 368 | + | ||
| 369 | + //比较相差的天数 | ||
| 370 | + int difference = detailModel.detailModelAllSunModel.ddateFhms | ||
| 371 | + .difference(DateTime.now()) | ||
| 372 | + .inDays; | ||
| 373 | + if (difference <= int.parse(cancelDay) && difference >= 0) { | ||
| 374 | + // 临餐时间内 | ||
| 375 | + cancelCan = false; | ||
| 376 | + } else { | ||
| 377 | + cancelCan = true; | ||
| 378 | + } | ||
| 379 | + } | ||
| 380 | + } else if (roleName == '客户经理') { | ||
| 381 | + if (cancelManager) { | ||
| 382 | + cancelCan = true; | ||
| 383 | + } else { | ||
| 384 | + //临餐不可以取消 | ||
| 385 | + | ||
| 386 | + //比较相差的天数 | ||
| 387 | + int difference = detailModel.detailModelAllSunModel.ddateFhms | ||
| 388 | + .difference(DateTime.now()) | ||
| 389 | + .inDays; | ||
| 390 | + if (difference <= int.parse(cancelDay) && difference >= 0) { | ||
| 391 | + // 临餐时间内 | ||
| 392 | + cancelCan = false; | ||
| 393 | + } else { | ||
| 394 | + cancelCan = true; | ||
| 395 | + } | ||
| 396 | + } | ||
| 397 | + } else { | ||
| 398 | + if (cancelOther) { | ||
| 399 | + cancelCan = true; | ||
| 400 | + } else { | ||
| 401 | + //临餐不可以取消 | ||
| 402 | + | ||
| 403 | + //比较相差的天数 | ||
| 404 | + int difference = detailModel.detailModelAllSunModel.ddateFhms | ||
| 405 | + .difference(DateTime.now()) | ||
| 406 | + .inDays; | ||
| 407 | + if (difference <= int.parse(cancelDay) && difference >= 0) { | ||
| 408 | + // 临餐时间内 | ||
| 409 | + cancelCan = false; | ||
| 410 | + } else { | ||
| 411 | + cancelCan = true; | ||
| 412 | + } | ||
| 413 | + } | ||
| 414 | + } | ||
| 415 | + } | ||
| 416 | + } | ||
| 417 | + | ||
| 339 | getReserveDetailDataSet( | 418 | getReserveDetailDataSet( |
| 340 | {bool showCicle = false, bool isShowLoading = true}) async { | 419 | {bool showCicle = false, bool isShowLoading = true}) async { |
| 341 | Map<String, String> pramas = {'rid': widget.rid}; | 420 | Map<String, String> pramas = {'rid': widget.rid}; |
| 342 | await detailModel.getReserveDetailDataSet(context, pramas, | 421 | await detailModel.getReserveDetailDataSet(context, pramas, |
| 343 | showCircle: showCicle, isShowLoading: isShowLoading); | 422 | showCircle: showCicle, isShowLoading: isShowLoading); |
| 423 | + getDzSellerConf(); | ||
| 344 | reserveType = detailModel.detailModelAllSunModel.reserveType == null || | 424 | reserveType = detailModel.detailModelAllSunModel.reserveType == null || |
| 345 | detailModel.detailModelAllSunModel.reserveType == '' | 425 | detailModel.detailModelAllSunModel.reserveType == '' |
| 346 | ? '普通用餐' | 426 | ? '普通用餐' |
| @@ -417,7 +497,7 @@ class InvicationPageState extends State<InvicationPage> | @@ -417,7 +497,7 @@ class InvicationPageState extends State<InvicationPage> | ||
| 417 | sexStr = '女士'; | 497 | sexStr = '女士'; |
| 418 | } else if (sex == '3') { | 498 | } else if (sex == '3') { |
| 419 | sexStr = '公司'; | 499 | sexStr = '公司'; |
| 420 | - }else if (sex == '4') { | 500 | + } else if (sex == '4') { |
| 421 | sexStr = '贵宾'; | 501 | sexStr = '贵宾'; |
| 422 | } | 502 | } |
| 423 | sexSelectIndex = sexList.indexOf(sexStr); | 503 | sexSelectIndex = sexList.indexOf(sexStr); |
| @@ -2279,6 +2359,11 @@ class InvicationPageState extends State<InvicationPage> | @@ -2279,6 +2359,11 @@ class InvicationPageState extends State<InvicationPage> | ||
| 2279 | 2359 | ||
| 2280 | FocusScope.of(context) | 2360 | FocusScope.of(context) |
| 2281 | .requestFocus(FocusNode()); //隐藏键盘 | 2361 | .requestFocus(FocusNode()); //隐藏键盘 |
| 2362 | + if (!cancelCan) { | ||
| 2363 | + Utils.showToast('临餐不可修改时间'); | ||
| 2364 | + return; | ||
| 2365 | + } | ||
| 2366 | + | ||
| 2282 | DialogUtil.showSelectCusmanDialog( | 2367 | DialogUtil.showSelectCusmanDialog( |
| 2283 | context, dailyList, (value) async { | 2368 | context, dailyList, (value) async { |
| 2284 | if (value != null) { | 2369 | if (value != null) { |
-
Please register or login to post a comment