Commit c06fcd52eb531d8ba4c0d79db3639fa953e2710a

Authored by wdn127929
1 parent f16782e9

店内常点

@@ -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