Showing
12 changed files
with
505 additions
and
104 deletions
| @@ -548,7 +548,7 @@ | @@ -548,7 +548,7 @@ | ||
| 548 | CODE_SIGN_ENTITLEMENTS = Runner/RunnerProfile.entitlements; | 548 | CODE_SIGN_ENTITLEMENTS = Runner/RunnerProfile.entitlements; |
| 549 | CODE_SIGN_IDENTITY = "Apple Development"; | 549 | CODE_SIGN_IDENTITY = "Apple Development"; |
| 550 | CODE_SIGN_STYLE = Automatic; | 550 | CODE_SIGN_STYLE = Automatic; |
| 551 | - CURRENT_PROJECT_VERSION = 5233; | 551 | + CURRENT_PROJECT_VERSION = 5234; |
| 552 | DEVELOPMENT_TEAM = 8J59HM8B82; | 552 | DEVELOPMENT_TEAM = 8J59HM8B82; |
| 553 | ENABLE_BITCODE = NO; | 553 | ENABLE_BITCODE = NO; |
| 554 | FLUTTER_BUILD_MODE = release; | 554 | FLUTTER_BUILD_MODE = release; |
| @@ -696,7 +696,7 @@ | @@ -696,7 +696,7 @@ | ||
| 696 | CODE_SIGN_ENTITLEMENTS = "Runner/一键订Debug.entitlements"; | 696 | CODE_SIGN_ENTITLEMENTS = "Runner/一键订Debug.entitlements"; |
| 697 | CODE_SIGN_IDENTITY = "Apple Development"; | 697 | CODE_SIGN_IDENTITY = "Apple Development"; |
| 698 | CODE_SIGN_STYLE = Automatic; | 698 | CODE_SIGN_STYLE = Automatic; |
| 699 | - CURRENT_PROJECT_VERSION = 5233; | 699 | + CURRENT_PROJECT_VERSION = 5234; |
| 700 | DEVELOPMENT_TEAM = 8J59HM8B82; | 700 | DEVELOPMENT_TEAM = 8J59HM8B82; |
| 701 | ENABLE_BITCODE = NO; | 701 | ENABLE_BITCODE = NO; |
| 702 | FLUTTER_BUILD_MODE = debug; | 702 | FLUTTER_BUILD_MODE = debug; |
| @@ -732,7 +732,7 @@ | @@ -732,7 +732,7 @@ | ||
| 732 | CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; | 732 | CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; |
| 733 | CODE_SIGN_IDENTITY = "Apple Development"; | 733 | CODE_SIGN_IDENTITY = "Apple Development"; |
| 734 | CODE_SIGN_STYLE = Automatic; | 734 | CODE_SIGN_STYLE = Automatic; |
| 735 | - CURRENT_PROJECT_VERSION = 5233; | 735 | + CURRENT_PROJECT_VERSION = 5234; |
| 736 | DEVELOPMENT_TEAM = 8J59HM8B82; | 736 | DEVELOPMENT_TEAM = 8J59HM8B82; |
| 737 | ENABLE_BITCODE = NO; | 737 | ENABLE_BITCODE = NO; |
| 738 | FLUTTER_BUILD_MODE = release; | 738 | FLUTTER_BUILD_MODE = release; |
| @@ -332,9 +332,9 @@ class MenuSunModel { | @@ -332,9 +332,9 @@ class MenuSunModel { | ||
| 332 | 332 | ||
| 333 | amount = 0; | 333 | amount = 0; |
| 334 | amountC.text = '0'; | 334 | amountC.text = '0'; |
| 335 | - | 335 | + amountHasOrderList = []; |
| 336 | if (json['amountHasOrderList'] != null) { | 336 | if (json['amountHasOrderList'] != null) { |
| 337 | - amountHasOrderList = []; | 337 | + // amountHasOrderList = []; |
| 338 | // if (json['practice'].length > 0 && json['practice'][0] is String) { | 338 | // if (json['practice'].length > 0 && json['practice'][0] is String) { |
| 339 | // } else { | 339 | // } else { |
| 340 | json['amountHasOrderList'].forEach((v) { | 340 | json['amountHasOrderList'].forEach((v) { |
| @@ -427,8 +427,9 @@ class MenuSunModel { | @@ -427,8 +427,9 @@ class MenuSunModel { | ||
| 427 | } | 427 | } |
| 428 | amount = 0; | 428 | amount = 0; |
| 429 | amountC.text = '0'; | 429 | amountC.text = '0'; |
| 430 | + amountHasOrderList = []; | ||
| 430 | if (json['amountHasOrderList'] != null) { | 431 | if (json['amountHasOrderList'] != null) { |
| 431 | - amountHasOrderList = []; | 432 | + // amountHasOrderList = []; |
| 432 | // if (json['practice'].length > 0 && json['practice'][0] is String) { | 433 | // if (json['practice'].length > 0 && json['practice'][0] is String) { |
| 433 | // } else { | 434 | // } else { |
| 434 | json['amountHasOrderList'].forEach((v) { | 435 | json['amountHasOrderList'].forEach((v) { |
| @@ -115,6 +115,8 @@ class SellerOftenSunCooklist { | @@ -115,6 +115,8 @@ class SellerOftenSunCooklist { | ||
| 115 | String className; | 115 | String className; |
| 116 | String classid; | 116 | String classid; |
| 117 | String classOrder; | 117 | String classOrder; |
| 118 | + String practiceName; | ||
| 119 | + String practice; | ||
| 118 | 120 | ||
| 119 | SellerOftenSunCooklist( | 121 | SellerOftenSunCooklist( |
| 120 | {this.amount, | 122 | {this.amount, |
| @@ -129,7 +131,9 @@ class SellerOftenSunCooklist { | @@ -129,7 +131,9 @@ class SellerOftenSunCooklist { | ||
| 129 | this.image, | 131 | this.image, |
| 130 | this.className, | 132 | this.className, |
| 131 | this.classid, | 133 | this.classid, |
| 132 | - this.classOrder}); | 134 | + this.classOrder, |
| 135 | + this.practiceName, | ||
| 136 | + this.practice}); | ||
| 133 | 137 | ||
| 134 | SellerOftenSunCooklist.fromJson(Map<String, dynamic> json) { | 138 | SellerOftenSunCooklist.fromJson(Map<String, dynamic> json) { |
| 135 | amount = json['amount'] == null || json['amount'] == '' | 139 | amount = json['amount'] == null || json['amount'] == '' |
| @@ -147,6 +151,8 @@ class SellerOftenSunCooklist { | @@ -147,6 +151,8 @@ class SellerOftenSunCooklist { | ||
| 147 | className = json['class_name']; | 151 | className = json['class_name']; |
| 148 | classid = json['classid']; | 152 | classid = json['classid']; |
| 149 | classOrder = json['class_order']; | 153 | classOrder = json['class_order']; |
| 154 | + practiceName = json['practice_name']; | ||
| 155 | + practice = json['practice']; | ||
| 150 | } | 156 | } |
| 151 | 157 | ||
| 152 | Map<String, dynamic> toJson() { | 158 | Map<String, dynamic> toJson() { |
| @@ -164,6 +170,8 @@ class SellerOftenSunCooklist { | @@ -164,6 +170,8 @@ class SellerOftenSunCooklist { | ||
| 164 | data['class_name'] = this.className; | 170 | data['class_name'] = this.className; |
| 165 | data['classid'] = this.classid; | 171 | data['classid'] = this.classid; |
| 166 | data['class_order'] = this.classOrder; | 172 | data['class_order'] = this.classOrder; |
| 173 | + data['practice_name'] = this.practiceName; | ||
| 174 | + data['practice'] = this.practice; | ||
| 167 | return data; | 175 | return data; |
| 168 | } | 176 | } |
| 169 | } | 177 | } |
| @@ -4422,8 +4422,25 @@ class InvicationPageState extends State<InvicationPage> | @@ -4422,8 +4422,25 @@ class InvicationPageState extends State<InvicationPage> | ||
| 4422 | erroInfo = ''; | 4422 | erroInfo = ''; |
| 4423 | }); | 4423 | }); |
| 4424 | //跳转 | 4424 | //跳转 |
| 4425 | + if (Platform.isIOS) { | ||
| 4426 | + List<String> phoneNumber = [reserverPhone]; | ||
| 4427 | + | ||
| 4428 | + try { | ||
| 4429 | + String _result = | ||
| 4430 | + await sendSMS(message: smsContent, recipients: phoneNumber); | ||
| 4431 | + print(_result); | ||
| 4432 | + } catch (error) { | ||
| 4433 | + print(error.toString()); | ||
| 4434 | + } | ||
| 4435 | + } else { | ||
| 4436 | + bool sucess = await Sendsms.onSendSMS(reserverPhone, smsContent); | ||
| 4437 | + } | ||
| 4425 | 4438 | ||
| 4426 | - bool sucess = await Sendsms.onSendSMS(reserverPhone, smsContent); | 4439 | + // } |
| 4440 | + // SmsModel smsModel = new SmsModel(); | ||
| 4441 | + // // String sms = await smsModel.getSmsContent(context, params); | ||
| 4442 | + // String phoneNumber = ""; | ||
| 4443 | + // await Sendsms.onSendSMS(phoneNumber, '短信内容'); | ||
| 4427 | 4444 | ||
| 4428 | // if (Platform.isIOS) { | 4445 | // if (Platform.isIOS) { |
| 4429 | // // List<String> phoneNumber = ['18161963378', '18729572142', '18765432345']; | 4446 | // // List<String> phoneNumber = ['18161963378', '18729572142', '18765432345']; |
| @@ -15,6 +15,8 @@ import 'package:one_key/widgets/system_app_bar.dart'; | @@ -15,6 +15,8 @@ import 'package:one_key/widgets/system_app_bar.dart'; | ||
| 15 | import 'package:one_key/widgets/v_empty_view.dart'; | 15 | import 'package:one_key/widgets/v_empty_view.dart'; |
| 16 | import 'package:provider/provider.dart'; | 16 | import 'package:provider/provider.dart'; |
| 17 | 17 | ||
| 18 | +import '../../../../utils/screen_util.dart'; | ||
| 19 | + | ||
| 18 | class MyCustomerDetailEditPage extends StatefulWidget { | 20 | class MyCustomerDetailEditPage extends StatefulWidget { |
| 19 | final Guest guest; | 21 | final Guest guest; |
| 20 | final FromPage fromPage; | 22 | final FromPage fromPage; |
| @@ -392,6 +394,22 @@ class _MyCustomerDetailEditPageState extends State<MyCustomerDetailEditPage> { | @@ -392,6 +394,22 @@ class _MyCustomerDetailEditPageState extends State<MyCustomerDetailEditPage> { | ||
| 392 | ); | 394 | ); |
| 393 | } | 395 | } |
| 394 | 396 | ||
| 397 | + List<Widget> labelsWidget(String label) { | ||
| 398 | + List<Widget> data = []; | ||
| 399 | + | ||
| 400 | + if (label != null && label.length > 0) { | ||
| 401 | + List<String> labels = label.split(','); | ||
| 402 | + labels.forEach((element) { | ||
| 403 | + Text( | ||
| 404 | + element, | ||
| 405 | + style: TextStyle(fontSize: font(16), color: MyColours.color_999999), | ||
| 406 | + ); | ||
| 407 | + }); | ||
| 408 | + } | ||
| 409 | + | ||
| 410 | + return data; | ||
| 411 | + } | ||
| 412 | + | ||
| 395 | @override | 413 | @override |
| 396 | Widget build(BuildContext context) { | 414 | Widget build(BuildContext context) { |
| 397 | customerProvider = Provider.of<CustomerProvider>(context, listen: true); | 415 | customerProvider = Provider.of<CustomerProvider>(context, listen: true); |
| @@ -611,51 +629,59 @@ class _MyCustomerDetailEditPageState extends State<MyCustomerDetailEditPage> { | @@ -611,51 +629,59 @@ class _MyCustomerDetailEditPageState extends State<MyCustomerDetailEditPage> { | ||
| 611 | .then((value) {}); | 629 | .then((value) {}); |
| 612 | }, | 630 | }, |
| 613 | child: Container( | 631 | child: Container( |
| 614 | - // height: ScreenUtil().setWidth(60), | ||
| 615 | - padding: EdgeInsets.symmetric( | ||
| 616 | - vertical: ScreenUtil().setWidth(50)), | ||
| 617 | - decoration: BoxDecoration( | ||
| 618 | - border: Border( | ||
| 619 | - bottom: BorderSide( | ||
| 620 | - width: ScreenUtil().setWidth(2), | ||
| 621 | - color: Color.fromRGBO( | ||
| 622 | - 220, 220, 220, 1)))), | ||
| 623 | - child: Row( | ||
| 624 | - mainAxisAlignment: | ||
| 625 | - MainAxisAlignment.spaceBetween, | ||
| 626 | - crossAxisAlignment: CrossAxisAlignment.center, | ||
| 627 | - children: [ | ||
| 628 | - Container( | ||
| 629 | - // color: Colors.red, | ||
| 630 | - width: ScreenUtil().setWidth(150), | ||
| 631 | - height: ScreenUtil().setWidth(35), | ||
| 632 | - child: Text( | ||
| 633 | - '自定义标签', | ||
| 634 | - style: TextStyle( | ||
| 635 | - fontSize: ScreenUtil().setSp(28), | ||
| 636 | - color: MyColours.color_333333), | ||
| 637 | - ), | ||
| 638 | - ), | ||
| 639 | - Expanded( | ||
| 640 | - child: Text( | ||
| 641 | - labelShow, | ||
| 642 | - overflow: TextOverflow.ellipsis, | ||
| 643 | - style: TextStyle( | ||
| 644 | - color: Color.fromRGBO(193, 194, 63, 1), | ||
| 645 | - fontSize: ScreenUtil().setSp(28), | 632 | + // height: ScreenUtil().setWidth(60), |
| 633 | + padding: EdgeInsets.symmetric( | ||
| 634 | + vertical: ScreenUtil().setWidth(50)), | ||
| 635 | + decoration: BoxDecoration( | ||
| 636 | + border: Border( | ||
| 637 | + bottom: BorderSide( | ||
| 638 | + width: ScreenUtil().setWidth(2), | ||
| 639 | + color: Color.fromRGBO( | ||
| 640 | + 220, 220, 220, 1)))), | ||
| 641 | + child: Column( | ||
| 642 | + children: [ | ||
| 643 | + Row( | ||
| 644 | + mainAxisAlignment: | ||
| 645 | + MainAxisAlignment.spaceBetween, | ||
| 646 | + crossAxisAlignment: | ||
| 647 | + CrossAxisAlignment.center, | ||
| 648 | + children: [ | ||
| 649 | + Container( | ||
| 650 | + // color: Colors.red, | ||
| 651 | + width: ScreenUtil().setWidth(150), | ||
| 652 | + height: ScreenUtil().setWidth(35), | ||
| 653 | + child: Text( | ||
| 654 | + '自定义标签', | ||
| 655 | + style: TextStyle( | ||
| 656 | + fontSize: | ||
| 657 | + ScreenUtil().setSp(28), | ||
| 658 | + color: MyColours.color_333333), | ||
| 659 | + ), | ||
| 660 | + ), | ||
| 661 | + Expanded( | ||
| 662 | + child: Text( | ||
| 663 | + labelShow, | ||
| 664 | + overflow: TextOverflow.ellipsis, | ||
| 665 | + style: TextStyle( | ||
| 666 | + color: | ||
| 667 | + Color.fromRGBO(193, 194, 63, 1), | ||
| 668 | + fontSize: ScreenUtil().setSp(28), | ||
| 669 | + ), | ||
| 670 | + )), | ||
| 671 | + HEmptyView(10), | ||
| 672 | + Image.asset( | ||
| 673 | + "assets/arrow_right_new.png", | ||
| 674 | + width: ScreenUtil().setWidth(14), | ||
| 675 | + height: ScreenUtil().setWidth(22), | ||
| 676 | + ) | ||
| 677 | + ], | ||
| 646 | ), | 678 | ), |
| 647 | - )), | ||
| 648 | - HEmptyView(10), | ||
| 649 | - Image.asset( | ||
| 650 | - Utils.getImgPath(showLabel | ||
| 651 | - ? 'c_arrow_up' | ||
| 652 | - : 'c_arrow_down'), | ||
| 653 | - width: ScreenUtil().setWidth(24), | ||
| 654 | - // height: ScreenUtil().setWidth(10), | ||
| 655 | - ) | ||
| 656 | - ], | ||
| 657 | - ), | ||
| 658 | - )), | 679 | + VEmptyView(10), |
| 680 | + Wrap( | ||
| 681 | + children: [], | ||
| 682 | + ) | ||
| 683 | + ], | ||
| 684 | + ))), | ||
| 659 | 685 | ||
| 660 | VEmptyView(60), | 686 | VEmptyView(60), |
| 661 | _textMulLine( | 687 | _textMulLine( |
| 1 | +import 'dart:async'; | ||
| 1 | import 'dart:convert'; | 2 | import 'dart:convert'; |
| 2 | 3 | ||
| 3 | import 'package:cached_network_image/cached_network_image.dart'; | 4 | import 'package:cached_network_image/cached_network_image.dart'; |
| @@ -49,6 +50,8 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> { | @@ -49,6 +50,8 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> { | ||
| 49 | String uid = ''; | 50 | String uid = ''; |
| 50 | String isStoreWine = '0'; | 51 | String isStoreWine = '0'; |
| 51 | 52 | ||
| 53 | + Timer timer; | ||
| 54 | + | ||
| 52 | @override | 55 | @override |
| 53 | void initState() { | 56 | void initState() { |
| 54 | super.initState(); | 57 | super.initState(); |
| @@ -109,6 +112,10 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> { | @@ -109,6 +112,10 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> { | ||
| 109 | void dispose() { | 112 | void dispose() { |
| 110 | // TODO: implement dispose | 113 | // TODO: implement dispose |
| 111 | super.dispose(); | 114 | super.dispose(); |
| 115 | + if (timer != null && timer.isActive) { | ||
| 116 | + timer.cancel(); | ||
| 117 | + } | ||
| 118 | + | ||
| 112 | EventBus().off('personnel_manage_detail_page'); | 119 | EventBus().off('personnel_manage_detail_page'); |
| 113 | } | 120 | } |
| 114 | 121 | ||
| @@ -278,6 +285,10 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> { | @@ -278,6 +285,10 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> { | ||
| 278 | 285 | ||
| 279 | ///获取二维码 | 286 | ///获取二维码 |
| 280 | _getWechatQrcode({bool need = false}) async { | 287 | _getWechatQrcode({bool need = false}) async { |
| 288 | + if (timer != null && timer.isActive ) { | ||
| 289 | + timer.cancel(); | ||
| 290 | + } | ||
| 291 | + | ||
| 281 | String sid = Provider.of<UserModel>(context, listen: false).user.sellerid; | 292 | String sid = Provider.of<UserModel>(context, listen: false).user.sellerid; |
| 282 | // String id = Provider.of<UserModel>(context, listen: false).user.openid; | 293 | // String id = Provider.of<UserModel>(context, listen: false).user.openid; |
| 283 | // https: //xt.colorcun.com/WechatApi/WechatApi/CreateDcSubQrcode/sellerid/商家ID/uid/当前账号ID | 294 | // https: //xt.colorcun.com/WechatApi/WechatApi/CreateDcSubQrcode/sellerid/商家ID/uid/当前账号ID |
| @@ -290,6 +301,9 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> { | @@ -290,6 +301,9 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> { | ||
| 290 | LogUtil.v("access_token:${response.toString()}"); | 301 | LogUtil.v("access_token:${response.toString()}"); |
| 291 | Map<String, dynamic> responseData = json.decode(response.toString()); | 302 | Map<String, dynamic> responseData = json.decode(response.toString()); |
| 292 | print(responseData); | 303 | print(responseData); |
| 304 | + timer = Timer.periodic(Duration(seconds: 60), (_) { | ||
| 305 | + _getWechatQrcode(); | ||
| 306 | + }); | ||
| 293 | dcAdduserCode = responseData["data"]; | 307 | dcAdduserCode = responseData["data"]; |
| 294 | if (need) { | 308 | if (need) { |
| 295 | if (dcAdduserCode == null || dcAdduserCode == '') { | 309 | if (dcAdduserCode == null || dcAdduserCode == '') { |
| @@ -462,27 +476,45 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> { | @@ -462,27 +476,45 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> { | ||
| 462 | ), | 476 | ), |
| 463 | VEmptyView(114), | 477 | VEmptyView(114), |
| 464 | 478 | ||
| 465 | - RoundButton( | ||
| 466 | - text: data?.openid == null || data?.openid == 'null' | ||
| 467 | - ? '绑定微信' | ||
| 468 | - : '更换微信', | ||
| 469 | - gradientStart: wechatColor, | ||
| 470 | - gradientEnd: wechatColor, | ||
| 471 | - borderColor: wechatColor, | ||
| 472 | - width: ScreenUtil().setWidth(80 * 2), | ||
| 473 | - height: ScreenUtil().setWidth(30 * 2), | ||
| 474 | - fontSize: 32, | ||
| 475 | - isBold: true, | ||
| 476 | - textColor: MyColours.color_ffffff, | ||
| 477 | - radius: ScreenUtil().setWidth(12), | ||
| 478 | - onPressed: () { | ||
| 479 | - if (dcAdduserCode != '' && dcAdduserCode != null) { | ||
| 480 | - DialogUtil.openAlertDialogImage( | ||
| 481 | - context, '请员工使用微信扫一扫添加店员', dcAdduserCode, 660); | ||
| 482 | - } else { | ||
| 483 | - _getWechatQrcode(need: true); | ||
| 484 | - } | ||
| 485 | - }), | 479 | + data?.openid == null || data?.openid == 'null' |
| 480 | + ? RoundButton( | ||
| 481 | + text: '绑定微信', | ||
| 482 | + gradientStart: wechatColor, | ||
| 483 | + gradientEnd: wechatColor, | ||
| 484 | + borderColor: wechatColor, | ||
| 485 | + width: ScreenUtil().setWidth(80 * 2), | ||
| 486 | + height: ScreenUtil().setWidth(30 * 2), | ||
| 487 | + fontSize: 32, | ||
| 488 | + isBold: true, | ||
| 489 | + textColor: MyColours.color_ffffff, | ||
| 490 | + radius: ScreenUtil().setWidth(12), | ||
| 491 | + onPressed: () { | ||
| 492 | + if (dcAdduserCode != '' && dcAdduserCode != null) { | ||
| 493 | + DialogUtil.openAlertDialogImage( | ||
| 494 | + context, '请员工使用微信扫一扫添加店员', dcAdduserCode, 660); | ||
| 495 | + } else { | ||
| 496 | + _getWechatQrcode(need: true); | ||
| 497 | + } | ||
| 498 | + }) | ||
| 499 | + : RoundButton( | ||
| 500 | + text: '更换微信', | ||
| 501 | + gradientStart: wechatColor, | ||
| 502 | + gradientEnd: wechatColor, | ||
| 503 | + borderColor: wechatColor, | ||
| 504 | + width: ScreenUtil().setWidth(80 * 2), | ||
| 505 | + height: ScreenUtil().setWidth(30 * 2), | ||
| 506 | + fontSize: 32, | ||
| 507 | + isBold: true, | ||
| 508 | + textColor: MyColours.color_ffffff, | ||
| 509 | + radius: ScreenUtil().setWidth(12), | ||
| 510 | + onPressed: () { | ||
| 511 | + if (dcAdduserCode != '' && dcAdduserCode != null) { | ||
| 512 | + DialogUtil.openAlertDialogImage( | ||
| 513 | + context, '请员工使用微信扫一扫添加店员', dcAdduserCode, 660); | ||
| 514 | + } else { | ||
| 515 | + _getWechatQrcode(need: true); | ||
| 516 | + } | ||
| 517 | + }), | ||
| 486 | VEmptyView(48), | 518 | VEmptyView(48), |
| 487 | InkWell( | 519 | InkWell( |
| 488 | onTap: () { | 520 | onTap: () { |
| @@ -590,23 +590,25 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> { | @@ -590,23 +590,25 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> { | ||
| 590 | if (newdata.cookList.length == 0) { | 590 | if (newdata.cookList.length == 0) { |
| 591 | newdata.cookList = store.cookList; | 591 | newdata.cookList = store.cookList; |
| 592 | } else { | 592 | } else { |
| 593 | - store.cookList.forEach((storeCook) { | 593 | + store.cookList?.forEach((storeCook) { |
| 594 | String id = storeCook.id; | 594 | String id = storeCook.id; |
| 595 | - newdata.cookList.forEach((cooklist) { | 595 | + newdata.cookList?.forEach((cooklist) { |
| 596 | if (cooklist.id == storeCook.id) { | 596 | if (cooklist.id == storeCook.id) { |
| 597 | id = ''; | 597 | id = ''; |
| 598 | //同一分类 | 598 | //同一分类 |
| 599 | if (cooklist.cookbooklist.length == 0) { | 599 | if (cooklist.cookbooklist.length == 0) { |
| 600 | cooklist.cookbooklist = storeCook.cookbooklist; | 600 | cooklist.cookbooklist = storeCook.cookbooklist; |
| 601 | } else { | 601 | } else { |
| 602 | - cooklist.cookbooklist.forEach((value1) { | ||
| 603 | - storeCook.cookbooklist.forEach((value2) { | 602 | + cooklist.cookbooklist?.forEach((value1) { |
| 603 | + storeCook.cookbooklist?.forEach((value2) { | ||
| 604 | //同一菜品 | 604 | //同一菜品 |
| 605 | if (value1.id == value2.id) { | 605 | if (value1.id == value2.id) { |
| 606 | // value1.amount = value2.amount; | 606 | // value1.amount = value2.amount; |
| 607 | - value1.amountHasOrderList.forEach((value1son) { | 607 | + print(value1); |
| 608 | + print(value2); | ||
| 609 | + value1.amountHasOrderList?.forEach((value1son) { | ||
| 608 | value2.amountHasOrderList | 610 | value2.amountHasOrderList |
| 609 | - .forEach((value2son) { | 611 | + ?.forEach((value2son) { |
| 610 | if (value1son.practiceModel != null && | 612 | if (value1son.practiceModel != null && |
| 611 | value2son.practiceModel != null && | 613 | value2son.practiceModel != null && |
| 612 | value1son.specModel != null && | 614 | value1son.specModel != null && |
| @@ -672,7 +674,9 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> { | @@ -672,7 +674,9 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> { | ||
| 672 | cooklist.cookbooklist.forEach((value1) { | 674 | cooklist.cookbooklist.forEach((value1) { |
| 673 | storeCook.cookbooklist.forEach((value2) { | 675 | storeCook.cookbooklist.forEach((value2) { |
| 674 | //同一菜品 | 676 | //同一菜品 |
| 675 | - if (value1.id == value2.id) { | 677 | + if (value1.id == value2.id && |
| 678 | + value1.amountHasOrderList != null && | ||
| 679 | + value2.amountHasOrderList != null) { | ||
| 676 | // value1.amount = value2.amount; | 680 | // value1.amount = value2.amount; |
| 677 | value1.amountHasOrderList.forEach((value1son) { | 681 | value1.amountHasOrderList.forEach((value1son) { |
| 678 | value2.amountHasOrderList | 682 | value2.amountHasOrderList |
| @@ -1161,7 +1165,9 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> { | @@ -1161,7 +1165,9 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> { | ||
| 1161 | //同一分类 | 1165 | //同一分类 |
| 1162 | cooklist.cookbooklist.forEach((value1) { | 1166 | cooklist.cookbooklist.forEach((value1) { |
| 1163 | storeCook.cookbooklist.forEach((value2) { | 1167 | storeCook.cookbooklist.forEach((value2) { |
| 1164 | - if (value1.id == value2.id) { | 1168 | + if (value1.id == value2.id && |
| 1169 | + value1.amountHasOrderList != null && | ||
| 1170 | + value2.amountHasOrderList != null) { | ||
| 1165 | if (value1.amountHasOrderList.length != | 1171 | if (value1.amountHasOrderList.length != |
| 1166 | value2.amountHasOrderList.length) { | 1172 | value2.amountHasOrderList.length) { |
| 1167 | isChange = true; | 1173 | isChange = true; |
| @@ -1248,10 +1254,13 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> { | @@ -1248,10 +1254,13 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> { | ||
| 1248 | //同一分类 | 1254 | //同一分类 |
| 1249 | cooklist.cookbooklist.forEach((value1) { | 1255 | cooklist.cookbooklist.forEach((value1) { |
| 1250 | storeCook.cookbooklist.forEach((value2) { | 1256 | storeCook.cookbooklist.forEach((value2) { |
| 1251 | - if (value1.id == value2.id) { | 1257 | + if (value1.id == value2.id && |
| 1258 | + value1.amountHasOrderList != null && | ||
| 1259 | + value2.amountHasOrderList != null) { | ||
| 1252 | // if (value1.amount != value2.amount) { | 1260 | // if (value1.amount != value2.amount) { |
| 1253 | // isChange = true; | 1261 | // isChange = true; |
| 1254 | // } | 1262 | // } |
| 1263 | + | ||
| 1255 | if (value1.amountHasOrderList.length != | 1264 | if (value1.amountHasOrderList.length != |
| 1256 | value2.amountHasOrderList.length) { | 1265 | value2.amountHasOrderList.length) { |
| 1257 | isChange = true; | 1266 | isChange = true; |
| @@ -1298,6 +1307,10 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> { | @@ -1298,6 +1307,10 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> { | ||
| 1298 | newdata.amountHasOrderList[0].amount; | 1307 | newdata.amountHasOrderList[0].amount; |
| 1299 | memberPriceSum += double.parse(store.member_price) * | 1308 | memberPriceSum += double.parse(store.member_price) * |
| 1300 | newdata.amountHasOrderList[0].amount; | 1309 | newdata.amountHasOrderList[0].amount; |
| 1310 | + // priceSum += double.parse(store.specCan[0].price) * | ||
| 1311 | + // newdata.amountHasOrderList[0].amount; | ||
| 1312 | + // memberPriceSum += double.parse(store.specCan[0].memberPrice) * | ||
| 1313 | + // newdata.amountHasOrderList[0].amount; | ||
| 1301 | } else { | 1314 | } else { |
| 1302 | //单品 未测试---------可能错误++++++ 套餐内菜品未改变,使用套餐原本菜品和数量计算价格 | 1315 | //单品 未测试---------可能错误++++++ 套餐内菜品未改变,使用套餐原本菜品和数量计算价格 |
| 1303 | newdata.cookList.forEach((cooklist) { | 1316 | newdata.cookList.forEach((cooklist) { |
| @@ -1425,7 +1438,7 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> { | @@ -1425,7 +1438,7 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> { | ||
| 1425 | menuSunModel.amountHasOrderList.removeAt(i); | 1438 | menuSunModel.amountHasOrderList.removeAt(i); |
| 1426 | } | 1439 | } |
| 1427 | _calculatePrice(); | 1440 | _calculatePrice(); |
| 1428 | - if (menuSunModel.amount == 0) { | 1441 | + if (menuSunModel.amountHasOrderList.length == 0) { |
| 1429 | _initMenuModelForManagerData(); | 1442 | _initMenuModelForManagerData(); |
| 1430 | } | 1443 | } |
| 1431 | 1444 |
| @@ -55,10 +55,10 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> { | @@ -55,10 +55,10 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> { | ||
| 55 | super.initState(); | 55 | super.initState(); |
| 56 | pnumController.text = widget.detailEntity.actual_pum; | 56 | pnumController.text = widget.detailEntity.actual_pum; |
| 57 | WidgetsBinding.instance.addPostFrameCallback((_) async { | 57 | WidgetsBinding.instance.addPostFrameCallback((_) async { |
| 58 | - _getPlanCookByRid(); | 58 | + await _getPlanCookByRid(); |
| 59 | _getPageMenuData(); | 59 | _getPageMenuData(); |
| 60 | - bus.on("refresh_order_advance_home", (args) { | ||
| 61 | - _getPlanCookByRid(); | 60 | + bus.on("refresh_order_advance_home", (args) async { |
| 61 | + await _getPlanCookByRid(); | ||
| 62 | _getPageMenuData(); | 62 | _getPageMenuData(); |
| 63 | }); | 63 | }); |
| 64 | }); | 64 | }); |
| @@ -145,12 +145,14 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> { | @@ -145,12 +145,14 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> { | ||
| 145 | } | 145 | } |
| 146 | 146 | ||
| 147 | _getPageMenuData() async { | 147 | _getPageMenuData() async { |
| 148 | - Future.wait<bool>( | ||
| 149 | - [_getCookbookByClass(showLoading: true), _getPlanCookList()]) | ||
| 150 | - .then((results) { | 148 | + Future.wait<bool>([ |
| 149 | + _getCookbookByClass(showLoading: true), | ||
| 150 | + _getPlanCookList(), | ||
| 151 | + _getSellerOften() | ||
| 152 | + ]).then((results) { | ||
| 151 | print(results[0]); | 153 | print(results[0]); |
| 152 | 154 | ||
| 153 | - if (results[0] && results[1]) { | 155 | + if (results[0] && results[1] && results[2]) { |
| 154 | _planDishProvider.menuModelForManager = | 156 | _planDishProvider.menuModelForManager = |
| 155 | List.from(_planDishProvider.menuModel); | 157 | List.from(_planDishProvider.menuModel); |
| 156 | //单个菜品 | 158 | //单个菜品 |
| @@ -231,6 +233,116 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> { | @@ -231,6 +233,116 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> { | ||
| 231 | _planDishProvider.menuModelForManager | 233 | _planDishProvider.menuModelForManager |
| 232 | .insert(0, menuModelSetMeal); //添加套餐 | 234 | .insert(0, menuModelSetMeal); //添加套餐 |
| 233 | 235 | ||
| 236 | + //店内常点数据 | ||
| 237 | + MenuModel menuModelStoreOften = MenuModel(); | ||
| 238 | + menuModelStoreOften.className = '店内常点'; | ||
| 239 | + menuModelStoreOften.isChange = false; | ||
| 240 | + // List<MenuSunModel> cookListStoreOften = []; | ||
| 241 | + | ||
| 242 | + List<MenuSunModel> sellerOftendata = | ||
| 243 | + _planDishProvider.sellerOftendataTemp; | ||
| 244 | + | ||
| 245 | + // if(sellerOftendata == null || sellerOftendata.length == 0){ | ||
| 246 | + // //接口请求没有值 | ||
| 247 | + // if(widget.planCookByRidSunModel.oftenList.length >0){ | ||
| 248 | + | ||
| 249 | + // } | ||
| 250 | + // } | ||
| 251 | + | ||
| 252 | + sellerOftendata.forEach((element) { | ||
| 253 | + // if (element.status == '1') { | ||
| 254 | + // MenuSunModel menuSunModel = MenuSunModel(); | ||
| 255 | + // menuSunModel.id = element.id; | ||
| 256 | + // menuSunModel.name = element.name; | ||
| 257 | + // // menuSunModel.price = element.menuPrice; | ||
| 258 | + // menuSunModel.price = element.price; | ||
| 259 | + // menuSunModel.member_price = element.member_price ?? ""; | ||
| 260 | + // menuSunModel.unit = '份'; | ||
| 261 | + // menuSunModel.amount = element.amount; | ||
| 262 | + // menuSunModel.cookList = element.cookList; | ||
| 263 | + | ||
| 264 | + if (_planDishProvider.planCookByRidSunModel != null && | ||
| 265 | + _planDishProvider.planCookByRidSunModel.oftenList != null && | ||
| 266 | + _planDishProvider.planCookByRidSunModel.oftenList.length > 0) { | ||
| 267 | + // //店内常点数据对应 | ||
| 268 | + _planDishProvider.planCookByRidSunModel.oftenList | ||
| 269 | + .forEach((package) { | ||
| 270 | + if (package.id == element.id) { | ||
| 271 | + //同一个套餐 | ||
| 272 | + element.amountHasOrderList = package.amountHasOrderList; | ||
| 273 | + element.cookList.forEach((oldcooklist) { | ||
| 274 | + package.cookList.forEach((newcooklist) { | ||
| 275 | + if (oldcooklist.id == newcooklist.id) { | ||
| 276 | + //同一菜品分类 | ||
| 277 | + oldcooklist.cookbooklist.forEach((oldcook) { | ||
| 278 | + newcooklist.cookbooklist.forEach((newcook) { | ||
| 279 | + if (oldcook.id == newcook.id) { | ||
| 280 | + oldcook.amountHasOrderList = | ||
| 281 | + newcook.amountHasOrderList; | ||
| 282 | + // newcook.amountHasOrderList.forEach((element1) { | ||
| 283 | + // carSum += element1.amount * | ||
| 284 | + // package.amountHasOrderList[0].amount; | ||
| 285 | + // }); | ||
| 286 | + // oldcook.amount = newcook.amount; | ||
| 287 | + // carSum += newcook.amount; | ||
| 288 | + | ||
| 289 | + // if (oldcook | ||
| 290 | + // .amountHasOrderList[0].practiceModel != | ||
| 291 | + // null && | ||
| 292 | + // newcook.amountHasOrderList[0].practiceModel != | ||
| 293 | + // null && | ||
| 294 | + // oldcook.amountHasOrderList[0].specModel != | ||
| 295 | + // null && | ||
| 296 | + // newcook.amountHasOrderList[0].specModel != | ||
| 297 | + // null) { | ||
| 298 | + // if (oldcook.amountHasOrderList[0].practiceModel | ||
| 299 | + // .practice == | ||
| 300 | + // newcook.amountHasOrderList[0] | ||
| 301 | + // .practiceModel.practice && | ||
| 302 | + // oldcook.amountHasOrderList[0].specModel | ||
| 303 | + // .specid == | ||
| 304 | + // newcook.amountHasOrderList[0].specModel | ||
| 305 | + // .specid) { | ||
| 306 | + // oldcook.amountHasOrderList[0].amount = | ||
| 307 | + // newcook.amountHasOrderList[0].amount; | ||
| 308 | + // newcook.amountHasOrderList.forEach((element) { | ||
| 309 | + // carSum += element.amount; | ||
| 310 | + // }); | ||
| 311 | + // } | ||
| 312 | + // } else if (oldcook | ||
| 313 | + // .amountHasOrderList[0].practiceModel == | ||
| 314 | + // null && | ||
| 315 | + // oldcook.amountHasOrderList[0].specModel != | ||
| 316 | + // null) { | ||
| 317 | + // if (oldcook | ||
| 318 | + // .amountHasOrderList[0].specModel.specid == | ||
| 319 | + // newcook | ||
| 320 | + // .amountHasOrderList[0].specModel.specid) { | ||
| 321 | + // oldcook.amountHasOrderList[0].amount = | ||
| 322 | + // newcook.amountHasOrderList[0].amount; | ||
| 323 | + // newcook.amountHasOrderList.forEach((element) { | ||
| 324 | + // carSum += element.amount; | ||
| 325 | + // }); | ||
| 326 | + // } | ||
| 327 | + // } | ||
| 328 | + } | ||
| 329 | + }); | ||
| 330 | + }); | ||
| 331 | + } | ||
| 332 | + }); | ||
| 333 | + }); | ||
| 334 | + } | ||
| 335 | + }); | ||
| 336 | + } | ||
| 337 | + | ||
| 338 | + // cookListStoreOften.add(menuSunModel); | ||
| 339 | + // } | ||
| 340 | + }); | ||
| 341 | + menuModelStoreOften.cookbooklist = sellerOftendata; | ||
| 342 | + | ||
| 343 | + _planDishProvider.menuModelForManager | ||
| 344 | + .insert(1, menuModelStoreOften); //店内常点数据 | ||
| 345 | + | ||
| 234 | MenuModel menuModelPlanDish = MenuModel(); | 346 | MenuModel menuModelPlanDish = MenuModel(); |
| 235 | menuModelPlanDish.className = '我的排菜'; | 347 | menuModelPlanDish.className = '我的排菜'; |
| 236 | menuModelPlanDish.isChange = false; | 348 | menuModelPlanDish.isChange = false; |
| @@ -282,7 +394,7 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> { | @@ -282,7 +394,7 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> { | ||
| 282 | menuModelPlanDish.cookbooklist = cookListPlanDish; | 394 | menuModelPlanDish.cookbooklist = cookListPlanDish; |
| 283 | 395 | ||
| 284 | _planDishProvider.menuModelForManager | 396 | _planDishProvider.menuModelForManager |
| 285 | - .insert(1, menuModelPlanDish); //添加排菜 | 397 | + .insert(2, menuModelPlanDish); //添加排菜 |
| 286 | 398 | ||
| 287 | MenuModel menuModelShort = MenuModel(); | 399 | MenuModel menuModelShort = MenuModel(); |
| 288 | menuModelShort.className = '临时加菜'; | 400 | menuModelShort.className = '临时加菜'; |
| @@ -381,6 +493,29 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> { | @@ -381,6 +493,29 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> { | ||
| 381 | // } | 493 | // } |
| 382 | } | 494 | } |
| 383 | 495 | ||
| 496 | + ///获取商家店内常点 | ||
| 497 | + | ||
| 498 | + Future<bool> _getSellerOften({bool isShowLoading = true}) async { | ||
| 499 | + //没有人数,数据为空 | ||
| 500 | + _planDishProvider.sellerOftendata = []; | ||
| 501 | + | ||
| 502 | + if (_planDishProvider.planCookByRidSunModel.pnum != '' && | ||
| 503 | + _planDishProvider.planCookByRidSunModel.pnum == null) { | ||
| 504 | + Map<String, String> params = { | ||
| 505 | + "pnum": _planDishProvider.planCookByRidSunModel.pnum, | ||
| 506 | + "sid": Provider.of<UserModel>(context, listen: false).user.sellerid, | ||
| 507 | + }; | ||
| 508 | + bool success = await _planDishProvider.getSellerOften(context, params, | ||
| 509 | + showLoading: isShowLoading); | ||
| 510 | + if (success) { | ||
| 511 | + return true; | ||
| 512 | + } else { | ||
| 513 | + return false; | ||
| 514 | + } | ||
| 515 | + } | ||
| 516 | + return true; | ||
| 517 | + } | ||
| 518 | + | ||
| 384 | ///排菜/套餐列表 | 519 | ///排菜/套餐列表 |
| 385 | 520 | ||
| 386 | Future<bool> _getPlanCookList({bool isShowLoading = true}) async { | 521 | Future<bool> _getPlanCookList({bool isShowLoading = true}) async { |
| @@ -1219,6 +1354,69 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> { | @@ -1219,6 +1354,69 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> { | ||
| 1219 | } | 1354 | } |
| 1220 | }); | 1355 | }); |
| 1221 | } else if (element.className == '店内常点') { | 1356 | } else if (element.className == '店内常点') { |
| 1357 | + element.cookbooklist.forEach((value) { | ||
| 1358 | + if (value.amountHasOrderList != null && | ||
| 1359 | + value.amountHasOrderList.length > 0) { | ||
| 1360 | + // if (!isChange) { | ||
| 1361 | + // priceSum += double.parse(value.price) * value.amount; | ||
| 1362 | + // memberPriceSum += | ||
| 1363 | + // double.parse(value.member_price) * value.amount; | ||
| 1364 | + // } | ||
| 1365 | + //选中了该套餐 | ||
| 1366 | + //把套餐中没有选中的菜品踢出去 | ||
| 1367 | + MenuSunModel menuSunModel = MenuSunModel(); | ||
| 1368 | + List<MenuModel> moreMenu = []; | ||
| 1369 | + int moreSum = 0; | ||
| 1370 | + //遍历套餐中的菜分类 | ||
| 1371 | + value.cookList.forEach((cook) { | ||
| 1372 | + //遍历套餐中的具体菜品 | ||
| 1373 | + List<MenuSunModel> cooklistSun = []; | ||
| 1374 | + int cookSum = 0; | ||
| 1375 | + cook.cookbooklist.forEach((cookSun) { | ||
| 1376 | + // 具体菜品 | ||
| 1377 | + | ||
| 1378 | + if (cookSun.amountHasOrderList != | ||
| 1379 | + null && | ||
| 1380 | + cookSun.amountHasOrderList.length > | ||
| 1381 | + 0) { | ||
| 1382 | + //当前菜品已选择 | ||
| 1383 | + // moreSum += cookSun.amount; | ||
| 1384 | + cookSun.amountHasOrderList | ||
| 1385 | + .forEach((element) { | ||
| 1386 | + MenuSunModel cooksunTemp = | ||
| 1387 | + MenuSunModel.fromJson2( | ||
| 1388 | + cookSun.toJson()); | ||
| 1389 | + cookSum += element.amount; | ||
| 1390 | + // carSum += element.amount; | ||
| 1391 | + cooksunTemp.amountHasOrderList = []; | ||
| 1392 | + cooksunTemp.amountHasOrderList | ||
| 1393 | + .add(element); | ||
| 1394 | + cooklistSun.add(cooksunTemp); | ||
| 1395 | + }); | ||
| 1396 | + | ||
| 1397 | + // if (isChange) { | ||
| 1398 | + // priceSum += double.parse(cookSun.price) * cookSun.amount; | ||
| 1399 | + // memberPriceSum += | ||
| 1400 | + // double.parse(cookSun.member_price) * cookSun.amount; | ||
| 1401 | + // } | ||
| 1402 | + | ||
| 1403 | + // carSum += cookSun.amount; | ||
| 1404 | + // cooklistSun.add(cookSun); | ||
| 1405 | + } | ||
| 1406 | + }); | ||
| 1407 | + if (cooklistSun.length > 0) { | ||
| 1408 | + cook.cookbooklist = cooklistSun; | ||
| 1409 | + cook.allSum = cookSum; | ||
| 1410 | + moreMenu.add(cook); | ||
| 1411 | + value.cookList = moreMenu; | ||
| 1412 | + } | ||
| 1413 | + }); | ||
| 1414 | + value.moreSum = | ||
| 1415 | + value.amountHasOrderList[0].amount; | ||
| 1416 | + value.channel = '3'; // | ||
| 1417 | + dataLocalShowMore.add(value); | ||
| 1418 | + } | ||
| 1419 | + }); | ||
| 1222 | // //如果是我的排菜,则看cooklist有没有选中的 | 1420 | // //如果是我的排菜,则看cooklist有没有选中的 |
| 1223 | 1421 | ||
| 1224 | // bool hasmMine = | 1422 | // bool hasmMine = |
| @@ -697,6 +697,10 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> { | @@ -697,6 +697,10 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> { | ||
| 697 | element.amountHasOrderList[0].amount; | 697 | element.amountHasOrderList[0].amount; |
| 698 | memberPriceSum += double.parse(store.member_price) * | 698 | memberPriceSum += double.parse(store.member_price) * |
| 699 | element.amountHasOrderList[0].amount; | 699 | element.amountHasOrderList[0].amount; |
| 700 | + // priceSum += double.parse(store.specCan[0].price) * | ||
| 701 | + // element.amountHasOrderList[0].amount; | ||
| 702 | + // memberPriceSum += double.parse(store.specCan[0].memberPrice) * | ||
| 703 | + // element.amountHasOrderList[0].amount; | ||
| 700 | } else { | 704 | } else { |
| 701 | //单品 | 705 | //单品 |
| 702 | // element.cookList.forEach((cooklist) { | 706 | // element.cookList.forEach((cooklist) { |
| @@ -9,6 +9,7 @@ import 'package:easy_contact_picker/easy_contact_picker.dart'; | @@ -9,6 +9,7 @@ import 'package:easy_contact_picker/easy_contact_picker.dart'; | ||
| 9 | import 'package:flutter/material.dart'; | 9 | import 'package:flutter/material.dart'; |
| 10 | import 'package:flutter/services.dart'; | 10 | import 'package:flutter/services.dart'; |
| 11 | import 'package:flutter_screenutil/flutter_screenutil.dart'; | 11 | import 'package:flutter_screenutil/flutter_screenutil.dart'; |
| 12 | +import 'package:flutter_sms/flutter_sms.dart'; | ||
| 12 | import 'package:one_key/constant/state.dart'; | 13 | import 'package:one_key/constant/state.dart'; |
| 13 | import 'package:one_key/models/area.dart'; | 14 | import 'package:one_key/models/area.dart'; |
| 14 | import 'package:one_key/models/coupon_model.dart'; | 15 | import 'package:one_key/models/coupon_model.dart'; |
| @@ -278,7 +279,25 @@ class TableManagerPageState extends State<TableManagerPage> { | @@ -278,7 +279,25 @@ class TableManagerPageState extends State<TableManagerPage> { | ||
| 278 | }; | 279 | }; |
| 279 | smsContent = await Provider.of<SmsModel>(context, listen: false) | 280 | smsContent = await Provider.of<SmsModel>(context, listen: false) |
| 280 | .getSmsContent(context, params); | 281 | .getSmsContent(context, params); |
| 281 | - bool sucess = await Sendsms.onSendSMS(phone, smsContent); | 282 | + // bool sucess = await Sendsms.onSendSMS(phone, smsContent); |
| 283 | + if (Platform.isIOS) { | ||
| 284 | + try { | ||
| 285 | + String _result = | ||
| 286 | + await sendSMS(message: smsContent, recipients: [phone]); | ||
| 287 | + print(_result); | ||
| 288 | + } catch (error) { | ||
| 289 | + print(error.toString()); | ||
| 290 | + } | ||
| 291 | + } else { | ||
| 292 | + print('确定发送'); | ||
| 293 | + // String phoneNumber = "18161963378;18729572142"; | ||
| 294 | + | ||
| 295 | + // await Sendsms.onGetPermission(); | ||
| 296 | + | ||
| 297 | + // if (await Sendsms.hasPermission()) { | ||
| 298 | + bool suceess = await Sendsms.onSendSMS(phone, smsContent); | ||
| 299 | + print(suceess); | ||
| 300 | + } | ||
| 282 | } | 301 | } |
| 283 | 302 | ||
| 284 | ///获取短信余量 | 303 | ///获取短信余量 |
| @@ -50,11 +50,12 @@ class PlanDishProvider extends ChangeNotifier { | @@ -50,11 +50,12 @@ class PlanDishProvider extends ChangeNotifier { | ||
| 50 | ///分类下所有菜品列表(1.传orderid顾客端获取带订单信息的 否则不传 | 50 | ///分类下所有菜品列表(1.传orderid顾客端获取带订单信息的 否则不传 |
| 51 | 51 | ||
| 52 | getCookbookByClass(BuildContext context, Map<String, String> params, | 52 | getCookbookByClass(BuildContext context, Map<String, String> params, |
| 53 | - {showLoading = false,selfDismiss= false}) async { | 53 | + {showLoading = false, selfDismiss = false}) async { |
| 54 | BaseResp<dynamic> baseResp = await DioUtil() | 54 | BaseResp<dynamic> baseResp = await DioUtil() |
| 55 | .request<dynamic>(context, Method.get, HttpUrl.get_cookbook_by_class, | 55 | .request<dynamic>(context, Method.get, HttpUrl.get_cookbook_by_class, |
| 56 | data: params, | 56 | data: params, |
| 57 | - showLoading: pageState == PageState.Loading ? false : showLoading,selfDismiss: selfDismiss) | 57 | + showLoading: pageState == PageState.Loading ? false : showLoading, |
| 58 | + selfDismiss: selfDismiss) | ||
| 58 | .catchError((error) { | 59 | .catchError((error) { |
| 59 | print(error.toString()); | 60 | print(error.toString()); |
| 60 | if (error is MyError) { | 61 | if (error is MyError) { |
| @@ -299,7 +300,7 @@ class PlanDishProvider extends ChangeNotifier { | @@ -299,7 +300,7 @@ class PlanDishProvider extends ChangeNotifier { | ||
| 299 | ///排菜/套餐列表 | 300 | ///排菜/套餐列表 |
| 300 | 301 | ||
| 301 | Future<bool> getPlanCookList(BuildContext context, Map<String, String> params, | 302 | Future<bool> getPlanCookList(BuildContext context, Map<String, String> params, |
| 302 | - {showLoading = false,selfDismiss = false}) async { | 303 | + {showLoading = false, selfDismiss = false}) async { |
| 303 | BaseResp<dynamic> baseResp = await DioUtil() | 304 | BaseResp<dynamic> baseResp = await DioUtil() |
| 304 | .request<dynamic>(context, Method.get, HttpUrl.get_plan_cook_list, | 305 | .request<dynamic>(context, Method.get, HttpUrl.get_plan_cook_list, |
| 305 | data: params, | 306 | data: params, |
| @@ -307,7 +308,8 @@ class PlanDishProvider extends ChangeNotifier { | @@ -307,7 +308,8 @@ class PlanDishProvider extends ChangeNotifier { | ||
| 307 | pageStateHome == PageState.Loading || | 308 | pageStateHome == PageState.Loading || |
| 308 | pageStateMine == PageState.Loading | 309 | pageStateMine == PageState.Loading |
| 309 | ? false | 310 | ? false |
| 310 | - : showLoading,selfDismiss:selfDismiss) | 311 | + : showLoading, |
| 312 | + selfDismiss: selfDismiss) | ||
| 311 | .catchError((error) { | 313 | .catchError((error) { |
| 312 | print(error.toString()); | 314 | print(error.toString()); |
| 313 | if (error is MyError) {} | 315 | if (error is MyError) {} |
| @@ -371,12 +373,13 @@ class PlanDishProvider extends ChangeNotifier { | @@ -371,12 +373,13 @@ class PlanDishProvider extends ChangeNotifier { | ||
| 371 | sellerOftenSunModel.forEach((element) { | 373 | sellerOftenSunModel.forEach((element) { |
| 372 | if (element.cooklist != null) { | 374 | if (element.cooklist != null) { |
| 373 | // SellerOftenSunModel | 375 | // SellerOftenSunModel |
| 376 | + double member_price = 0; | ||
| 374 | MenuSunModel menuSunModel = MenuSunModel(); | 377 | MenuSunModel menuSunModel = MenuSunModel(); |
| 375 | menuSunModel.id = element.id; | 378 | menuSunModel.id = element.id; |
| 376 | menuSunModel.name = '${element.pnum}人'; | 379 | menuSunModel.name = '${element.pnum}人'; |
| 377 | // menuSunModel.price = element.menuPrice; | 380 | // menuSunModel.price = element.menuPrice; |
| 378 | menuSunModel.price = element.price; | 381 | menuSunModel.price = element.price; |
| 379 | - menuSunModel.member_price = element.memberPrice ?? element.price; | 382 | + // menuSunModel.member_price = element.memberPrice ?? element.price; |
| 380 | menuSunModel.unit = '份'; | 383 | menuSunModel.unit = '份'; |
| 381 | // | 384 | // |
| 382 | 385 | ||
| @@ -397,11 +400,43 @@ class PlanDishProvider extends ChangeNotifier { | @@ -397,11 +400,43 @@ class PlanDishProvider extends ChangeNotifier { | ||
| 397 | cookData.sellerid = cook.sid; | 400 | cookData.sellerid = cook.sid; |
| 398 | cookData.cid = cook.classid; | 401 | cookData.cid = cook.classid; |
| 399 | cookData.price = cook.price; | 402 | cookData.price = cook.price; |
| 400 | - cookData.member_price = cook.memberPrice ?? cook.price; | 403 | + // cookData.member_price = cook.memberPrice ?? cook.price; |
| 404 | + cookData.member_price = | ||
| 405 | + cook.memberPrice == null || cook.memberPrice == '0' | ||
| 406 | + ? cook.price | ||
| 407 | + : cook.memberPrice; | ||
| 408 | + member_price += double.parse(cookData.member_price); | ||
| 409 | + | ||
| 401 | cookData.name = cook.name; | 410 | cookData.name = cook.name; |
| 402 | cookData.unit = cook.unit; | 411 | cookData.unit = cook.unit; |
| 403 | cookData.image = cook.image; | 412 | cookData.image = cook.image; |
| 404 | - cookData.amount = cook.amount; | 413 | + // cookData.amount = cook.amount; |
| 414 | + | ||
| 415 | + cookData.amountHasOrderList = []; | ||
| 416 | + //价格只有一个,做法只有一个或者没有,兼容旧数据 | ||
| 417 | + cookData.amountHasOrderList = []; | ||
| 418 | + //价格只有一个,做法只有一个或者没有,兼容旧数据 | ||
| 419 | + AmountHasOrder amountHasOrder = AmountHasOrder(); | ||
| 420 | + amountHasOrder.amount = cook.amount; | ||
| 421 | + | ||
| 422 | + SpecModel specModel = SpecModel(); | ||
| 423 | + specModel.price = cook.price ?? ''; | ||
| 424 | + specModel.memberPrice = | ||
| 425 | + cook.memberPrice == null || cook.memberPrice == '0' | ||
| 426 | + ? cook.price | ||
| 427 | + : cook.memberPrice; | ||
| 428 | + specModel.specs = cook.unit ?? ""; | ||
| 429 | + amountHasOrder.specModel = specModel; | ||
| 430 | + PracticeModel practiceModel = PracticeModel(); | ||
| 431 | + practiceModel.cid = cook.cookbookid; | ||
| 432 | + practiceModel.id = cook.practiceid; | ||
| 433 | + practiceModel.practice = cook.practice; | ||
| 434 | + practiceModel.name = cook.practiceName; | ||
| 435 | + | ||
| 436 | + // practiceModel.practice =vvvvvv | ||
| 437 | + amountHasOrder.practiceModel = practiceModel; | ||
| 438 | + | ||
| 439 | + cookData.amountHasOrderList.add(amountHasOrder); | ||
| 405 | 440 | ||
| 406 | // "specid": null, | 441 | // "specid": null, |
| 407 | // "practiceid": null, | 442 | // "practiceid": null, |
| @@ -413,6 +448,15 @@ class PlanDishProvider extends ChangeNotifier { | @@ -413,6 +448,15 @@ class PlanDishProvider extends ChangeNotifier { | ||
| 413 | cookF.add(menuModel); | 448 | cookF.add(menuModel); |
| 414 | }); | 449 | }); |
| 415 | 450 | ||
| 451 | + SpecModel specModel = SpecModel(); | ||
| 452 | + specModel.status = '1'; | ||
| 453 | + specModel.memberPrice = member_price.toStringAsFixed(2); | ||
| 454 | + specModel.price = element.price; | ||
| 455 | + specModel.specs = '份'; | ||
| 456 | + menuSunModel.specCan = []; | ||
| 457 | + menuSunModel.member_price = member_price.toStringAsFixed(2); | ||
| 458 | + menuSunModel.specCan.add(specModel); | ||
| 459 | + | ||
| 416 | menuSunModel.cookList = cookF; | 460 | menuSunModel.cookList = cookF; |
| 417 | 461 | ||
| 418 | data.add(menuSunModel); | 462 | data.add(menuSunModel); |
| @@ -426,13 +470,14 @@ class PlanDishProvider extends ChangeNotifier { | @@ -426,13 +470,14 @@ class PlanDishProvider extends ChangeNotifier { | ||
| 426 | sellerOftenSunModel.forEach((element) { | 470 | sellerOftenSunModel.forEach((element) { |
| 427 | if (element.cooklist != null) { | 471 | if (element.cooklist != null) { |
| 428 | // SellerOftenSunModel | 472 | // SellerOftenSunModel |
| 473 | + double member_price = 0; | ||
| 429 | MenuSunModel menuSunModel = MenuSunModel(); | 474 | MenuSunModel menuSunModel = MenuSunModel(); |
| 430 | menuSunModel.id = element.id; | 475 | menuSunModel.id = element.id; |
| 431 | menuSunModel.name = '${element.pnum}人'; | 476 | menuSunModel.name = '${element.pnum}人'; |
| 432 | // menuSunModel.price = element.menuPrice; | 477 | // menuSunModel.price = element.menuPrice; |
| 433 | - menuSunModel.price = element.price; | ||
| 434 | - menuSunModel.member_price = element.memberPrice ?? element.price; | ||
| 435 | - menuSunModel.unit = '份'; | 478 | + // menuSunModel.price = element.price; |
| 479 | + // menuSunModel.member_price = element.memberPrice ?? element.price; | ||
| 480 | + // menuSunModel.unit = '份'; | ||
| 436 | // | 481 | // |
| 437 | 482 | ||
| 438 | List<MenuModel> cookF = []; | 483 | List<MenuModel> cookF = []; |
| @@ -446,17 +491,45 @@ class PlanDishProvider extends ChangeNotifier { | @@ -446,17 +491,45 @@ class PlanDishProvider extends ChangeNotifier { | ||
| 446 | menuModel.status = '1'; | 491 | menuModel.status = '1'; |
| 447 | menuModel.classType = null; | 492 | menuModel.classType = null; |
| 448 | menuModel.cookbooklist = []; | 493 | menuModel.cookbooklist = []; |
| 494 | + | ||
| 449 | value.cooklist.forEach((cook) { | 495 | value.cooklist.forEach((cook) { |
| 450 | MenuSunModel cookData = MenuSunModel(); | 496 | MenuSunModel cookData = MenuSunModel(); |
| 451 | cookData.id = cook.cookbookid; | 497 | cookData.id = cook.cookbookid; |
| 452 | cookData.sellerid = cook.sid; | 498 | cookData.sellerid = cook.sid; |
| 453 | cookData.cid = cook.classid; | 499 | cookData.cid = cook.classid; |
| 454 | cookData.price = cook.price; | 500 | cookData.price = cook.price; |
| 455 | - cookData.member_price = cook.memberPrice ?? cook.price; | 501 | + cookData.member_price = |
| 502 | + cook.memberPrice == null || cook.memberPrice == '0' | ||
| 503 | + ? cook.price | ||
| 504 | + : cook.memberPrice; | ||
| 505 | + member_price += double.parse(cookData.member_price); | ||
| 456 | cookData.name = cook.name; | 506 | cookData.name = cook.name; |
| 457 | cookData.unit = cook.unit; | 507 | cookData.unit = cook.unit; |
| 458 | cookData.image = cook.image; | 508 | cookData.image = cook.image; |
| 459 | - cookData.amount = cook.amount; | 509 | + // cookData.amount = cook.amount; |
| 510 | + cookData.amountHasOrderList = []; | ||
| 511 | + //价格只有一个,做法只有一个或者没有,兼容旧数据 | ||
| 512 | + AmountHasOrder amountHasOrder = AmountHasOrder(); | ||
| 513 | + amountHasOrder.amount = cook.amount; | ||
| 514 | + | ||
| 515 | + SpecModel specModel = SpecModel(); | ||
| 516 | + specModel.price = cook.price ?? ''; | ||
| 517 | + specModel.memberPrice = | ||
| 518 | + cook.memberPrice == null || cook.memberPrice == '0' | ||
| 519 | + ? cook.price | ||
| 520 | + : cook.memberPrice; | ||
| 521 | + specModel.specs = cook.unit ?? ""; | ||
| 522 | + amountHasOrder.specModel = specModel; | ||
| 523 | + PracticeModel practiceModel = PracticeModel(); | ||
| 524 | + practiceModel.cid = cook.cookbookid; | ||
| 525 | + practiceModel.id = cook.practiceid; | ||
| 526 | + practiceModel.practice = cook.practice; | ||
| 527 | + practiceModel.name = cook.practiceName; | ||
| 528 | + | ||
| 529 | + // practiceModel.practice =vvvvvv | ||
| 530 | + amountHasOrder.practiceModel = practiceModel; | ||
| 531 | + | ||
| 532 | + cookData.amountHasOrderList.add(amountHasOrder); | ||
| 460 | 533 | ||
| 461 | // "specid": null, | 534 | // "specid": null, |
| 462 | // "practiceid": null, | 535 | // "practiceid": null, |
| @@ -468,6 +541,15 @@ class PlanDishProvider extends ChangeNotifier { | @@ -468,6 +541,15 @@ class PlanDishProvider extends ChangeNotifier { | ||
| 468 | cookF.add(menuModel); | 541 | cookF.add(menuModel); |
| 469 | }); | 542 | }); |
| 470 | 543 | ||
| 544 | + SpecModel specModel = SpecModel(); | ||
| 545 | + specModel.status = '1'; | ||
| 546 | + specModel.memberPrice = member_price.toStringAsFixed(2); | ||
| 547 | + menuSunModel.member_price = member_price.toStringAsFixed(2); | ||
| 548 | + specModel.price = element.price; | ||
| 549 | + specModel.specs = '份'; | ||
| 550 | + menuSunModel.specCan = []; | ||
| 551 | + menuSunModel.specCan.add(specModel); | ||
| 552 | + | ||
| 471 | menuSunModel.cookList = cookF; | 553 | menuSunModel.cookList = cookF; |
| 472 | 554 | ||
| 473 | datatemp.add(menuSunModel); | 555 | datatemp.add(menuSunModel); |
| @@ -2357,6 +2357,7 @@ var orderEditListShowPageHandle = new Handler( | @@ -2357,6 +2357,7 @@ var orderEditListShowPageHandle = new Handler( | ||
| 2357 | oftenList.add(MenuSunModel.fromJson2(item)); | 2357 | oftenList.add(MenuSunModel.fromJson2(item)); |
| 2358 | } | 2358 | } |
| 2359 | } | 2359 | } |
| 2360 | + | ||
| 2360 | 2361 | ||
| 2361 | String planPrice = params["planPrice"].first; | 2362 | String planPrice = params["planPrice"].first; |
| 2362 | 2363 |
-
Please register or login to post a comment