Commit bf55900021c1f162bba1a350f628a7e64c1d09fa

Authored by wdn127929
1 parent 27e2096c

进详情编辑

@@ -29,22 +29,22 @@ class PlanCookListModel { @@ -29,22 +29,22 @@ class PlanCookListModel {
29 } 29 }
30 30
31 class PlanCookListSunModel { 31 class PlanCookListSunModel {
32 - List<SunList> packageList;  
33 - List<SunList> plancookList; 32 + List<SunListPlan> packageList;
  33 + List<SunListPlan> plancookList;
34 34
35 PlanCookListSunModel({this.packageList, this.plancookList}); 35 PlanCookListSunModel({this.packageList, this.plancookList});
36 36
37 PlanCookListSunModel.fromJson(Map<String, dynamic> json) { 37 PlanCookListSunModel.fromJson(Map<String, dynamic> json) {
38 if (json['package_list'] != null) { 38 if (json['package_list'] != null) {
39 - packageList = <SunList>[]; 39 + packageList = <SunListPlan>[];
40 json['package_list'].forEach((v) { 40 json['package_list'].forEach((v) {
41 - packageList.add(new SunList.fromJson(v)); 41 + packageList.add(new SunListPlan.fromJson(v));
42 }); 42 });
43 } 43 }
44 if (json['plancook_list'] != null) { 44 if (json['plancook_list'] != null) {
45 - plancookList = <SunList>[]; 45 + plancookList = <SunListPlan>[];
46 json['plancook_list'].forEach((v) { 46 json['plancook_list'].forEach((v) {
47 - plancookList.add(new SunList.fromJson(v)); 47 + plancookList.add(new SunListPlan.fromJson(v));
48 }); 48 });
49 } 49 }
50 } 50 }
@@ -61,7 +61,7 @@ class PlanCookListSunModel { @@ -61,7 +61,7 @@ class PlanCookListSunModel {
61 } 61 }
62 } 62 }
63 63
64 -class SunList { 64 +class SunListPlan {
65 String id; 65 String id;
66 String sellerid; 66 String sellerid;
67 String uid; 67 String uid;
@@ -76,7 +76,7 @@ class SunList { @@ -76,7 +76,7 @@ class SunList {
76 String isDel; 76 String isDel;
77 String cdate; 77 String cdate;
78 78
79 - SunList( 79 + SunListPlan(
80 {this.id, 80 {this.id,
81 this.sellerid, 81 this.sellerid,
82 this.uid, 82 this.uid,
@@ -91,7 +91,7 @@ class SunList { @@ -91,7 +91,7 @@ class SunList {
91 this.isDel, 91 this.isDel,
92 this.cdate}); 92 this.cdate});
93 93
94 - SunList.fromJson(Map<String, dynamic> json1) { 94 + SunListPlan.fromJson(Map<String, dynamic> json1) {
95 id = json1['id']; 95 id = json1['id'];
96 sellerid = json1['sellerid']; 96 sellerid = json1['sellerid'];
97 uid = json1['uid']; 97 uid = json1['uid'];
@@ -106,9 +106,15 @@ class SunList { @@ -106,9 +106,15 @@ class SunList {
106 106
107 if (json1['cook_list'] != null) { 107 if (json1['cook_list'] != null) {
108 cookList = <MenuModel>[]; 108 cookList = <MenuModel>[];
109 - json.decode(json1['cook_list']).forEach((v) {  
110 - cookList.add(new MenuModel.fromJson2(v));  
111 - }); 109 + if (json1['cook_list'] is List) {
  110 + json1['cook_list'].forEach((v) {
  111 + cookList.add(new MenuModel.fromJson2(v));
  112 + });
  113 + } else {
  114 + json.decode(json1['cook_list']).forEach((v) {
  115 + cookList.add(new MenuModel.fromJson2(v));
  116 + });
  117 + }
112 } 118 }
113 isDel = json1['is_del']; 119 isDel = json1['is_del'];
114 cdate = json1['cdate']; 120 cdate = json1['cdate'];
@@ -6,6 +6,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; @@ -6,6 +6,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
6 import 'package:one_key/provider/plan_dish_provider.dart'; 6 import 'package:one_key/provider/plan_dish_provider.dart';
7 7
8 import '../../../models/cookbook_model.dart'; 8 import '../../../models/cookbook_model.dart';
  9 +import '../../../models/plan_cook_list_model.dart';
9 import '../../../res/colors.dart'; 10 import '../../../res/colors.dart';
10 import '../../../utils/screen_util.dart'; 11 import '../../../utils/screen_util.dart';
11 import '../../../widgets/round_button.dart'; 12 import '../../../widgets/round_button.dart';
@@ -40,7 +41,9 @@ import 'package:provider/provider.dart'; @@ -40,7 +41,9 @@ import 'package:provider/provider.dart';
40 class PlanDishEidtPage extends StatefulWidget { 41 class PlanDishEidtPage extends StatefulWidget {
41 final bool isMine; 42 final bool isMine;
42 final bool isEdit; 43 final bool isEdit;
43 - PlanDishEidtPage({Key key, this.isMine = false, this.isEdit = true}) 44 + final SunListPlan sunListPlan;
  45 + PlanDishEidtPage(
  46 + {Key key, this.isMine = false, this.isEdit = true, this.sunListPlan})
44 : super(key: key); 47 : super(key: key);
45 48
46 @override 49 @override
@@ -84,6 +87,33 @@ class _PlanDishEidtPageState extends State<PlanDishEidtPage> { @@ -84,6 +87,33 @@ class _PlanDishEidtPageState extends State<PlanDishEidtPage> {
84 } else { 87 } else {
85 labelShow = labelList[labelSelIndex]; 88 labelShow = labelList[labelSelIndex];
86 } 89 }
  90 + if (widget.sunListPlan != null) {
  91 + _dishNameEditControl.text = widget.sunListPlan.pname;
  92 + if (widget.sunListPlan.type == '1') {
  93 + labelShow = '店内通用套餐';
  94 + } else {
  95 + labelShow = '自定义排菜单';
  96 + }
  97 + swichState = widget.sunListPlan.status == '1' ? true : false;
  98 + pNumC.text = widget.sunListPlan.pnum;
  99 + pNum = int.parse(widget.sunListPlan.pnum);
  100 + priceSum = widget.sunListPlan.menuPrice;
  101 + memberPriceSum = widget.sunListPlan.memberPrice;
  102 + dishPriceC.text = widget.sunListPlan.planPrice;
  103 + menuModel = widget.sunListPlan.cookList;
  104 + String dish = '';
  105 + menuModel.forEach((element) {
  106 + element.cookbooklist.forEach((cookbook) {
  107 + if (cookbook.amount > 0) {
  108 + dish += cookbook.name + '、';
  109 + }
  110 + });
  111 + });
  112 + if (dish.endsWith('、')) {
  113 + dish = dish.substring(0, dish.length - 1);
  114 + }
  115 + _dishExplainEditControl.text = dish;
  116 + }
87 117
88 _nameFocusNode.addListener(() { 118 _nameFocusNode.addListener(() {
89 if (_nameFocusNode.hasFocus) { 119 if (_nameFocusNode.hasFocus) {
@@ -126,6 +156,9 @@ class _PlanDishEidtPageState extends State<PlanDishEidtPage> { @@ -126,6 +156,9 @@ class _PlanDishEidtPageState extends State<PlanDishEidtPage> {
126 "plan_price": dishPriceC.text, 156 "plan_price": dishPriceC.text,
127 "cook_list": json.encode(menuModel), 157 "cook_list": json.encode(menuModel),
128 }; 158 };
  159 + if (widget.sunListPlan != null) {
  160 + params['id'] = widget.sunListPlan.id;
  161 + }
129 // if (!widget.isMine) { 162 // if (!widget.isMine) {
130 // params['is_examine'] = swichHexiao ? "1" : "0"; 163 // params['is_examine'] = swichHexiao ? "1" : "0";
131 // params['uid_list'] = uids; 164 // params['uid_list'] = uids;
@@ -133,7 +166,7 @@ class _PlanDishEidtPageState extends State<PlanDishEidtPage> { @@ -133,7 +166,7 @@ class _PlanDishEidtPageState extends State<PlanDishEidtPage> {
133 bool isSuccess = await dishProvider.setPlanCook(context, params); 166 bool isSuccess = await dishProvider.setPlanCook(context, params);
134 if (isSuccess) { 167 if (isSuccess) {
135 //成功之后跳回前一个页面 168 //成功之后跳回前一个页面
136 - // bus.emit('refresh_dish_list'); 169 + bus.emit('refresh_dish_plan_home_list');
137 // EventBus().emit('refresh_dish_invitation'); 170 // EventBus().emit('refresh_dish_invitation');
138 // bus.emit('refresh_dish_list_f'); 171 // bus.emit('refresh_dish_list_f');
139 172
@@ -19,7 +19,7 @@ class PlanDishItem extends StatefulWidget { @@ -19,7 +19,7 @@ class PlanDishItem extends StatefulWidget {
19 // final String from; 19 // final String from;
20 final VoidCallback onPressedDel; 20 final VoidCallback onPressedDel;
21 final VoidCallback onPressedReUse; 21 final VoidCallback onPressedReUse;
22 - final SunList sunList; 22 + final SunListPlan sunList;
23 // final bool showBtn; 23 // final bool showBtn;
24 // final bool showCheck; 24 // final bool showCheck;
25 PlanDishItem({ 25 PlanDishItem({
@@ -52,11 +52,15 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> { @@ -52,11 +52,15 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> {
52 // _couponNetworkData(widget.index); 52 // _couponNetworkData(widget.index);
53 // }); 53 // });
54 }); 54 });
  55 + bus.on('refresh_dish_plan_home_list', (arg) {
  56 + _getPlanCookList(widget.index, isShowLoading: false);
  57 + });
55 } 58 }
56 59
57 @override 60 @override
58 void dispose() { 61 void dispose() {
59 super.dispose(); 62 super.dispose();
  63 + bus.off('refresh_dish_plan_home_list');
60 } 64 }
61 65
62 ///排菜/套餐列表 66 ///排菜/套餐列表
@@ -94,7 +98,7 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> { @@ -94,7 +98,7 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> {
94 Widget build(BuildContext context) { 98 Widget build(BuildContext context) {
95 planDishProvider = Provider.of<PlanDishProvider>(context, listen: true); 99 planDishProvider = Provider.of<PlanDishProvider>(context, listen: true);
96 PageState pageState; 100 PageState pageState;
97 - List<SunList> data = []; 101 + List<SunListPlan> data = [];
98 if (widget.index == 0) { 102 if (widget.index == 0) {
99 pageState = planDishProvider.pageStateHome; 103 pageState = planDishProvider.pageStateHome;
100 data = planDishProvider.allList; 104 data = planDishProvider.allList;
@@ -128,27 +132,32 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> { @@ -128,27 +132,32 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> {
128 SliverList( 132 SliverList(
129 delegate: SliverChildBuilderDelegate( 133 delegate: SliverChildBuilderDelegate(
130 (BuildContext context, int index) { 134 (BuildContext context, int index) {
131 - return PlanDishItem(  
132 - // from: 'quan',  
133 - sunList:data[index],  
134 - // showBtn: true,  
135 - onPressedDel: () {  
136 - //弹框确认是否删除  
137 - DialogUtil.cupertinoAlertDialog(context,  
138 - title: "",  
139 - content: "确定要将该排菜删除吗?删除后将无法再次使用该排菜。",  
140 - rTitle: "确定", rCallback: () {  
141 - // Navigator.pop(context);  
142 - // _delGuestInfocDay(model.cday[index].id);  
143 - });  
144 - },  
145 - onPressedReUse: () async {  
146 - bool needRefresh = await NavigatorUtil.goPlanDishEditPage(  
147 - context,  
148 - isMine: false,  
149 - isEdit: false);  
150 - },  
151 - ); 135 + return InkWell(
  136 + onTap: () async {
  137 + bool needRefresh =
  138 + await NavigatorUtil.goPlanDishEditPage(context,
  139 + isEdit: true, sunList: data[index]);
  140 + },
  141 + child: PlanDishItem(
  142 + // from: 'quan',
  143 + sunList: data[index],
  144 + // showBtn: true,
  145 + onPressedDel: () {
  146 + //弹框确认是否删除
  147 + DialogUtil.cupertinoAlertDialog(context,
  148 + title: "",
  149 + content: "确定要将该排菜删除吗?删除后将无法再次使用该排菜。",
  150 + rTitle: "确定", rCallback: () {
  151 + // Navigator.pop(context);
  152 + // _delGuestInfocDay(model.cday[index].id);
  153 + });
  154 + },
  155 + onPressedReUse: () async {
  156 + bool needRefresh =
  157 + await NavigatorUtil.goPlanDishEditPage(context,
  158 + isMine: false, isEdit: false);
  159 + },
  160 + ));
152 }, childCount: data.length), 161 }, childCount: data.length),
153 ), 162 ),
154 // SliverList( 163 // SliverList(
@@ -22,9 +22,9 @@ class PlanDishProvider extends ChangeNotifier { @@ -22,9 +22,9 @@ class PlanDishProvider extends ChangeNotifier {
22 22
23 List<MenuModel> menuModel; //菜品数据 23 List<MenuModel> menuModel; //菜品数据
24 24
25 - List<SunList> allList = []; //排菜套餐列表--全部  
26 - List<SunList> storeList = []; //排菜套餐列表--店铺  
27 - List<SunList> mineList = []; //排菜套餐列表--我的 25 + List<SunListPlan> allList = []; //排菜套餐列表--全部
  26 + List<SunListPlan> storeList = []; //排菜套餐列表--店铺
  27 + List<SunListPlan> mineList = []; //排菜套餐列表--我的
28 // List<CookbookCategorySunModel> categorySunModel; //菜品分类数据 28 // List<CookbookCategorySunModel> categorySunModel; //菜品分类数据
29 // List<CookbookSpecSunModel> specSunModel; //计价单位 29 // List<CookbookSpecSunModel> specSunModel; //计价单位
30 30
@@ -29,6 +29,7 @@ import '../app.dart'; @@ -29,6 +29,7 @@ import '../app.dart';
29 import '../models/get_banquet_by_id_new_model.dart'; 29 import '../models/get_banquet_by_id_new_model.dart';
30 import '../models/get_banquet_deposit_model.dart'; 30 import '../models/get_banquet_deposit_model.dart';
31 import '../models/otherset_model.dart'; 31 import '../models/otherset_model.dart';
  32 +import '../models/plan_cook_list_model.dart';
32 import '../models/set_xuan_tai_model.dart'; 33 import '../models/set_xuan_tai_model.dart';
33 import '../models/wine_model.dart'; 34 import '../models/wine_model.dart';
34 35
@@ -1303,16 +1304,17 @@ class NavigatorUtil { @@ -1303,16 +1304,17 @@ class NavigatorUtil {
1303 ///经理排菜- 编辑页 1304 ///经理排菜- 编辑页
1304 1305
1305 static Future<dynamic> goPlanDishEditPage(BuildContext context, 1306 static Future<dynamic> goPlanDishEditPage(BuildContext context,
1306 - {replace = false, bool isMine, bool isEdit}) { 1307 + {replace = false, bool isMine, bool isEdit, SunListPlan sunList}) {
1307 // if (invoice != null) { 1308 // if (invoice != null) {
1308 // return _navigateTo(context, 1309 // return _navigateTo(context,
1309 // "${Routes.plan_dish_edit_page}?invoice=${FluroConvertUtils.object2string(invoice)}", 1310 // "${Routes.plan_dish_edit_page}?invoice=${FluroConvertUtils.object2string(invoice)}",
1310 // replace: replace); 1311 // replace: replace);
1311 // } 1312 // }
1312 - // if (object != null) {  
1313 - // return _navigateTo(context,  
1314 - // "${Routes.plan_dish_edit_page}?tids=$tids&tableidNow=$tableidNow&fromPage=$fromPage&canChoose=$canChoose&object=${FluroConvertUtils.object2string(object)}");  
1315 - // } 1313 + if (sunList != null) {
  1314 + return _navigateTo(context,
  1315 + "${Routes.plan_dish_edit_page}?sunList=${FluroConvertUtils.object2string(sunList)}&isMine=${isMine}&isEdit=${isEdit}",
  1316 + replace: replace);
  1317 + }
1316 return _navigateTo(context, 1318 return _navigateTo(context,
1317 "${Routes.plan_dish_edit_page}?isMine=${isMine}&isEdit=${isEdit}", 1319 "${Routes.plan_dish_edit_page}?isMine=${isMine}&isEdit=${isEdit}",
1318 replace: replace); 1320 replace: replace);
@@ -150,6 +150,7 @@ import 'package:one_key/utils/utils.dart'; @@ -150,6 +150,7 @@ import 'package:one_key/utils/utils.dart';
150 import 'package:provider/provider.dart'; 150 import 'package:provider/provider.dart';
151 151
152 import '../models/get_banquet_by_id_new_model.dart'; 152 import '../models/get_banquet_by_id_new_model.dart';
  153 +import '../models/plan_cook_list_model.dart';
153 import '../models/set_xuan_tai_model.dart'; 154 import '../models/set_xuan_tai_model.dart';
154 import '../models/setmeal_by_id_model.dart'; 155 import '../models/setmeal_by_id_model.dart';
155 import '../pages/feast/feast_board.dart'; 156 import '../pages/feast/feast_board.dart';
@@ -2050,8 +2051,15 @@ var planDishEidtPageHandle = new Handler( @@ -2050,8 +2051,15 @@ var planDishEidtPageHandle = new Handler(
2050 // } 2051 // }
2051 bool isMine = FluroConvertUtils.string2bool(params["isMine"].first); 2052 bool isMine = FluroConvertUtils.string2bool(params["isMine"].first);
2052 bool isEdit = FluroConvertUtils.string2bool(params["isEdit"].first); 2053 bool isEdit = FluroConvertUtils.string2bool(params["isEdit"].first);
  2054 + SunListPlan sunListPlan;
  2055 +
  2056 + if (params.keys.contains('sunList')) {
  2057 + sunListPlan = SunListPlan.fromJson(json.decode(
  2058 + FluroConvertUtils.fluroCnParamsDecode(params["sunList"].first)));
  2059 + }
2053 2060
2054 return ChangeNotifierProvider<PlanDishProvider>( 2061 return ChangeNotifierProvider<PlanDishProvider>(
2055 create: (_) => PlanDishProvider(), 2062 create: (_) => PlanDishProvider(),
2056 - child: PlanDishEidtPage(isMine: isMine, isEdit: isEdit)); 2063 + child: PlanDishEidtPage(
  2064 + isMine: isMine, isEdit: isEdit, sunListPlan: sunListPlan));
2057 }); 2065 });