Showing
18 changed files
with
418 additions
and
227 deletions
| @@ -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( |
-
Please register or login to post a comment