Commit d0f73e32d7eea3366c6d7eb36b1a748e79c77606

Authored by wdn127929
1 parent f15fe5d8

切换桌位等

@@ -114,5 +114,7 @@ class HttpUrl { @@ -114,5 +114,7 @@ class HttpUrl {
114 "?service=App.Tables.SetTablePhoto"; // App设置桌位关联图片 114 "?service=App.Tables.SetTablePhoto"; // App设置桌位关联图片
115 static const String get_table_photo = 115 static const String get_table_photo =
116 "?service=App.Tables.GetTablePhoto"; // App获取桌位关联图片 116 "?service=App.Tables.GetTablePhoto"; // App获取桌位关联图片
  117 + static const String del_table_photo =
  118 + "?service=App.Tables.DelTablePhoto"; // Apps删除桌位关联图片
117 119
118 } 120 }
@@ -1178,6 +1178,7 @@ class _NoteBookChangePageState extends State<NoteBookChangePage> { @@ -1178,6 +1178,7 @@ class _NoteBookChangePageState extends State<NoteBookChangePage> {
1178 ddate_solt, 1178 ddate_solt,
1179 _model.row.phone, 1179 _model.row.phone,
1180 _model.row.ddateSolt, 1180 _model.row.ddateSolt,
  1181 + tid:t.TableList.fromJson(tableinfo[0]).id,
1181 replace: true); 1182 replace: true);
1182 EventBus().emit("refresh_tablemanager"); //刷新桌位 1183 EventBus().emit("refresh_tablemanager"); //刷新桌位
1183 } else { 1184 } else {
@@ -1067,7 +1067,9 @@ class NotebookDetailPageState extends State<NotebookDetailPage> { @@ -1067,7 +1067,9 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
1067 detailEntity.ddateStr, 1067 detailEntity.ddateStr,
1068 detailEntity.phone, 1068 detailEntity.phone,
1069 detailEntity 1069 detailEntity
1070 - .ddate_solt); 1070 + .ddate_solt,
  1071 + tid: detailEntity
  1072 + .tables[0].id);
1071 break; 1073 break;
1072 case 2: //短信 1074 case 2: //短信
1073 if (detailEntity.phone == 1075 if (detailEntity.phone ==
@@ -1412,14 +1414,14 @@ class _TitleAndTextfieldState extends State<TitleAndTextfield> { @@ -1412,14 +1414,14 @@ class _TitleAndTextfieldState extends State<TitleAndTextfield> {
1412 super.initState(); 1414 super.initState();
1413 1415
1414 // if (Platform.isIOS) { 1416 // if (Platform.isIOS) {
1415 - numberFocusNode.addListener(() {  
1416 - if (numberFocusNode.hasFocus) {  
1417 - showOverlay(context);  
1418 - } else {  
1419 - _updateMoney();  
1420 - removeOverlay();  
1421 - }  
1422 - }); 1417 + numberFocusNode.addListener(() {
  1418 + if (numberFocusNode.hasFocus) {
  1419 + showOverlay(context);
  1420 + } else {
  1421 + _updateMoney();
  1422 + removeOverlay();
  1423 + }
  1424 + });
1423 // } 1425 // }
1424 } 1426 }
1425 1427
@@ -786,6 +786,7 @@ class _EnterPageState extends State<EnterPage> { @@ -786,6 +786,7 @@ class _EnterPageState extends State<EnterPage> {
786 ddate_solt, 786 ddate_solt,
787 _model.row.phone, 787 _model.row.phone,
788 _model.row.ddateSolt, 788 _model.row.ddateSolt,
  789 + tid:t.TableList.fromJson(tableinfo[0]).id,
789 replace: true); 790 replace: true);
790 } else { 791 } else {
791 Utils.showToast("录入预订订单失败,请重试!"); 792 Utils.showToast("录入预订订单失败,请重试!");
@@ -1357,6 +1357,7 @@ class _HomeEnterPageState extends State<HomeEnterPage> { @@ -1357,6 +1357,7 @@ class _HomeEnterPageState extends State<HomeEnterPage> {
1357 List<dynamic> tableinfo = 1357 List<dynamic> tableinfo =
1358 convert.jsonDecode(_model.row.tableinfo); 1358 convert.jsonDecode(_model.row.tableinfo);
1359 print(tableinfo); 1359 print(tableinfo);
  1360 +
1360 String _nameStr = t.TableList.fromJson(tableinfo[0]).name; 1361 String _nameStr = t.TableList.fromJson(tableinfo[0]).name;
1361 if (tableinfo.length > 1) { 1362 if (tableinfo.length > 1) {
1362 _nameStr = t.TableList.fromJson(tableinfo[0]).name + 1363 _nameStr = t.TableList.fromJson(tableinfo[0]).name +
@@ -1371,6 +1372,7 @@ class _HomeEnterPageState extends State<HomeEnterPage> { @@ -1371,6 +1372,7 @@ class _HomeEnterPageState extends State<HomeEnterPage> {
1371 ddate_solt, 1372 ddate_solt,
1372 _model.row.phone, 1373 _model.row.phone,
1373 _model.row.ddateSolt, 1374 _model.row.ddateSolt,
  1375 + tid: t.TableList.fromJson(tableinfo[0]).id,
1374 replace: false); 1376 replace: false);
1375 //今天 明天 其他天 1377 //今天 明天 其他天
1376 String tempTime = _homeEnterModel.ddateStr; 1378 String tempTime = _homeEnterModel.ddateStr;
@@ -33,9 +33,10 @@ class InvicationPage extends StatefulWidget { @@ -33,9 +33,10 @@ class InvicationPage extends StatefulWidget {
33 final String ddateStr; 33 final String ddateStr;
34 final String phone; 34 final String phone;
35 final String dateSolt; 35 final String dateSolt;
  36 + final String tid;
36 37
37 InvicationPage(this.rid, this.tableInfo, this.ddate, this.ddateStr, 38 InvicationPage(this.rid, this.tableInfo, this.ddate, this.ddateStr,
38 - this.phone, this.dateSolt); 39 + this.phone, this.dateSolt, this.tid);
39 40
40 @override 41 @override
41 State<StatefulWidget> createState() { 42 State<StatefulWidget> createState() {
@@ -67,7 +68,7 @@ class InvicationPageState extends State<InvicationPage> { @@ -67,7 +68,7 @@ class InvicationPageState extends State<InvicationPage> {
67 couponProvider.sendSMS = false; 68 couponProvider.sendSMS = false;
68 _getActivityByRid(); 69 _getActivityByRid();
69 _getCustomerActivityBaseinfo(); 70 _getCustomerActivityBaseinfo();
70 - _getSellerPhotoById(); 71 + _getTablePhoto();
71 }); 72 });
72 bus.on("refresh_coupon_invitation", (args) { 73 bus.on("refresh_coupon_invitation", (args) {
73 _couponNetworkData(isShowLoading: false); 74 _couponNetworkData(isShowLoading: false);
@@ -89,12 +90,12 @@ class InvicationPageState extends State<InvicationPage> { @@ -89,12 +90,12 @@ class InvicationPageState extends State<InvicationPage> {
89 super.dispose(); 90 super.dispose();
90 } 91 }
91 92
92 - _getSellerPhotoById() async { 93 + _getTablePhoto() async {
93 Map<String, String> params = { 94 Map<String, String> params = {
94 - 'sellerid': Provider.of<UserModel>(context, listen: false).user.sellerid,  
95 - "type": '2', 95 + "sellerid": Provider.of<UserModel>(context, listen: false).user.sellerid,
  96 + "tableid": widget.tid,
96 }; 97 };
97 - bool success = await _baseIndoProvider.getSellerPhotoById(context, params); 98 + bool success = await _baseIndoProvider.getTablePhoto(context, params);
98 } 99 }
99 100
100 //客户经理添加/修改基本信息 101 //客户经理添加/修改基本信息
@@ -290,14 +291,14 @@ class InvicationPageState extends State<InvicationPage> { @@ -290,14 +291,14 @@ class InvicationPageState extends State<InvicationPage> {
290 } 291 }
291 292
292 _seePhoto() { 293 _seePhoto() {
293 - List<String> temp = []; 294 + // List<String> temp = [];
294 if (_baseIndoProvider.photoList.length > 0) { 295 if (_baseIndoProvider.photoList.length > 0) {
295 - for (int i = 0; i < _baseIndoProvider.photoList.length; i++) {  
296 - temp.add(_baseIndoProvider.photoList[i].image);  
297 - } 296 + // for (int i = 0; i < _baseIndoProvider.photoList.length; i++) {
  297 + // temp.add(_baseIndoProvider.photoList[i].image);
  298 + // }
298 299
299 ///没有上传完成的不可以点击 300 ///没有上传完成的不可以点击
300 - _showPhotoView(context, 0, temp); 301 + _showPhotoView(context, 0, _baseIndoProvider.photoList);
301 } 302 }
302 } 303 }
303 304
@@ -730,37 +731,44 @@ class InvicationPageState extends State<InvicationPage> { @@ -730,37 +731,44 @@ class InvicationPageState extends State<InvicationPage> {
730 ), 731 ),
731 ), 732 ),
732 Positioned( 733 Positioned(
733 - key: key,  
734 - bottom: 0,  
735 - child: _baseIndoProvider  
736 - .photoList  
737 - .length >  
738 - 0  
739 - ? RoundButton(  
740 - onPressed: () {  
741 - _seePhoto();  
742 - },  
743 - text: '浏览照片',  
744 - width: ScreenUtil()  
745 - .setWidth(  
746 - 68 * 2),  
747 - height:  
748 - ScreenUtil()  
749 - .setWidth(  
750 - 24 *  
751 - 2),  
752 - fontSize: 26,  
753 - textColor: MyColours  
754 - .color_ffffff,  
755 - isBold: false,  
756 - gradientStart:  
757 - MyColours  
758 - .color_199095,  
759 - gradientEnd: MyColours  
760 - .color_199095,  
761 - )  
762 - : Container(),  
763 - ) 734 + key: key,
  735 + bottom: 0,
  736 + child: RoundButton(
  737 + onPressed: () {
  738 + _seePhoto();
  739 + },
  740 + text: '浏览照片',
  741 + width: ScreenUtil()
  742 + .setWidth(68 * 2),
  743 + height: ScreenUtil()
  744 + .setWidth(24 * 2),
  745 + fontSize: 26,
  746 + textColor: _baseIndoProvider
  747 + .photoList
  748 + .length >
  749 + 0
  750 + ? MyColours
  751 + .color_ffffff
  752 + : MyColours
  753 + .color_999999,
  754 + isBold: false,
  755 + gradientStart: _baseIndoProvider
  756 + .photoList
  757 + .length >
  758 + 0
  759 + ? MyColours
  760 + .color_199095
  761 + : MyColours
  762 + .color_E0E0E0,
  763 + gradientEnd: _baseIndoProvider
  764 + .photoList
  765 + .length >
  766 + 0
  767 + ? MyColours
  768 + .color_199095
  769 + : MyColours
  770 + .color_E0E0E0,
  771 + ))
764 ], 772 ],
765 ))), 773 ))),
766 ], 774 ],
@@ -3,6 +3,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; @@ -3,6 +3,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
3 import 'package:one_key/models/notebook.dart'; 3 import 'package:one_key/models/notebook.dart';
4 import 'package:one_key/res/colors.dart'; 4 import 'package:one_key/res/colors.dart';
5 import 'package:one_key/route/navigator_util.dart'; 5 import 'package:one_key/route/navigator_util.dart';
  6 +import 'package:one_key/utils/utils.dart';
6 import 'package:one_key/widgets/MyDivider.dart'; 7 import 'package:one_key/widgets/MyDivider.dart';
7 import 'package:one_key/widgets/v_empty_view.dart'; 8 import 'package:one_key/widgets/v_empty_view.dart';
8 9
@@ -29,7 +30,8 @@ class NotebookItemState extends State<NoteBookItem> { @@ -29,7 +30,8 @@ class NotebookItemState extends State<NoteBookItem> {
29 widget.notebook.ddate, 30 widget.notebook.ddate,
30 widget.notebook.ddateStr, 31 widget.notebook.ddateStr,
31 widget.notebook.phone, 32 widget.notebook.phone,
32 - widget.notebook.ddate_solt); 33 + widget.notebook.ddate_solt,
  34 + tid: widget.notebook.tid.split(',')[0]);
33 } 35 }
34 } 36 }
35 37
@@ -30,6 +30,7 @@ import 'package:photo_manager/photo_manager.dart'; @@ -30,6 +30,7 @@ import 'package:photo_manager/photo_manager.dart';
30 30
31 typedef void OnPickImageCallback( 31 typedef void OnPickImageCallback(
32 double maxWidth, double maxHeight, int quality); 32 double maxWidth, double maxHeight, int quality);
  33 +typedef void DeleteCallback(int index);
33 34
34 class ImgPickerWidget extends StatefulWidget { 35 class ImgPickerWidget extends StatefulWidget {
35 final ScrollController scrollController; 36 final ScrollController scrollController;
@@ -38,7 +39,7 @@ class ImgPickerWidget extends StatefulWidget { @@ -38,7 +39,7 @@ class ImgPickerWidget extends StatefulWidget {
38 final int maxImageNumber; 39 final int maxImageNumber;
39 final UploadImageProvider model; 40 final UploadImageProvider model;
40 final UploadType uploadType; 41 final UploadType uploadType;
41 - final VoidCallback callbackDelete; 42 + final DeleteCallback deleteCallback;
42 ImgPickerWidget( 43 ImgPickerWidget(
43 {Key key, 44 {Key key,
44 this.scrollController, 45 this.scrollController,
@@ -47,7 +48,7 @@ class ImgPickerWidget extends StatefulWidget { @@ -47,7 +48,7 @@ class ImgPickerWidget extends StatefulWidget {
47 this.maxImageNumber = 5, 48 this.maxImageNumber = 5,
48 this.model, 49 this.model,
49 this.uploadType, 50 this.uploadType,
50 - this.callbackDelete}) 51 + this.deleteCallback})
51 : super(key: key); 52 : super(key: key);
52 53
53 @override 54 @override
@@ -368,7 +369,7 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> { @@ -368,7 +369,7 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> {
368 } 369 }
369 370
370 //查看大图 371 //查看大图
371 - _showPhotoView(BuildContext context, int index, List imgs, 372 + _showPhotoView(BuildContext context, int index, List<String> imgs,
372 {isShow = false, List dashName}) async { 373 {isShow = false, List dashName}) async {
373 // if (imgs.length == 1 && 374 // if (imgs.length == 1 &&
374 // imgs[0] == 375 // imgs[0] ==
@@ -538,29 +539,13 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> { @@ -538,29 +539,13 @@ class _ImgPickerWidgetState extends DisposableState<ImgPickerWidget> {
538 print("取消"); 539 print("取消");
539 }, rCallback: () { 540 }, rCallback: () {
540 print("确定"); 541 print("确定");
541 - widget.callbackDelete();  
542 - setState(() {  
543 - temp.removeWhere((element) =>  
544 - element == temp[index]);  
545 - widget.model.imageQiniuUrlList  
546 - .removeWhere((element) =>  
547 - element ==  
548 - widget.model  
549 - .imageQiniuUrlList[  
550 - index]);  
551 - }); 542 + widget.deleteCallback(index);
552 }); 543 });
553 } else { 544 } else {
554 //直接删除 545 //直接删除
555 setState(() { 546 setState(() {
556 temp.removeWhere((element) => 547 temp.removeWhere((element) =>
557 element == temp[index]); 548 element == temp[index]);
558 - widget.model.imageQiniuUrlList  
559 - .removeWhere((element) =>  
560 - element ==  
561 - widget.model  
562 - .imageQiniuUrlList[  
563 - index]);  
564 }); 549 });
565 } 550 }
566 } else { 551 } else {
@@ -31,9 +31,11 @@ class SelectTablePage extends StatefulWidget { @@ -31,9 +31,11 @@ class SelectTablePage extends StatefulWidget {
31 final String ddate_slot; //时段 31 final String ddate_slot; //时段
32 final bool canChoose; //变更预订可以取消原来已预订的选中状态 32 final bool canChoose; //变更预订可以取消原来已预订的选中状态
33 final List<TableList> tableList; 33 final List<TableList> tableList;
  34 + final String fromPage;
  35 + final String tid;
34 36
35 SelectTablePage(this.rid, this.dateTime, this.ddate_slot, 37 SelectTablePage(this.rid, this.dateTime, this.ddate_slot,
36 - {this.canChoose = false, this.tableList}); 38 + {this.canChoose = false, this.tableList, this.fromPage, this.tid});
37 39
38 @override 40 @override
39 State<StatefulWidget> createState() { 41 State<StatefulWidget> createState() {
@@ -153,6 +155,10 @@ class SelectTablePageState extends State<SelectTablePage> { @@ -153,6 +155,10 @@ class SelectTablePageState extends State<SelectTablePage> {
153 for (TableOuter outer in tableOuterList) { 155 for (TableOuter outer in tableOuterList) {
154 int count = 0; 156 int count = 0;
155 for (t.Table table in outer.list) { 157 for (t.Table table in outer.list) {
  158 + if (widget.tid != '' && table.id == widget.tid) {
  159 + table.selected = true;
  160 + currentArea = outer.name;
  161 + }
156 if (table.tablestatus == "0") { 162 if (table.tablestatus == "0") {
157 //没有用餐中 163 //没有用餐中
158 if (tableMap["${table.id}"] != null) { 164 if (tableMap["${table.id}"] != null) {
@@ -179,11 +185,13 @@ class SelectTablePageState extends State<SelectTablePage> { @@ -179,11 +185,13 @@ class SelectTablePageState extends State<SelectTablePage> {
179 area.rid = outer.list.length == 0 ? outer.rid : outer.list[0].rid; 185 area.rid = outer.list.length == 0 ? outer.rid : outer.list[0].rid;
180 areas.add(area); 186 areas.add(area);
181 } 187 }
182 - if (!needRetain) {  
183 - currentArea = areaTableMap.keys.first;  
184 - }  
185 - if (areas.length == 1) {  
186 - currentArea = areaTableMap.keys.first; 188 + if (widget.tid == '') {
  189 + if (!needRetain) {
  190 + currentArea = areaTableMap.keys.first;
  191 + }
  192 + if (areas.length == 1) {
  193 + currentArea = areaTableMap.keys.first;
  194 + }
187 } 195 }
188 196
189 _chooseTableModel.pageState = PageState.Success; 197 _chooseTableModel.pageState = PageState.Success;
@@ -398,20 +406,36 @@ class SelectTablePageState extends State<SelectTablePage> { @@ -398,20 +406,36 @@ class SelectTablePageState extends State<SelectTablePage> {
398 } else { 406 } else {
399 return TableItem( 407 return TableItem(
400 areaTableMap[currentArea][index], 408 areaTableMap[currentArea][index],
401 - onSelected: (table) {  
402 - if ((table as t.Table).selected) {  
403 - selectTables.add(table);  
404 - widget.tableList  
405 - .add(tableToTableList(table)); 409 + onSelected: (t.Table table) {
  410 + if (widget.fromPage == 'tablePhoto') {
  411 + for (String item
  412 + in areaTableMap.keys) {
  413 + for (t.Table item
  414 + in areaTableMap[item]) {
  415 + item.selected = false;
  416 + if (table.id == item.id) {
  417 + item.selected = true;
  418 + selectTables = [];
  419 + selectTables.add(table);
  420 + }
  421 + }
  422 + }
  423 + setState(() {});
406 } else { 424 } else {
407 - widget.tableList.removeWhere(  
408 - (t) => t.id == table.id);  
409 - selectTables.removeWhere(  
410 - (t) => t.id == table.id); 425 + if ((table as t.Table).selected) {
  426 + selectTables.add(table);
  427 + widget.tableList
  428 + .add(tableToTableList(table));
  429 + } else {
  430 + widget.tableList.removeWhere(
  431 + (t) => t.id == table.id);
  432 + selectTables.removeWhere(
  433 + (t) => t.id == table.id);
  434 + }
411 } 435 }
412 }, 436 },
413 canSelected: true, 437 canSelected: true,
414 - fromPage: 'change', 438 + fromPage: widget.fromPage,
415 tableMap: tableMap, 439 tableMap: tableMap,
416 rid: widget.rid); 440 rid: widget.rid);
417 } 441 }
@@ -436,32 +460,25 @@ class SelectTablePageState extends State<SelectTablePage> { @@ -436,32 +460,25 @@ class SelectTablePageState extends State<SelectTablePage> {
436 fontSize: 34, 460 fontSize: 34,
437 state: 1, 461 state: 1,
438 onPress: () { 462 onPress: () {
439 - if (widget.canChoose) {  
440 - // if (widget.tableList.length > 0) {  
441 - String tid = "";  
442 - for (TableList table  
443 - in widget.tableList) {  
444 - tid += table.id + ",";  
445 - }  
446 - if (widget.tableList.length > 0) {  
447 - tid = tid.substring(  
448 - 0, tid.length - 1);  
449 - }  
450 - 463 + if (widget.fromPage == "tablePhoto") {
451 Map temp = { 464 Map temp = {
452 - 'object': widget.tableList,  
453 - 'tid': tid 465 + 'tid': selectTables.length > 0
  466 + ? selectTables[0].id
  467 + : '',
  468 + 'tname': selectTables.length > 0
  469 + ? selectTables[0].name
  470 + : ''
454 }; 471 };
455 Navigator.of(context).pop(temp); 472 Navigator.of(context).pop(temp);
456 - // }  
457 } else { 473 } else {
458 - if (selectTables.length > 0) { 474 + if (widget.canChoose) {
  475 + // if (widget.tableList.length > 0) {
459 String tid = ""; 476 String tid = "";
460 - for (t.Table table  
461 - in selectTables) { 477 + for (TableList table
  478 + in widget.tableList) {
462 tid += table.id + ","; 479 tid += table.id + ",";
463 } 480 }
464 - if (selectTables.length > 0) { 481 + if (widget.tableList.length > 0) {
465 tid = tid.substring( 482 tid = tid.substring(
466 0, tid.length - 1); 483 0, tid.length - 1);
467 } 484 }
@@ -471,6 +488,25 @@ class SelectTablePageState extends State<SelectTablePage> { @@ -471,6 +488,25 @@ class SelectTablePageState extends State<SelectTablePage> {
471 'tid': tid 488 'tid': tid
472 }; 489 };
473 Navigator.of(context).pop(temp); 490 Navigator.of(context).pop(temp);
  491 + // }
  492 + } else {
  493 + if (selectTables.length > 0) {
  494 + String tid = "";
  495 + for (t.Table table
  496 + in selectTables) {
  497 + tid += table.id + ",";
  498 + }
  499 + if (selectTables.length > 0) {
  500 + tid = tid.substring(
  501 + 0, tid.length - 1);
  502 + }
  503 +
  504 + Map temp = {
  505 + 'object': widget.tableList,
  506 + 'tid': tid
  507 + };
  508 + Navigator.of(context).pop(temp);
  509 + }
474 } 510 }
475 } 511 }
476 }, 512 },
@@ -71,9 +71,24 @@ class TableManagerPageState extends State<TableManagerPage> { @@ -71,9 +71,24 @@ class TableManagerPageState extends State<TableManagerPage> {
71 tableManagerModel.getReserveList(context); 71 tableManagerModel.getReserveList(context);
72 print(tableManagerModel); 72 print(tableManagerModel);
73 }); 73 });
  74 + EventBus().on("refresh_tablePhoto", (arg) {
  75 + //订座-完成预订 刷新管理桌位
  76 + _refreshTablePhoto();
  77 + });
74 }); 78 });
75 } 79 }
76 80
  81 + ///刷新图片显示
  82 + _refreshTablePhoto() async {
  83 + List temp =
  84 + await tableManagerModel.getTableList(context, needLoading: false);
  85 + if (temp.length > 0) {
  86 + tableManagerModel.getReserveList(context,
  87 + needLoading: false, needKeep: true);
  88 + tableManagerModel.notifyListeners();
  89 + }
  90 + }
  91 +
77 Widget list(List data) => ScrollablePositionedList.builder( 92 Widget list(List data) => ScrollablePositionedList.builder(
78 itemCount: data.length, 93 itemCount: data.length,
79 itemBuilder: (context, index) => item(index), 94 itemBuilder: (context, index) => item(index),
@@ -598,5 +613,6 @@ class TableManagerPageState extends State<TableManagerPage> { @@ -598,5 +613,6 @@ class TableManagerPageState extends State<TableManagerPage> {
598 // TODO: implement dispose 613 // TODO: implement dispose
599 super.dispose(); 614 super.dispose();
600 EventBus().off("refresh_tablemanager"); 615 EventBus().off("refresh_tablemanager");
  616 + EventBus().off("refresh_tablePhoto");
601 } 617 }
602 } 618 }
@@ -5,11 +5,12 @@ import 'package:flutter_screenutil/screenutil.dart'; @@ -5,11 +5,12 @@ import 'package:flutter_screenutil/screenutil.dart';
5 import 'package:one_key/models/table_photo_model.dart'; 5 import 'package:one_key/models/table_photo_model.dart';
6 import 'package:one_key/models/upload_img_model.dart'; 6 import 'package:one_key/models/upload_img_model.dart';
7 import 'package:one_key/pages/online_check/img_picker_widget.dart'; 7 import 'package:one_key/pages/online_check/img_picker_widget.dart';
8 -import 'package:one_key/provider/table_photo_anager_provider.dart'; 8 +import 'package:one_key/provider/table_photo_manager_provider.dart';
9 import 'package:one_key/provider/upload_img_provider.dart'; 9 import 'package:one_key/provider/upload_img_provider.dart';
10 import 'package:one_key/provider/user_model.dart'; 10 import 'package:one_key/provider/user_model.dart';
11 import 'package:one_key/res/colors.dart'; 11 import 'package:one_key/res/colors.dart';
12 import 'package:one_key/route/navigator_util.dart'; 12 import 'package:one_key/route/navigator_util.dart';
  13 +import 'package:one_key/utils/event_bus.dart';
13 import 'package:one_key/utils/upload_image_util.dart'; 14 import 'package:one_key/utils/upload_image_util.dart';
14 import 'package:one_key/utils/utils.dart'; 15 import 'package:one_key/utils/utils.dart';
15 import 'package:one_key/widgets/round_button.dart'; 16 import 'package:one_key/widgets/round_button.dart';
@@ -30,13 +31,19 @@ class _TablePhotoManagerPageState extends State<TablePhotoManagerPage> { @@ -30,13 +31,19 @@ class _TablePhotoManagerPageState extends State<TablePhotoManagerPage> {
30 ScrollController _controller = ScrollController(); 31 ScrollController _controller = ScrollController();
31 UploadImageProvider _uploadImageProvider; 32 UploadImageProvider _uploadImageProvider;
32 TablePhotoManagerModel _tablePhotoManagerModel; 33 TablePhotoManagerModel _tablePhotoManagerModel;
  34 + String tname;
  35 + String tid;
33 36
34 @override 37 @override
35 void initState() { 38 void initState() {
36 super.initState(); 39 super.initState();
  40 + tid = widget.tid;
  41 + tname = widget.tname;
37 WidgetsBinding.instance.addPostFrameCallback((_) { 42 WidgetsBinding.instance.addPostFrameCallback((_) {
38 - _getTablePhoto(context);  
39 _getQiniuInfo(); 43 _getQiniuInfo();
  44 + Future.delayed(const Duration(milliseconds: 200), () {
  45 + _getTablePhoto(context, widget.tid);
  46 + });
40 }); 47 });
41 } 48 }
42 49
@@ -51,7 +58,7 @@ class _TablePhotoManagerPageState extends State<TablePhotoManagerPage> { @@ -51,7 +58,7 @@ class _TablePhotoManagerPageState extends State<TablePhotoManagerPage> {
51 _setTablePhoto(BuildContext context, List tablePhoto) async { 58 _setTablePhoto(BuildContext context, List tablePhoto) async {
52 Map<String, String> params = { 59 Map<String, String> params = {
53 "sellerid": Provider.of<UserModel>(context, listen: false).user.sellerid, 60 "sellerid": Provider.of<UserModel>(context, listen: false).user.sellerid,
54 - "tableid": widget.tid, 61 + "tableid": tid,
55 "photoList": jsonEncode(tablePhoto) 62 "photoList": jsonEncode(tablePhoto)
56 }; 63 };
57 print(_uploadImageProvider.tableImageList); 64 print(_uploadImageProvider.tableImageList);
@@ -76,13 +83,15 @@ class _TablePhotoManagerPageState extends State<TablePhotoManagerPage> { @@ -76,13 +83,15 @@ class _TablePhotoManagerPageState extends State<TablePhotoManagerPage> {
76 } 83 }
77 84
78 ///获取桌位图片 85 ///获取桌位图片
79 - _getTablePhoto(BuildContext context) async { 86 + _getTablePhoto(BuildContext context, String tid,
  87 + {bool showLoading = false}) async {
80 Map<String, String> params = { 88 Map<String, String> params = {
81 "sellerid": Provider.of<UserModel>(context, listen: false).user.sellerid, 89 "sellerid": Provider.of<UserModel>(context, listen: false).user.sellerid,
82 - "tableid": widget.tid, 90 + "tableid": tid,
83 }; 91 };
84 - List<TablePhotoSunModel> tablePhotoList =  
85 - await _tablePhotoManagerModel.getTablePhoto(context, params); 92 + _uploadImageProvider.tableImageList = [];
  93 + List<TablePhotoSunModel> tablePhotoList = await _tablePhotoManagerModel
  94 + .getTablePhoto(context, params, isShowLoading: showLoading);
86 if (tablePhotoList.length > 0) { 95 if (tablePhotoList.length > 0) {
87 print(_uploadImageProvider.tableImageList); 96 print(_uploadImageProvider.tableImageList);
88 for (int i = 0; i < tablePhotoList.length; i++) { 97 for (int i = 0; i < tablePhotoList.length; i++) {
@@ -93,6 +102,25 @@ class _TablePhotoManagerPageState extends State<TablePhotoManagerPage> { @@ -93,6 +102,25 @@ class _TablePhotoManagerPageState extends State<TablePhotoManagerPage> {
93 model.process = 1; 102 model.process = 1;
94 _uploadImageProvider.tableImageList.add(model); 103 _uploadImageProvider.tableImageList.add(model);
95 } 104 }
  105 + }
  106 + _uploadImageProvider.notifyListeners();
  107 + }
  108 +
  109 + ///删除桌子图片
  110 + ///
  111 + _delTablePhoto(BuildContext context, String photoIds, int index) async {
  112 + Map<String, String> params = {
  113 + "sellerid": Provider.of<UserModel>(context, listen: false).user.sellerid,
  114 + "photoIds": photoIds
  115 + };
  116 + print(_uploadImageProvider.tableImageList);
  117 + bool success = await _tablePhotoManagerModel.delTablePhoto(context, params,
  118 + isShowLoading: true);
  119 + if (success) {
  120 + print('删除成功');
  121 + //调用删除桌子图片接口
  122 + _uploadImageProvider.tableImageList.removeWhere(
  123 + (element) => element == _uploadImageProvider.tableImageList[index]);
96 _uploadImageProvider.notifyListeners(); 124 _uploadImageProvider.notifyListeners();
97 } 125 }
98 } 126 }
@@ -115,92 +143,126 @@ class _TablePhotoManagerPageState extends State<TablePhotoManagerPage> { @@ -115,92 +143,126 @@ class _TablePhotoManagerPageState extends State<TablePhotoManagerPage> {
115 appBar: SystemAppBar( 143 appBar: SystemAppBar(
116 '照片管理', 144 '照片管理',
117 onTap: () { 145 onTap: () {
  146 + bus.emit('refresh_tablePhoto');
118 Navigator.pop(context); 147 Navigator.pop(context);
119 }, 148 },
120 ), 149 ),
121 - body: InkWell(  
122 - onTap: () {  
123 - FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘 150 + body: WillPopScope(
  151 + onWillPop: () {
  152 + bus.emit('refresh_tablePhoto');
  153 + Navigator.of(context).pop();
124 }, 154 },
125 - child: Container(  
126 - padding: EdgeInsets.symmetric(  
127 - horizontal: ScreenUtil().setWidth(40),  
128 - ),  
129 - child: Column(children: [  
130 - Container(  
131 - decoration: BoxDecoration(  
132 - border: Border(  
133 - bottom: BorderSide(  
134 - width: ScreenUtil().setWidth(2),  
135 - color: MyColours.color_f5f5f5))),  
136 - height: ScreenUtil().setWidth(100),  
137 - child: Row(  
138 - mainAxisAlignment: MainAxisAlignment.spaceBetween,  
139 - children: [  
140 - Text('当前桌位:${widget.tname}',  
141 - style: TextStyle(  
142 - color: MyColours.color_333333,  
143 - fontSize: ScreenUtil().setSp(32),  
144 - fontWeight: FontWeight.bold)),  
145 - Text('切换桌位',  
146 - style: TextStyle(  
147 - color: MyColours.color_199095,  
148 - fontSize: ScreenUtil().setSp(32))),  
149 - ],  
150 - )),  
151 - Expanded(  
152 - child: SingleChildScrollView(  
153 - controller: _controller,  
154 - child: Column(  
155 - crossAxisAlignment: CrossAxisAlignment.start,  
156 - children: [  
157 - VEmptyView(60),  
158 - Consumer<UploadImageProvider>(  
159 - builder: (context, model, _) {  
160 - return ImgPickerWidget(  
161 - scrollController: _controller,  
162 - model: model,  
163 - maxImageNumber: 5,  
164 - uploadType: UploadType.TableManagerType,  
165 - callbackDelete: () {  
166 - //调用删除桌子图片接口  
167 - },  
168 - );  
169 - }),  
170 - ]))),  
171 - RoundButton(  
172 - text: '确定上传',  
173 - gradientStart: MyColours.color_199095,  
174 - gradientEnd: MyColours.color_199095,  
175 - // borderColor: MyColours.color_999999,  
176 - radius: ScreenUtil().setWidth(10),  
177 - fontSize: 34,  
178 - height: ScreenUtil().setWidth(80),  
179 - isBold: false,  
180 - onPressed: () {  
181 - for (UploadImgModel item  
182 - in _uploadImageProvider.tableImageList) {  
183 - if (item.process < 1) {  
184 - Utils.showToast('正在上传图片,请稍等');  
185 - return;  
186 - }  
187 - }  
188 - //接口,和桌子绑定  
189 - List imageQiniuUrlList = [];  
190 - for (int i = 0;  
191 - i < _uploadImageProvider.tableImageList.length;  
192 - i++) {  
193 - if (!_uploadImageProvider.tableImageList[i].isUpload) {  
194 - imageQiniuUrlList.add({  
195 - "url":  
196 - _uploadImageProvider.tableImageList[i].qiniuUrl  
197 - });  
198 - }  
199 - }  
200 - _setTablePhoto(context, imageQiniuUrlList);  
201 - },  
202 - )  
203 - ])))); 155 + child: InkWell(
  156 + onTap: () {
  157 + FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
  158 + },
  159 + child: Container(
  160 + padding: EdgeInsets.symmetric(
  161 + horizontal: ScreenUtil().setWidth(40),
  162 + ),
  163 + child: Column(children: [
  164 + Container(
  165 + decoration: BoxDecoration(
  166 + border: Border(
  167 + bottom: BorderSide(
  168 + width: ScreenUtil().setWidth(2),
  169 + color: MyColours.color_f5f5f5))),
  170 + height: ScreenUtil().setWidth(100),
  171 + child: Row(
  172 + mainAxisAlignment: MainAxisAlignment.spaceBetween,
  173 + children: [
  174 + Text('当前桌位:${tname}',
  175 + style: TextStyle(
  176 + color: MyColours.color_333333,
  177 + fontSize: ScreenUtil().setSp(32),
  178 + fontWeight: FontWeight.bold)),
  179 + InkWell(
  180 + onTap: () async {
  181 + Map temp =
  182 + await NavigatorUtil.goSelectTablePage(
  183 + context,
  184 + "",
  185 + DateTime.now()
  186 + .millisecondsSinceEpoch,
  187 + "1",
  188 + canChoose: true,
  189 + object: null,
  190 + fromPage: "tablePhoto",
  191 + tid: tid);
  192 + if (temp != null && temp['tid'] != '') {
  193 + print(temp['tid']);
  194 + print(temp['tname']);
  195 + tname = temp['tname'];
  196 + tid = temp['tid'];
  197 + _getTablePhoto(context, temp['tid'],
  198 + showLoading: true);
  199 + }
  200 + },
  201 + child: Text('切换桌位',
  202 + style: TextStyle(
  203 + color: MyColours.color_199095,
  204 + fontSize: ScreenUtil().setSp(32)))),
  205 + ],
  206 + )),
  207 + Expanded(
  208 + child: SingleChildScrollView(
  209 + controller: _controller,
  210 + child: Column(
  211 + crossAxisAlignment: CrossAxisAlignment.start,
  212 + children: [
  213 + VEmptyView(60),
  214 + Consumer<UploadImageProvider>(
  215 + builder: (context, model, _) {
  216 + return ImgPickerWidget(
  217 + scrollController: _controller,
  218 + model: model,
  219 + maxImageNumber: 5,
  220 + uploadType: UploadType.TableManagerType,
  221 + deleteCallback: (int index) {
  222 + _delTablePhoto(
  223 + context,
  224 + _uploadImageProvider
  225 + .tableImageList[index]
  226 + .photoID,
  227 + index);
  228 + },
  229 + );
  230 + }),
  231 + ]))),
  232 + RoundButton(
  233 + text: '确定上传',
  234 + gradientStart: MyColours.color_199095,
  235 + gradientEnd: MyColours.color_199095,
  236 + // borderColor: MyColours.color_999999,
  237 + radius: ScreenUtil().setWidth(10),
  238 + fontSize: 34,
  239 + height: ScreenUtil().setWidth(80),
  240 + isBold: false,
  241 + onPressed: () {
  242 + for (UploadImgModel item
  243 + in _uploadImageProvider.tableImageList) {
  244 + if (item.process < 1) {
  245 + Utils.showToast('正在上传图片,请稍等');
  246 + return;
  247 + }
  248 + }
  249 + //接口,和桌子绑定
  250 + List imageQiniuUrlList = [];
  251 + for (int i = 0;
  252 + i < _uploadImageProvider.tableImageList.length;
  253 + i++) {
  254 + if (!_uploadImageProvider
  255 + .tableImageList[i].isUpload) {
  256 + imageQiniuUrlList.add({
  257 + "url": _uploadImageProvider
  258 + .tableImageList[i].qiniuUrl
  259 + });
  260 + }
  261 + }
  262 + _setTablePhoto(context, imageQiniuUrlList);
  263 + },
  264 + )
  265 + ])))));
204 } 266 }
205 } 267 }
206 268
@@ -3,6 +3,7 @@ import 'package:one_key/constant/constant.dart'; @@ -3,6 +3,7 @@ import 'package:one_key/constant/constant.dart';
3 import 'package:one_key/constant/error.dart'; 3 import 'package:one_key/constant/error.dart';
4 import 'package:one_key/models/base_info_model.dart'; 4 import 'package:one_key/models/base_info_model.dart';
5 import 'package:one_key/models/seller_phone_model.dart'; 5 import 'package:one_key/models/seller_phone_model.dart';
  6 +import 'package:one_key/models/table_photo_model.dart';
6 import 'package:one_key/net/base_resp.dart'; 7 import 'package:one_key/net/base_resp.dart';
7 import 'package:one_key/net/dio_util.dart'; 8 import 'package:one_key/net/dio_util.dart';
8 import 'package:one_key/net/http_url.dart'; 9 import 'package:one_key/net/http_url.dart';
@@ -12,7 +13,7 @@ import 'package:provider/provider.dart'; @@ -12,7 +13,7 @@ import 'package:provider/provider.dart';
12 13
13 class BaseIndoProvider with ChangeNotifier { 14 class BaseIndoProvider with ChangeNotifier {
14 BaseInfoSunModel baseInfoSunModel; //客户经理基础信息 15 BaseInfoSunModel baseInfoSunModel; //客户经理基础信息
15 - List<SellerPhoneSunModel> photoList = []; //商家图片信息 16 + List<String> photoList = []; //商家图片信息
16 17
17 ///客户经理添加/修改基本信息 18 ///客户经理添加/修改基本信息
18 Future<dynamic> setCustomerActivityBaseinfo( 19 Future<dynamic> setCustomerActivityBaseinfo(
@@ -83,35 +84,64 @@ class BaseIndoProvider with ChangeNotifier { @@ -83,35 +84,64 @@ class BaseIndoProvider with ChangeNotifier {
83 } 84 }
84 } 85 }
85 86
86 - ///根据商家ID获取对应类型图片  
87 - Future<bool> getSellerPhotoById( 87 + // ///根据商家ID获取对应类型图片
  88 + // Future<bool> getSellerPhotoById(
  89 + // BuildContext context, Map<String, String> params,
  90 + // {isShowLoading = true}) async {
  91 + // BaseResp<dynamic> baseResp = await DioUtil()
  92 + // .request<dynamic>(context, Method.get, HttpUrl.get_seller_photo_by_id,
  93 + // data: params, showLoading: isShowLoading)
  94 + // .catchError((error) {
  95 + // print(error.toString());
  96 + // if (error is MyError) {}
  97 + // });
  98 + // if (baseResp.code == Constant.status_success) {
  99 + // if (baseResp.data == null || baseResp.data == false) {
  100 + // return false;
  101 + // } else {
  102 + // photoList = SellerPhoneModel.fromJson(baseResp.responseData).data;
  103 + // // for (int i = 0; i < couponListSelect.length; i++) {
  104 + // // coupons.add(couponListSelect[i].id);
  105 + // // // couponsShow.add(couponTemp[i].id);
  106 + // // }
  107 + // // hasModify = true;
  108 + // notifyListeners();
  109 + // return true;
  110 + // }
  111 + // } else {
  112 + // if (baseResp != null) {
  113 + // Utils.showToast(baseResp.msg ?? "");
  114 + // }
  115 + // return false;
  116 + // }
  117 + // }
  118 +
  119 + ///App获取桌位关联图片
  120 + Future<dynamic> getTablePhoto(
88 BuildContext context, Map<String, String> params, 121 BuildContext context, Map<String, String> params,
89 {isShowLoading = true}) async { 122 {isShowLoading = true}) async {
90 BaseResp<dynamic> baseResp = await DioUtil() 123 BaseResp<dynamic> baseResp = await DioUtil()
91 - .request<dynamic>(context, Method.get, HttpUrl.get_seller_photo_by_id, 124 + .request<dynamic>(context, Method.get, HttpUrl.get_table_photo,
92 data: params, showLoading: isShowLoading) 125 data: params, showLoading: isShowLoading)
93 .catchError((error) { 126 .catchError((error) {
94 print(error.toString()); 127 print(error.toString());
95 if (error is MyError) {} 128 if (error is MyError) {}
96 }); 129 });
97 if (baseResp.code == Constant.status_success) { 130 if (baseResp.code == Constant.status_success) {
98 - if (baseResp.data == null || baseResp.data == false) {  
99 - return false; 131 + if (baseResp.data == null) {
100 } else { 132 } else {
101 - photoList = SellerPhoneModel.fromJson(baseResp.responseData).data;  
102 - // for (int i = 0; i < couponListSelect.length; i++) {  
103 - // coupons.add(couponListSelect[i].id);  
104 - // // couponsShow.add(couponTemp[i].id);  
105 - // }  
106 - // hasModify = true; 133 + List<TablePhotoSunModel> tablePhotoList =
  134 + TablePhotoModel.fromJson(baseResp.responseData).data;
  135 + for (int i = 0; i < tablePhotoList.length; i++) {
  136 + photoList.add(tablePhotoList[i].url);
  137 + }
107 notifyListeners(); 138 notifyListeners();
108 - return true;  
109 } 139 }
110 } else { 140 } else {
111 if (baseResp != null) { 141 if (baseResp != null) {
112 Utils.showToast(baseResp.msg ?? ""); 142 Utils.showToast(baseResp.msg ?? "");
113 } 143 }
114 - return false; 144 + return [];
115 } 145 }
116 } 146 }
117 } 147 }
@@ -313,7 +313,8 @@ class TableManagerModel with ChangeNotifier { @@ -313,7 +313,8 @@ class TableManagerModel with ChangeNotifier {
313 } 313 }
314 314
315 //获取已预订列表 315 //获取已预订列表
316 - getReserveList(BuildContext context, {bool needLoading = true}) async { 316 + getReserveList(BuildContext context,
  317 + {bool needLoading = true, bool needKeep = false}) async {
317 tableMap.clear(); 318 tableMap.clear();
318 NoteBookModel model = new NoteBookModel(); 319 NoteBookModel model = new NoteBookModel();
319 Map<String, String> params = { 320 Map<String, String> params = {
@@ -325,7 +326,7 @@ class TableManagerModel with ChangeNotifier { @@ -325,7 +326,7 @@ class TableManagerModel with ChangeNotifier {
325 "keywords": "", 326 "keywords": "",
326 "sort": "1" 327 "sort": "1"
327 }; 328 };
328 - if (needLoading) { 329 + if ( needLoading) {
329 pageState = PageState.Loading; 330 pageState = PageState.Loading;
330 notifyListeners(); 331 notifyListeners();
331 } 332 }
@@ -344,7 +345,7 @@ class TableManagerModel with ChangeNotifier { @@ -344,7 +345,7 @@ class TableManagerModel with ChangeNotifier {
344 } 345 }
345 } 346 }
346 print(tableMap); 347 print(tableMap);
347 - initData(); 348 + initData(needKeep: needKeep);
348 } 349 }
349 350
350 //获取已预订订单 351 //获取已预订订单
@@ -405,7 +406,7 @@ class TableManagerModel with ChangeNotifier { @@ -405,7 +406,7 @@ class TableManagerModel with ChangeNotifier {
405 } 406 }
406 407
407 //初始桌位数据 408 //初始桌位数据
408 - initData() { 409 + initData({bool needKeep = false}) {
409 areas.clear(); 410 areas.clear();
410 areaTableMap.clear(); 411 areaTableMap.clear();
411 for (TableOuter outer in tableOuterList) { 412 for (TableOuter outer in tableOuterList) {
@@ -442,9 +443,11 @@ class TableManagerModel with ChangeNotifier { @@ -442,9 +443,11 @@ class TableManagerModel with ChangeNotifier {
442 areas.add(area); 443 areas.add(area);
443 } 444 }
444 if (areaTableMap.isNotEmpty) { 445 if (areaTableMap.isNotEmpty) {
445 - currentArea = areaTableMap.keys.first;  
446 - currentTables = areaTableMap[currentArea];  
447 - pageState = PageState.Success; 446 + if (!needKeep) {
  447 + currentArea = areaTableMap.keys.first;
  448 + currentTables = areaTableMap[currentArea];
  449 + pageState = PageState.Success;
  450 + }
448 } else { 451 } else {
449 // pageState = PageState.Empty; 452 // pageState = PageState.Empty;
450 pageState = PageState.Success; 453 pageState = PageState.Success;
@@ -60,4 +60,32 @@ class TablePhotoManagerModel with ChangeNotifier { @@ -60,4 +60,32 @@ class TablePhotoManagerModel with ChangeNotifier {
60 return []; 60 return [];
61 } 61 }
62 } 62 }
  63 +
  64 + ///App删除桌位关联图片
  65 + Future<dynamic> delTablePhoto(
  66 + BuildContext context, Map<String, String> params,
  67 + {isShowLoading = true}) async {
  68 + BaseResp<dynamic> baseResp = await DioUtil()
  69 + .request<dynamic>(context, Method.get, HttpUrl.del_table_photo,
  70 + data: params, showLoading: isShowLoading)
  71 + .catchError((error) {
  72 + print(error.toString());
  73 + if (error is MyError) {}
  74 + return false;
  75 + });
  76 + if (baseResp.code == Constant.status_success) {
  77 + if (baseResp.data != null) {
  78 + Utils.showToast("删除桌位图片成功!");
  79 + return true;
  80 + } else {
  81 + Utils.showToast(baseResp.msg ?? "删除失败");
  82 + return false;
  83 + }
  84 + } else {
  85 + if (baseResp != null) {
  86 + Utils.showToast(baseResp.msg ?? "删除失败");
  87 + }
  88 + return false;
  89 + }
  90 + }
63 } 91 }
@@ -13,7 +13,7 @@ import 'package:one_key/utils/utils.dart'; @@ -13,7 +13,7 @@ import 'package:one_key/utils/utils.dart';
13 13
14 class UploadImageProvider extends ChangeNotifier { 14 class UploadImageProvider extends ChangeNotifier {
15 List<UploadImgModel> imageList = []; //图片信息列表 15 List<UploadImgModel> imageList = []; //图片信息列表
16 - List<dynamic> imageQiniuUrlList = []; //七牛云地址列表 16 + List<String> imageQiniuUrlList = []; //七牛云地址列表
17 QiniuInfoSunModel qiniuInfoSunModel; 17 QiniuInfoSunModel qiniuInfoSunModel;
18 UploadImgModel touxiang = UploadImgModel(); //头像 18 UploadImgModel touxiang = UploadImgModel(); //头像
19 UploadImgModel erweima = UploadImgModel(); //二维码 19 UploadImgModel erweima = UploadImgModel(); //二维码
@@ -59,14 +59,17 @@ class NavigatorUtil { @@ -59,14 +59,17 @@ class NavigatorUtil {
59 /// 选择桌位 59 /// 选择桌位
60 static Future goSelectTablePage( 60 static Future goSelectTablePage(
61 BuildContext context, String rid, int dateTime, String ddate_slot, 61 BuildContext context, String rid, int dateTime, String ddate_slot,
62 - {bool canChoose = false, Map object}) { 62 + {bool canChoose = false,
  63 + Map object,
  64 + String fromPage = 'change',
  65 + String tid = ''}) {
63 if (object != null) { 66 if (object != null) {
64 return _navigateTo(context, 67 return _navigateTo(context,
65 - "${Routes.select_table}?rid=$rid&dateTime=$dateTime&ddate_slot=$ddate_slot&canChoose=$canChoose&object=${FluroConvertUtils.object2string(object)}"); 68 + "${Routes.select_table}?rid=$rid&tid=$tid&dateTime=$dateTime&fromPage=$fromPage&ddate_slot=$ddate_slot&canChoose=$canChoose&object=${FluroConvertUtils.object2string(object)}");
66 } 69 }
67 // object = {'object': [], "tid": ''}; 70 // object = {'object': [], "tid": ''};
68 return _navigateTo(context, 71 return _navigateTo(context,
69 - "${Routes.select_table}?rid=$rid&dateTime=$dateTime&ddate_slot=$ddate_slot&canChoose=$canChoose"); 72 + "${Routes.select_table}?rid=$rid&tid=$tid&dateTime=$dateTime&fromPage=$fromPage&ddate_slot=$ddate_slot&canChoose=$canChoose");
70 } 73 }
71 74
72 /// 邀请函 75 /// 邀请函
@@ -78,9 +81,10 @@ class NavigatorUtil { @@ -78,9 +81,10 @@ class NavigatorUtil {
78 String ddateStr, 81 String ddateStr,
79 String phone, 82 String phone,
80 String ddate_solt, 83 String ddate_solt,
81 - {bool replace = false}) { 84 + {bool replace = false,
  85 + String tid}) {
82 _navigateTo(context, 86 _navigateTo(context,
83 - "${Routes.invication}?rid=$rid&tableInfo=${FluroConvertUtils.fluroCnParamsEncode(tableInfo)}&ddate=$ddate&ddateStr=${FluroConvertUtils.fluroCnParamsEncode(ddateStr)}&phone=$phone&ddate_solt=$ddate_solt", 87 + "${Routes.invication}?rid=$rid&tid=$tid&tableInfo=${FluroConvertUtils.fluroCnParamsEncode(tableInfo)}&ddate=$ddate&ddateStr=${FluroConvertUtils.fluroCnParamsEncode(ddateStr)}&phone=$phone&ddate_solt=$ddate_solt",
84 replace: replace); 88 replace: replace);
85 } 89 }
86 90
@@ -56,7 +56,7 @@ import 'package:one_key/provider/notebook_detail_model.dart'; @@ -56,7 +56,7 @@ import 'package:one_key/provider/notebook_detail_model.dart';
56 import 'package:one_key/provider/order_food_provider.dart'; 56 import 'package:one_key/provider/order_food_provider.dart';
57 import 'package:one_key/provider/other_login_provider.dart'; 57 import 'package:one_key/provider/other_login_provider.dart';
58 import 'package:one_key/provider/remark_manager_model.dart'; 58 import 'package:one_key/provider/remark_manager_model.dart';
59 -import 'package:one_key/provider/table_photo_anager_provider.dart'; 59 +import 'package:one_key/provider/table_photo_manager_provider.dart';
60 import 'package:one_key/provider/upload_img_provider.dart'; 60 import 'package:one_key/provider/upload_img_provider.dart';
61 import 'package:one_key/utils/fluro_convert_utils.dart'; 61 import 'package:one_key/utils/fluro_convert_utils.dart';
62 import 'package:provider/provider.dart'; 62 import 'package:provider/provider.dart';
@@ -110,9 +110,11 @@ var handleOnlineHandler = new Handler( @@ -110,9 +110,11 @@ var handleOnlineHandler = new Handler(
110 var handleSelectTableHandler = new Handler( 110 var handleSelectTableHandler = new Handler(
111 handlerFunc: (BuildContext context, Map<String, List<Object>> params) { 111 handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
112 String rid = params['rid'].first; 112 String rid = params['rid'].first;
  113 + String tid = params['tid'].first;
113 DateTime dateTime = 114 DateTime dateTime =
114 DateTime.fromMillisecondsSinceEpoch(int.parse(params["dateTime"].first)); 115 DateTime.fromMillisecondsSinceEpoch(int.parse(params["dateTime"].first));
115 String ddate_slot = params["ddate_slot"].first; 116 String ddate_slot = params["ddate_slot"].first;
  117 + String fromPage = params["fromPage"].first;
116 bool canChoose = params["canChoose"].first == "true" ? true : false; 118 bool canChoose = params["canChoose"].first == "true" ? true : false;
117 List<TableList> res = []; 119 List<TableList> res = [];
118 if (params.keys.contains('object')) { 120 if (params.keys.contains('object')) {
@@ -128,7 +130,7 @@ var handleSelectTableHandler = new Handler( @@ -128,7 +130,7 @@ var handleSelectTableHandler = new Handler(
128 return ChangeNotifierProvider<ChooseTableModel>( 130 return ChangeNotifierProvider<ChooseTableModel>(
129 create: (_) => ChooseTableModel(), 131 create: (_) => ChooseTableModel(),
130 child: SelectTablePage(rid, dateTime, ddate_slot, 132 child: SelectTablePage(rid, dateTime, ddate_slot,
131 - canChoose: canChoose, tableList: res)); 133 + canChoose: canChoose, tableList: res, fromPage: fromPage, tid: tid));
132 }); 134 });
133 135
134 // 跳转到邀请函页面 136 // 跳转到邀请函页面
@@ -142,10 +144,11 @@ var handleInvicationHandler = new Handler( @@ -142,10 +144,11 @@ var handleInvicationHandler = new Handler(
142 FluroConvertUtils.fluroCnParamsDecode(params["ddateStr"].first); 144 FluroConvertUtils.fluroCnParamsDecode(params["ddateStr"].first);
143 String phone = params["phone"].first; 145 String phone = params["phone"].first;
144 String ddate_solt = params["ddate_solt"].first; 146 String ddate_solt = params["ddate_solt"].first;
  147 + String tid = params["tid"].first;
145 return ChangeNotifierProvider<BaseIndoProvider>( 148 return ChangeNotifierProvider<BaseIndoProvider>(
146 create: (_) => BaseIndoProvider(), 149 create: (_) => BaseIndoProvider(),
147 child: 150 child:
148 - InvicationPage(rid, tableInfo, ddate, ddateStr, phone, ddate_solt)); 151 + InvicationPage(rid, tableInfo, ddate, ddateStr, phone, ddate_solt,tid));
149 }); 152 });
150 153
151 // 发短信 154 // 发短信
@@ -9,7 +9,7 @@ import 'package:one_key/widgets/v_empty_view.dart'; @@ -9,7 +9,7 @@ import 'package:one_key/widgets/v_empty_view.dart';
9 class TableItem extends StatefulWidget { 9 class TableItem extends StatefulWidget {
10 final t.Table table; 10 final t.Table table;
11 final bool canSelected; //是否能选中 11 final bool canSelected; //是否能选中
12 - final ValueChanged onSelected; 12 + final ValueChanged<t.Table> onSelected;
13 final String fromPage; // 变更、新建、桌位管理三个页面 13 final String fromPage; // 变更、新建、桌位管理三个页面
14 final String rid; 14 final String rid;
15 final Map<String, Notebook> tableMap; //记录已预订桌位对应的订单 15 final Map<String, Notebook> tableMap; //记录已预订桌位对应的订单
@@ -82,6 +82,12 @@ class TableItemState extends State<TableItem> { @@ -82,6 +82,12 @@ class TableItemState extends State<TableItem> {
82 } else if (widget.fromPage == 'table_manage') { 82 } else if (widget.fromPage == 'table_manage') {
83 table.selected = !(table.selected ?? false); 83 table.selected = !(table.selected ?? false);
84 widget.onSelected(table); 84 widget.onSelected(table);
  85 + } else if (widget.fromPage == 'tablePhoto') {
  86 + // setState(() {
  87 + // table.selected = true;
  88 + // });
  89 +
  90 + widget.onSelected(table);
85 } 91 }
86 }, 92 },
87 child: Stack( 93 child: Stack(