Showing
8 changed files
with
369 additions
and
191 deletions
| @@ -12,6 +12,7 @@ class Constant { | @@ -12,6 +12,7 @@ class Constant { | ||
| 12 | 12 | ||
| 13 | // static const Map<String, List<String>> paidVersionsConfig = { | 13 | // static const Map<String, List<String>> paidVersionsConfig = { |
| 14 | // '经理排菜': ['查看详情', '删除', '复用', '创建排菜'], | 14 | // '经理排菜': ['查看详情', '删除', '复用', '创建排菜'], |
| 15 | + | ||
| 15 | // }; | 16 | // }; |
| 16 | 17 | ||
| 17 | static const Map<String, List<String>> authorityConfig = { | 18 | static const Map<String, List<String>> authorityConfig = { |
| @@ -23,6 +23,7 @@ import '../../../../provider/store_base_info_provider.dart'; | @@ -23,6 +23,7 @@ import '../../../../provider/store_base_info_provider.dart'; | ||
| 23 | import '../../../../provider/upload_img_provider.dart'; | 23 | import '../../../../provider/upload_img_provider.dart'; |
| 24 | import '../../../../provider/user_model.dart'; | 24 | import '../../../../provider/user_model.dart'; |
| 25 | import '../../../../res/colors.dart'; | 25 | import '../../../../res/colors.dart'; |
| 26 | +import '../../../../utils/dialog_util.dart'; | ||
| 26 | import '../../../../utils/screen_util.dart'; | 27 | import '../../../../utils/screen_util.dart'; |
| 27 | import '../../../../utils/upload_image_util.dart'; | 28 | import '../../../../utils/upload_image_util.dart'; |
| 28 | import '../../../../widgets/page_exception.dart'; | 29 | import '../../../../widgets/page_exception.dart'; |
| @@ -150,33 +151,33 @@ class _BookInfoPageState extends State<BookInfoPage> { | @@ -150,33 +151,33 @@ class _BookInfoPageState extends State<BookInfoPage> { | ||
| 150 | 151 | ||
| 151 | Widget _item(String title, {bool select, GestureTapCallback onTap}) { | 152 | Widget _item(String title, {bool select, GestureTapCallback onTap}) { |
| 152 | return InkWell( | 153 | return InkWell( |
| 153 | - onTap: onTap, | ||
| 154 | - child: Container( | ||
| 155 | - decoration: BoxDecoration( | ||
| 156 | - border: Border( | ||
| 157 | - bottom: BorderSide( | ||
| 158 | - color: MyColours.color_E7E7E7, width: w(0.5)))), | ||
| 159 | - margin: EdgeInsets.only(left: w(16)), | ||
| 160 | - padding: EdgeInsets.only(top: w(12), bottom: w(12), right: w(16)), | ||
| 161 | - child: Row( | ||
| 162 | - children: [ | ||
| 163 | - Text( | ||
| 164 | - title, | ||
| 165 | - style: TextStyle( | ||
| 166 | - color: MyColours.color_515151, | ||
| 167 | - fontSize: ScreenUtil().setWidth(32)), | 154 | + onTap: onTap, |
| 155 | + child: Container( | ||
| 156 | + decoration: BoxDecoration( | ||
| 157 | + border: Border( | ||
| 158 | + bottom: BorderSide( | ||
| 159 | + color: MyColours.color_E7E7E7, width: w(0.5)))), | ||
| 160 | + margin: EdgeInsets.only(left: w(16)), | ||
| 161 | + padding: EdgeInsets.only(top: w(12), bottom: w(12), right: w(16)), | ||
| 162 | + child: Row( | ||
| 163 | + children: [ | ||
| 164 | + Text( | ||
| 165 | + title, | ||
| 166 | + style: TextStyle( | ||
| 167 | + color: MyColours.color_515151, | ||
| 168 | + fontSize: ScreenUtil().setWidth(32)), | ||
| 169 | + ), | ||
| 170 | + Spacer(), | ||
| 171 | + Container( | ||
| 172 | + padding: EdgeInsets.symmetric(horizontal: w(7), vertical: w(4)), | ||
| 173 | + child: Image.asset( | ||
| 174 | + Utils.getImgPath(select ? 'swich_on' : 'swich_off'), | ||
| 175 | + width: w(44), | ||
| 168 | ), | 176 | ), |
| 169 | - Spacer(), | ||
| 170 | - Container( | ||
| 171 | - padding: | ||
| 172 | - EdgeInsets.symmetric(horizontal: w(7), vertical: w(4)), | ||
| 173 | - child: Image.asset( | ||
| 174 | - Utils.getImgPath(select ? 'swich_on' : 'swich_off'), | ||
| 175 | - width: w(44), | ||
| 176 | - ), | ||
| 177 | - ) | ||
| 178 | - ], | ||
| 179 | - ))); | 177 | + ) |
| 178 | + ], | ||
| 179 | + )), | ||
| 180 | + ); | ||
| 180 | } | 181 | } |
| 181 | 182 | ||
| 182 | _itemTitleAndSubTtile(String title, String subtitle) { | 183 | _itemTitleAndSubTtile(String title, String subtitle) { |
| @@ -449,11 +450,15 @@ class _BookInfoPageState extends State<BookInfoPage> { | @@ -449,11 +450,15 @@ class _BookInfoPageState extends State<BookInfoPage> { | ||
| 449 | VEmptyView(24), | 450 | VEmptyView(24), |
| 450 | _textFeildWidget(sloganC, '餐厅广告语', '点击输入广告语'), | 451 | _textFeildWidget(sloganC, '餐厅广告语', '点击输入广告语'), |
| 451 | 452 | ||
| 452 | - _item('附加餐厅首图', select: addFirstImage, onTap: () { | ||
| 453 | - setState(() { | ||
| 454 | - addFirstImage = !addFirstImage; | ||
| 455 | - }); | ||
| 456 | - }), | 453 | + _item( |
| 454 | + '附加餐厅首图', | ||
| 455 | + select: addFirstImage, | ||
| 456 | + onTap: () { | ||
| 457 | + setState(() { | ||
| 458 | + addFirstImage = !addFirstImage; | ||
| 459 | + }); | ||
| 460 | + }, | ||
| 461 | + ), | ||
| 457 | VEmptyView(24), | 462 | VEmptyView(24), |
| 458 | _uploadImageProvider.firstImage.file != null || | 463 | _uploadImageProvider.firstImage.file != null || |
| 459 | (_uploadImageProvider.firstImage.qiniuUrl != null && | 464 | (_uploadImageProvider.firstImage.qiniuUrl != null && |
| @@ -551,6 +556,40 @@ class _BookInfoPageState extends State<BookInfoPage> { | @@ -551,6 +556,40 @@ class _BookInfoPageState extends State<BookInfoPage> { | ||
| 551 | ), | 556 | ), |
| 552 | ) | 557 | ) |
| 553 | : Container()), | 558 | : Container()), |
| 559 | + if (_uploadImageProvider | ||
| 560 | + .firstImage.process == | ||
| 561 | + 1) | ||
| 562 | + Positioned( | ||
| 563 | + top: 0, | ||
| 564 | + right: 0, | ||
| 565 | + child: GestureDetector( | ||
| 566 | + child: Image.asset( | ||
| 567 | + Utils.getImgPath("delete"), | ||
| 568 | + width: ScreenUtil().setWidth(40), | ||
| 569 | + height: ScreenUtil().setWidth(40), | ||
| 570 | + ), | ||
| 571 | + onTap: () { | ||
| 572 | + //已经传到服务器,弹提醒窗口,是否删除 | ||
| 573 | + //修改之前有内容,则弹框 | ||
| 574 | + DialogUtil.cupertinoAlertDialog( | ||
| 575 | + context, | ||
| 576 | + title: "", | ||
| 577 | + content: "是否确定删除该照片?", | ||
| 578 | + lCallback: () { | ||
| 579 | + print("取消"); | ||
| 580 | + }, rCallback: () { | ||
| 581 | + _uploadImageProvider | ||
| 582 | + .firstImage.qiniuUrl = null; | ||
| 583 | + _uploadImageProvider | ||
| 584 | + .firstImage.file = null; | ||
| 585 | + _uploadImageProvider.firstImage | ||
| 586 | + .isUpload = false; | ||
| 587 | + _uploadImageProvider | ||
| 588 | + .firstImage.process = 0; | ||
| 589 | + setState(() {}); | ||
| 590 | + }); | ||
| 591 | + }, | ||
| 592 | + )), | ||
| 554 | ]), | 593 | ]), |
| 555 | _uploadImageProvider.firstImage.process == 1 | 594 | _uploadImageProvider.firstImage.process == 1 |
| 556 | ? Container( | 595 | ? Container( |
| @@ -793,6 +832,41 @@ class _BookInfoPageState extends State<BookInfoPage> { | @@ -793,6 +832,41 @@ class _BookInfoPageState extends State<BookInfoPage> { | ||
| 793 | ), | 832 | ), |
| 794 | ) | 833 | ) |
| 795 | : Container()), | 834 | : Container()), |
| 835 | + if (_uploadImageProvider.logo.process == | ||
| 836 | + 1) | ||
| 837 | + Positioned( | ||
| 838 | + top: 0, | ||
| 839 | + right: 0, | ||
| 840 | + child: GestureDetector( | ||
| 841 | + child: Image.asset( | ||
| 842 | + Utils.getImgPath("delete"), | ||
| 843 | + width: | ||
| 844 | + ScreenUtil().setWidth(40), | ||
| 845 | + height: | ||
| 846 | + ScreenUtil().setWidth(40), | ||
| 847 | + ), | ||
| 848 | + onTap: () { | ||
| 849 | + //已经传到服务器,弹提醒窗口,是否删除 | ||
| 850 | + //修改之前有内容,则弹框 | ||
| 851 | + DialogUtil.cupertinoAlertDialog( | ||
| 852 | + context, | ||
| 853 | + title: "", | ||
| 854 | + content: "是否确定删除该照片?", | ||
| 855 | + lCallback: () { | ||
| 856 | + print("取消"); | ||
| 857 | + }, rCallback: () { | ||
| 858 | + _uploadImageProvider | ||
| 859 | + .logo.qiniuUrl = null; | ||
| 860 | + _uploadImageProvider | ||
| 861 | + .logo.file = null; | ||
| 862 | + _uploadImageProvider | ||
| 863 | + .logo.isUpload = false; | ||
| 864 | + _uploadImageProvider | ||
| 865 | + .logo.process = 0.01; | ||
| 866 | + setState(() {}); | ||
| 867 | + }); | ||
| 868 | + }, | ||
| 869 | + )), | ||
| 796 | ]), | 870 | ]), |
| 797 | _uploadImageProvider.logo.process == 1 | 871 | _uploadImageProvider.logo.process == 1 |
| 798 | ? Container( | 872 | ? Container( |
| @@ -840,29 +914,30 @@ class _BookInfoPageState extends State<BookInfoPage> { | @@ -840,29 +914,30 @@ class _BookInfoPageState extends State<BookInfoPage> { | ||
| 840 | context, _uploadImageProvider.logo, 9); | 914 | context, _uploadImageProvider.logo, 9); |
| 841 | }, | 915 | }, |
| 842 | child: Container( | 916 | child: Container( |
| 843 | - // color: MyColours.color_d9d9d9, | 917 | + color: MyColours.color_d9d9d9, |
| 844 | width: double.infinity, | 918 | width: double.infinity, |
| 845 | height: w(180), | 919 | height: w(180), |
| 846 | child: Column( | 920 | child: Column( |
| 847 | mainAxisAlignment: MainAxisAlignment.center, | 921 | mainAxisAlignment: MainAxisAlignment.center, |
| 848 | children: [ | 922 | children: [ |
| 923 | + // VEmptyView(80), | ||
| 849 | Image.asset( | 924 | Image.asset( |
| 850 | - Utils.getImgPath('add_img_grey'), | 925 | + Utils.getImgPath('add_img'), |
| 851 | width: w(63), | 926 | width: w(63), |
| 852 | ), | 927 | ), |
| 853 | VEmptyView(28), | 928 | VEmptyView(28), |
| 854 | - Padding( | ||
| 855 | - padding: EdgeInsets.symmetric( | ||
| 856 | - vertical: w(10), | ||
| 857 | - ), | ||
| 858 | - child: Text( | ||
| 859 | - '点击上传餐厅logo', | ||
| 860 | - style: TextStyle( | ||
| 861 | - color: MyColours.color_999999, | ||
| 862 | - fontSize: font(14), | ||
| 863 | - fontWeight: FontWeight.bold), | ||
| 864 | - ), | ||
| 865 | - ) | 929 | + Container( |
| 930 | + width: w(139), | ||
| 931 | + height: w(60), | ||
| 932 | + child: Text( | ||
| 933 | + '点击上传照片', | ||
| 934 | + textAlign: TextAlign.center, | ||
| 935 | + style: TextStyle( | ||
| 936 | + height: 1.4, | ||
| 937 | + color: MyColours.color_ffffff, | ||
| 938 | + fontSize: font(14), | ||
| 939 | + fontWeight: FontWeight.bold), | ||
| 940 | + )) | ||
| 866 | ], | 941 | ], |
| 867 | ), | 942 | ), |
| 868 | )), | 943 | )), |
| @@ -902,7 +977,8 @@ class _BookInfoPageState extends State<BookInfoPage> { | @@ -902,7 +977,8 @@ class _BookInfoPageState extends State<BookInfoPage> { | ||
| 902 | return false; | 977 | return false; |
| 903 | } | 978 | } |
| 904 | 979 | ||
| 905 | - if (_uploadImageProvider.firstImage.process < 1 && | 980 | + if (addFirstImage && |
| 981 | + _uploadImageProvider.firstImage.process < 1 && | ||
| 906 | _uploadImageProvider.firstImage.process > 0) { | 982 | _uploadImageProvider.firstImage.process > 0) { |
| 907 | Utils.showToast('正在上传餐厅首图!,请稍等'); | 983 | Utils.showToast('正在上传餐厅首图!,请稍等'); |
| 908 | return false; | 984 | return false; |
| @@ -913,7 +989,7 @@ class _BookInfoPageState extends State<BookInfoPage> { | @@ -913,7 +989,7 @@ class _BookInfoPageState extends State<BookInfoPage> { | ||
| 913 | return false; | 989 | return false; |
| 914 | } | 990 | } |
| 915 | 991 | ||
| 916 | - if (_uploadImageProvider.logo.process < 1) { | 992 | + if (addLogo && _uploadImageProvider.logo.process < 1) { |
| 917 | Utils.showToast('正在上传餐厅logo!,请稍等'); | 993 | Utils.showToast('正在上传餐厅logo!,请稍等'); |
| 918 | return false; | 994 | return false; |
| 919 | } | 995 | } |
| @@ -959,16 +1035,25 @@ class _BookInfoPageState extends State<BookInfoPage> { | @@ -959,16 +1035,25 @@ class _BookInfoPageState extends State<BookInfoPage> { | ||
| 959 | // 'lat': lat | 1035 | // 'lat': lat |
| 960 | }; | 1036 | }; |
| 961 | 1037 | ||
| 962 | - Map marketing = marketingCenterProvider | ||
| 963 | - .markDataModel.marketing | ||
| 964 | - .toJson(); | 1038 | + Map marketing = {}; |
| 1039 | + if (marketingCenterProvider.markDataModel != null && | ||
| 1040 | + marketingCenterProvider.markDataModel.marketing != | ||
| 1041 | + null) { | ||
| 1042 | + marketing = marketingCenterProvider | ||
| 1043 | + .markDataModel.marketing | ||
| 1044 | + .toJson(); | ||
| 1045 | + } | ||
| 965 | print(marketing); | 1046 | print(marketing); |
| 966 | marketing['is_logo'] = addLogo ? '1' : '0'; | 1047 | marketing['is_logo'] = addLogo ? '1' : '0'; |
| 967 | marketing['logo'] = _uploadImageProvider.logo.qiniuUrl; | 1048 | marketing['logo'] = _uploadImageProvider.logo.qiniuUrl; |
| 968 | marketing['wecomle'] = welcomeC.text ?? ''; | 1049 | marketing['wecomle'] = welcomeC.text ?? ''; |
| 969 | 1050 | ||
| 970 | - Map home = | ||
| 971 | - marketingCenterProvider.markDataModel.home.toJson(); | 1051 | + Map home = {}; |
| 1052 | + if (marketingCenterProvider.markDataModel != null && | ||
| 1053 | + marketingCenterProvider.markDataModel.home != null) { | ||
| 1054 | + home = | ||
| 1055 | + marketingCenterProvider.markDataModel.home.toJson(); | ||
| 1056 | + } | ||
| 972 | print(home); | 1057 | print(home); |
| 973 | home['slogan'] = sloganC.text; | 1058 | home['slogan'] = sloganC.text; |
| 974 | home['id_first_image'] = addFirstImage ? '1' : '0'; | 1059 | home['id_first_image'] = addFirstImage ? '1' : '0'; |
| @@ -16,6 +16,7 @@ import '../../../../provider/marketing_center_provider.dart'; | @@ -16,6 +16,7 @@ import '../../../../provider/marketing_center_provider.dart'; | ||
| 16 | import '../../../../provider/upload_img_provider.dart'; | 16 | import '../../../../provider/upload_img_provider.dart'; |
| 17 | import '../../../../provider/user_model.dart'; | 17 | import '../../../../provider/user_model.dart'; |
| 18 | import '../../../../res/colors.dart'; | 18 | import '../../../../res/colors.dart'; |
| 19 | +import '../../../../utils/dialog_util.dart'; | ||
| 19 | import '../../../../utils/screen_util.dart'; | 20 | import '../../../../utils/screen_util.dart'; |
| 20 | import '../../../../utils/upload_image_util.dart'; | 21 | import '../../../../utils/upload_image_util.dart'; |
| 21 | import '../../../../utils/utils.dart'; | 22 | import '../../../../utils/utils.dart'; |
| @@ -337,6 +338,31 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> { | @@ -337,6 +338,31 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> { | ||
| 337 | ), | 338 | ), |
| 338 | ) | 339 | ) |
| 339 | : Container()), | 340 | : Container()), |
| 341 | + if (_uploadImageProvider.firstImage.process == 1) | ||
| 342 | + Positioned( | ||
| 343 | + top: 0, | ||
| 344 | + right: 0, | ||
| 345 | + child: GestureDetector( | ||
| 346 | + child: Image.asset( | ||
| 347 | + Utils.getImgPath("delete"), | ||
| 348 | + width: ScreenUtil().setWidth(40), | ||
| 349 | + height: ScreenUtil().setWidth(40), | ||
| 350 | + ), | ||
| 351 | + onTap: () { | ||
| 352 | + //已经传到服务器,弹提醒窗口,是否删除 | ||
| 353 | + //修改之前有内容,则弹框 | ||
| 354 | + DialogUtil.cupertinoAlertDialog(context, | ||
| 355 | + title: "", content: "是否确定删除该照片?", lCallback: () { | ||
| 356 | + print("取消"); | ||
| 357 | + }, rCallback: () { | ||
| 358 | + _uploadImageProvider.firstImage.qiniuUrl = null; | ||
| 359 | + _uploadImageProvider.firstImage.file = null; | ||
| 360 | + _uploadImageProvider.firstImage.isUpload = false; | ||
| 361 | + _uploadImageProvider.firstImage.process = 0.01; | ||
| 362 | + setState(() {}); | ||
| 363 | + }); | ||
| 364 | + }, | ||
| 365 | + )) | ||
| 340 | ]), | 366 | ]), |
| 341 | _uploadImageProvider.firstImage.process == 1 | 367 | _uploadImageProvider.firstImage.process == 1 |
| 342 | ? Container( | 368 | ? Container( |
| @@ -422,7 +448,6 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> { | @@ -422,7 +448,6 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> { | ||
| 422 | // ); | 448 | // ); |
| 423 | } | 449 | } |
| 424 | 450 | ||
| 425 | - | ||
| 426 | ///图文分开 | 451 | ///图文分开 |
| 427 | Widget _separateWidget() { | 452 | Widget _separateWidget() { |
| 428 | return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ | 453 | return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ |
| @@ -602,12 +627,14 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> { | @@ -602,12 +627,14 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> { | ||
| 602 | Utils.showToast('请输入主厨介绍文字!'); | 627 | Utils.showToast('请输入主厨介绍文字!'); |
| 603 | return false; | 628 | return false; |
| 604 | } | 629 | } |
| 605 | - if (_uploadImageProvider.firstImage.qiniuUrl == null) { | 630 | + if (addChefImge && |
| 631 | + _uploadImageProvider.firstImage.qiniuUrl == null) { | ||
| 606 | Utils.showToast('请上传图片!'); | 632 | Utils.showToast('请上传图片!'); |
| 607 | return false; | 633 | return false; |
| 608 | } | 634 | } |
| 609 | 635 | ||
| 610 | - if (_uploadImageProvider.firstImage.process < 1) { | 636 | + if (addChefImge && |
| 637 | + _uploadImageProvider.firstImage.process < 1) { | ||
| 611 | Utils.showToast('正在上传图片,请稍等'); | 638 | Utils.showToast('正在上传图片,请稍等'); |
| 612 | return false; | 639 | return false; |
| 613 | } | 640 | } |
| @@ -246,19 +246,40 @@ class _DishShowPageState extends State<DishShowPage> { | @@ -246,19 +246,40 @@ class _DishShowPageState extends State<DishShowPage> { | ||
| 246 | scrollController: controller, | 246 | scrollController: controller, |
| 247 | model: _uploadImageProvider, | 247 | model: _uploadImageProvider, |
| 248 | index: 5, | 248 | index: 5, |
| 249 | - imageModel: _uploadImageProvider.storeImage1), | 249 | + imageModel: _uploadImageProvider.storeImage1, |
| 250 | + deleteCallback: () { | ||
| 251 | + _uploadImageProvider.storeImage1.qiniuUrl = null; | ||
| 252 | + _uploadImageProvider.storeImage1.file = null; | ||
| 253 | + _uploadImageProvider.storeImage1.isUpload = false; | ||
| 254 | + _uploadImageProvider.storeImage1.process = 0.01; | ||
| 255 | + setState(() {}); | ||
| 256 | + }), | ||
| 250 | VEmptyView(18), | 257 | VEmptyView(18), |
| 251 | ImgPickerInvitationWidget( | 258 | ImgPickerInvitationWidget( |
| 252 | scrollController: controller, | 259 | scrollController: controller, |
| 253 | model: _uploadImageProvider, | 260 | model: _uploadImageProvider, |
| 254 | index: 6, | 261 | index: 6, |
| 255 | - imageModel: _uploadImageProvider.storeImage2), | 262 | + imageModel: _uploadImageProvider.storeImage2, |
| 263 | + deleteCallback: () { | ||
| 264 | + _uploadImageProvider.storeImage2.qiniuUrl = null; | ||
| 265 | + _uploadImageProvider.storeImage2.file = null; | ||
| 266 | + _uploadImageProvider.storeImage2.isUpload = false; | ||
| 267 | + _uploadImageProvider.storeImage2.process = 0.01; | ||
| 268 | + setState(() {}); | ||
| 269 | + }), | ||
| 256 | VEmptyView(18), | 270 | VEmptyView(18), |
| 257 | ImgPickerInvitationWidget( | 271 | ImgPickerInvitationWidget( |
| 258 | scrollController: controller, | 272 | scrollController: controller, |
| 259 | model: _uploadImageProvider, | 273 | model: _uploadImageProvider, |
| 260 | index: 7, | 274 | index: 7, |
| 261 | - imageModel: _uploadImageProvider.storeImage3), | 275 | + imageModel: _uploadImageProvider.storeImage3, |
| 276 | + deleteCallback: () { | ||
| 277 | + _uploadImageProvider.storeImage3.qiniuUrl = null; | ||
| 278 | + _uploadImageProvider.storeImage3.file = null; | ||
| 279 | + _uploadImageProvider.storeImage3.isUpload = false; | ||
| 280 | + _uploadImageProvider.storeImage3.process = 0.01; | ||
| 281 | + setState(() {}); | ||
| 282 | + }), | ||
| 262 | VEmptyView(18), | 283 | VEmptyView(18), |
| 263 | ], | 284 | ], |
| 264 | ) | 285 | ) |
| @@ -34,7 +34,7 @@ import 'package:flutter_native_image/flutter_native_image.dart'; | @@ -34,7 +34,7 @@ import 'package:flutter_native_image/flutter_native_image.dart'; | ||
| 34 | 34 | ||
| 35 | typedef void OnPickImageCallback( | 35 | typedef void OnPickImageCallback( |
| 36 | double maxWidth, double maxHeight, int quality); | 36 | double maxWidth, double maxHeight, int quality); |
| 37 | -typedef void DeleteCallback(int index); | 37 | +typedef void DeleteCallback(); |
| 38 | 38 | ||
| 39 | class ImgPickerInvitationWidget extends StatefulWidget { | 39 | class ImgPickerInvitationWidget extends StatefulWidget { |
| 40 | final ScrollController scrollController; | 40 | final ScrollController scrollController; |
| @@ -513,52 +513,38 @@ class _ImgPickerInvitationWidgetState | @@ -513,52 +513,38 @@ class _ImgPickerInvitationWidgetState | ||
| 513 | ), | 513 | ), |
| 514 | ) | 514 | ) |
| 515 | : Container()), | 515 | : Container()), |
| 516 | - // Offstage( | ||
| 517 | - // offstage: imageModel.process < 1, | ||
| 518 | - // child: Align( | ||
| 519 | - // alignment: Alignment.topRight, | ||
| 520 | - // child: GestureDetector( | ||
| 521 | - // child: Image.asset( | ||
| 522 | - // Utils.getImgPath("f_delete"), | ||
| 523 | - // width: ScreenUtil().setWidth(40), | ||
| 524 | - // height: ScreenUtil().setWidth(40), | ||
| 525 | - // ), | ||
| 526 | - // onTap: () { | ||
| 527 | - // // if (widget.uploadType == | ||
| 528 | - // // UploadType.TableManagerType) { | ||
| 529 | - // // if (imageModel.isUpload) { | ||
| 530 | - // // //已经传到服务器,弹提醒窗口,是否删除 | ||
| 531 | - // // //修改之前有内容,则弹框 | ||
| 532 | - // // DialogUtil.cupertinoAlertDialog(context, | ||
| 533 | - // // title: "确认删除", | ||
| 534 | - // // content: "是否确定删除该照片,删除操作不可逆转,请谨慎操作", | ||
| 535 | - // // lCallback: () { | ||
| 536 | - // // print("取消"); | ||
| 537 | - // // }, rCallback: () { | ||
| 538 | - // // print("确定"); | ||
| 539 | - // // widget.deleteCallback(index); | ||
| 540 | - // // }); | ||
| 541 | - // // } else { | ||
| 542 | - // // //直接删除 | ||
| 543 | - // // setState(() { | ||
| 544 | - // // temp.removeWhere((element) => | ||
| 545 | - // // element == imageModel); | ||
| 546 | - // // }); | ||
| 547 | - // // } | ||
| 548 | - // // } else { | ||
| 549 | - // // //点击删除按钮 | ||
| 550 | - // // setState(() { | ||
| 551 | - // // temp.removeWhere((element) => | ||
| 552 | - // // element == imageModel); | ||
| 553 | - // // widget.model.storeImageList.removeWhere( | ||
| 554 | - // // (element) => | ||
| 555 | - // // element == | ||
| 556 | - // // widget.model.storeImageList[index]); | ||
| 557 | - // // }); | ||
| 558 | - // // } | ||
| 559 | - // }, | ||
| 560 | - // )), | ||
| 561 | - // ), | 516 | + Offstage( |
| 517 | + offstage: imageModel.process < 1, | ||
| 518 | + child: Align( | ||
| 519 | + alignment: Alignment.topRight, | ||
| 520 | + child: GestureDetector( | ||
| 521 | + child: Image.asset( | ||
| 522 | + Utils.getImgPath("delete"), | ||
| 523 | + width: ScreenUtil().setWidth(40), | ||
| 524 | + height: ScreenUtil().setWidth(40), | ||
| 525 | + ), | ||
| 526 | + onTap: () { | ||
| 527 | + // if (widget.uploadType == | ||
| 528 | + // UploadType.TableManagerType) { | ||
| 529 | + // if (imageModel.isUpload) { | ||
| 530 | + //已经传到服务器,弹提醒窗口,是否删除 | ||
| 531 | + //修改之前有内容,则弹框 | ||
| 532 | + DialogUtil.cupertinoAlertDialog(context, | ||
| 533 | + title: "", | ||
| 534 | + content: "是否确定删除该照片?", lCallback: () { | ||
| 535 | + print("取消"); | ||
| 536 | + }, rCallback: () { | ||
| 537 | + print("确定"); | ||
| 538 | + widget.deleteCallback(); | ||
| 539 | + }); | ||
| 540 | + // } else { | ||
| 541 | + // //直接删除 | ||
| 542 | + // setState(() { | ||
| 543 | + // temp.removeWhere((element) => | ||
| 544 | + // element == imageModel); | ||
| 545 | + // }); | ||
| 546 | + })), | ||
| 547 | + ), | ||
| 562 | ]), | 548 | ]), |
| 563 | imageModel.process == 1 | 549 | imageModel.process == 1 |
| 564 | ? Container( | 550 | ? Container( |
| @@ -1122,9 +1122,13 @@ class _MarkingInteractionPageState extends State<MarkingInteractionPage> { | @@ -1122,9 +1122,13 @@ class _MarkingInteractionPageState extends State<MarkingInteractionPage> { | ||
| 1122 | // Utils.showToast('请输入输入餐厅欢迎语!'); | 1122 | // Utils.showToast('请输入输入餐厅欢迎语!'); |
| 1123 | // return false; | 1123 | // return false; |
| 1124 | // } | 1124 | // } |
| 1125 | + Map marketing = {}; | ||
| 1126 | + if (marketingCenterProvider.markDataModel != null && | ||
| 1127 | + marketingCenterProvider.markDataModel.marketing != null) { | ||
| 1128 | + marketing = marketingCenterProvider.markDataModel.marketing | ||
| 1129 | + .toJson(); | ||
| 1130 | + } | ||
| 1125 | 1131 | ||
| 1126 | - Map marketing = | ||
| 1127 | - marketingCenterProvider.markDataModel.marketing.toJson(); | ||
| 1128 | print(marketing); | 1132 | print(marketing); |
| 1129 | marketing['is_transpond'] = isTranspond ? '1' : '0'; //转发同行客人 | 1133 | marketing['is_transpond'] = isTranspond ? '1' : '0'; //转发同行客人 |
| 1130 | marketing['is_online_book'] = isOnlineBook ? '1' : '0'; //在线预订 | 1134 | marketing['is_online_book'] = isOnlineBook ? '1' : '0'; //在线预订 |
| @@ -316,104 +316,130 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { | @@ -316,104 +316,130 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { | ||
| 316 | uploadType: UploadType.InvitationStoreType, | 316 | uploadType: UploadType.InvitationStoreType, |
| 317 | model: _uploadImageProvider, | 317 | model: _uploadImageProvider, |
| 318 | index: 5, | 318 | index: 5, |
| 319 | - imageModel: _uploadImageProvider.storeImage1), | ||
| 320 | - VEmptyView(18), | ||
| 321 | - ImgPickerInvitationWidget( | ||
| 322 | - scrollController: controller, | ||
| 323 | - uploadType: UploadType.InvitationStoreType, | ||
| 324 | - model: _uploadImageProvider, | ||
| 325 | - index: 6, | ||
| 326 | - imageModel: _uploadImageProvider.storeImage2, | ||
| 327 | - ), | ||
| 328 | - VEmptyView(18), | ||
| 329 | - ImgPickerInvitationWidget( | ||
| 330 | - scrollController: controller, | ||
| 331 | - uploadType: UploadType.InvitationStoreType, | ||
| 332 | - model: _uploadImageProvider, | ||
| 333 | - index: 7, | ||
| 334 | - imageModel: _uploadImageProvider.storeImage3), | ||
| 335 | - VEmptyView(18), | ||
| 336 | - ImgPickerInvitationWidget( | ||
| 337 | - scrollController: controller, | ||
| 338 | - model: _uploadImageProvider, | ||
| 339 | - index: 8, | ||
| 340 | - uploadType: UploadType.InvitationStoreType, | ||
| 341 | - imageModel: _uploadImageProvider.storeImage4, | ||
| 342 | - ), | ||
| 343 | - ], | ||
| 344 | - ); | ||
| 345 | - } | ||
| 346 | - | ||
| 347 | - ///图文合并 | ||
| 348 | - Widget _mergingWidget() { | ||
| 349 | - Color themColor = MyColours.color_0C0F0E; | ||
| 350 | - int colorValue = null; | ||
| 351 | - if (marketingCenterProvider.markDataModel.home != null && | ||
| 352 | - marketingCenterProvider.markDataModel.home.themeColor != null) { | ||
| 353 | - colorValue = | ||
| 354 | - int.parse(marketingCenterProvider.markDataModel.home.themeColor); | ||
| 355 | - } | ||
| 356 | - | ||
| 357 | - if (colorValue != null) { | ||
| 358 | - themColor = Color(colorValue); | ||
| 359 | - } | ||
| 360 | - return Column( | ||
| 361 | - children: [ | ||
| 362 | - Stack( | ||
| 363 | - children: [ | ||
| 364 | - ImgPickerInvitationWidget( | ||
| 365 | - scrollController: controller, | ||
| 366 | - uploadType: UploadType.InvitationStoreType, | ||
| 367 | - model: _uploadImageProvider, | ||
| 368 | - index: 5, | ||
| 369 | - padding: EdgeInsets.only(left: w(160)), | ||
| 370 | - imageModel: _uploadImageProvider.storeImage1), | ||
| 371 | - Positioned( | ||
| 372 | - child: _introduceWidget( | ||
| 373 | - EdgeInsets.only( | ||
| 374 | - left: w(15), top: w(23), right: w(7), bottom: w(42)), | ||
| 375 | - textColor: MyColours.color_ffffff, | ||
| 376 | - hintColor: MyColours.color_ffffff, | ||
| 377 | - boxDecoration: BoxDecoration( | ||
| 378 | - gradient: LinearGradient( | ||
| 379 | - stops: [0, 1], | ||
| 380 | - begin: Alignment.topCenter, | ||
| 381 | - end: Alignment.bottomCenter, | ||
| 382 | - colors: [ | ||
| 383 | - themColor, | ||
| 384 | - MyColours.color_4D0C0F0E, | ||
| 385 | - ], | ||
| 386 | - ), | ||
| 387 | - )), | ||
| 388 | - width: w(160), | ||
| 389 | - ), | ||
| 390 | - ], | ||
| 391 | - ), | 319 | + imageModel: _uploadImageProvider.storeImage1, |
| 320 | + deleteCallback: () { | ||
| 321 | + _uploadImageProvider.storeImage1.qiniuUrl = null; | ||
| 322 | + _uploadImageProvider.storeImage1.file = null; | ||
| 323 | + _uploadImageProvider.storeImage1.isUpload = false; | ||
| 324 | + _uploadImageProvider.storeImage1.process = 0; | ||
| 325 | + setState(() {}); | ||
| 326 | + }), | ||
| 392 | VEmptyView(18), | 327 | VEmptyView(18), |
| 393 | ImgPickerInvitationWidget( | 328 | ImgPickerInvitationWidget( |
| 394 | scrollController: controller, | 329 | scrollController: controller, |
| 395 | uploadType: UploadType.InvitationStoreType, | 330 | uploadType: UploadType.InvitationStoreType, |
| 396 | model: _uploadImageProvider, | 331 | model: _uploadImageProvider, |
| 397 | index: 6, | 332 | index: 6, |
| 398 | - imageModel: _uploadImageProvider.storeImage2), | 333 | + imageModel: _uploadImageProvider.storeImage2, |
| 334 | + deleteCallback: () { | ||
| 335 | + _uploadImageProvider.storeImage2.qiniuUrl = null; | ||
| 336 | + _uploadImageProvider.storeImage2.file = null; | ||
| 337 | + _uploadImageProvider.storeImage2.isUpload = false; | ||
| 338 | + _uploadImageProvider.storeImage2.process = 0; | ||
| 339 | + setState(() {}); | ||
| 340 | + }), | ||
| 399 | VEmptyView(18), | 341 | VEmptyView(18), |
| 400 | ImgPickerInvitationWidget( | 342 | ImgPickerInvitationWidget( |
| 401 | scrollController: controller, | 343 | scrollController: controller, |
| 402 | uploadType: UploadType.InvitationStoreType, | 344 | uploadType: UploadType.InvitationStoreType, |
| 403 | model: _uploadImageProvider, | 345 | model: _uploadImageProvider, |
| 404 | index: 7, | 346 | index: 7, |
| 405 | - imageModel: _uploadImageProvider.storeImage3), | 347 | + imageModel: _uploadImageProvider.storeImage3, |
| 348 | + deleteCallback: () { | ||
| 349 | + _uploadImageProvider.storeImage3.qiniuUrl = null; | ||
| 350 | + _uploadImageProvider.storeImage3.file = null; | ||
| 351 | + _uploadImageProvider.storeImage3.isUpload = false; | ||
| 352 | + _uploadImageProvider.storeImage3.process = 0; | ||
| 353 | + setState(() {}); | ||
| 354 | + }), | ||
| 406 | VEmptyView(18), | 355 | VEmptyView(18), |
| 407 | ImgPickerInvitationWidget( | 356 | ImgPickerInvitationWidget( |
| 408 | scrollController: controller, | 357 | scrollController: controller, |
| 409 | - uploadType: UploadType.InvitationStoreType, | ||
| 410 | model: _uploadImageProvider, | 358 | model: _uploadImageProvider, |
| 411 | index: 8, | 359 | index: 8, |
| 412 | - imageModel: _uploadImageProvider.storeImage4), | 360 | + uploadType: UploadType.InvitationStoreType, |
| 361 | + imageModel: _uploadImageProvider.storeImage4, | ||
| 362 | + deleteCallback: () { | ||
| 363 | + _uploadImageProvider.storeImage4.qiniuUrl = null; | ||
| 364 | + _uploadImageProvider.storeImage4.file = null; | ||
| 365 | + _uploadImageProvider.storeImage4.isUpload = false; | ||
| 366 | + _uploadImageProvider.storeImage4.process = 0; | ||
| 367 | + setState(() {}); | ||
| 368 | + }), | ||
| 413 | ], | 369 | ], |
| 414 | ); | 370 | ); |
| 415 | } | 371 | } |
| 416 | 372 | ||
| 373 | + ///图文合并 | ||
| 374 | + // Widget _mergingWidget() { | ||
| 375 | + // Color themColor = MyColours.color_0C0F0E; | ||
| 376 | + // int colorValue = null; | ||
| 377 | + // if (marketingCenterProvider.markDataModel.home != null && | ||
| 378 | + // marketingCenterProvider.markDataModel.home.themeColor != null) { | ||
| 379 | + // colorValue = | ||
| 380 | + // int.parse(marketingCenterProvider.markDataModel.home.themeColor); | ||
| 381 | + // } | ||
| 382 | + | ||
| 383 | + // if (colorValue != null) { | ||
| 384 | + // themColor = Color(colorValue); | ||
| 385 | + // } | ||
| 386 | + // return Column( | ||
| 387 | + // children: [ | ||
| 388 | + // Stack( | ||
| 389 | + // children: [ | ||
| 390 | + // ImgPickerInvitationWidget( | ||
| 391 | + // scrollController: controller, | ||
| 392 | + // uploadType: UploadType.InvitationStoreType, | ||
| 393 | + // model: _uploadImageProvider, | ||
| 394 | + // index: 5, | ||
| 395 | + // padding: EdgeInsets.only(left: w(160)), | ||
| 396 | + // imageModel: _uploadImageProvider.storeImage1), | ||
| 397 | + // Positioned( | ||
| 398 | + // child: _introduceWidget( | ||
| 399 | + // EdgeInsets.only( | ||
| 400 | + // left: w(15), top: w(23), right: w(7), bottom: w(42)), | ||
| 401 | + // textColor: MyColours.color_ffffff, | ||
| 402 | + // hintColor: MyColours.color_ffffff, | ||
| 403 | + // boxDecoration: BoxDecoration( | ||
| 404 | + // gradient: LinearGradient( | ||
| 405 | + // stops: [0, 1], | ||
| 406 | + // begin: Alignment.topCenter, | ||
| 407 | + // end: Alignment.bottomCenter, | ||
| 408 | + // colors: [ | ||
| 409 | + // themColor, | ||
| 410 | + // MyColours.color_4D0C0F0E, | ||
| 411 | + // ], | ||
| 412 | + // ), | ||
| 413 | + // )), | ||
| 414 | + // width: w(160), | ||
| 415 | + // ), | ||
| 416 | + // ], | ||
| 417 | + // ), | ||
| 418 | + // VEmptyView(18), | ||
| 419 | + // ImgPickerInvitationWidget( | ||
| 420 | + // scrollController: controller, | ||
| 421 | + // uploadType: UploadType.InvitationStoreType, | ||
| 422 | + // model: _uploadImageProvider, | ||
| 423 | + // index: 6, | ||
| 424 | + // imageModel: _uploadImageProvider.storeImage2), | ||
| 425 | + // VEmptyView(18), | ||
| 426 | + // ImgPickerInvitationWidget( | ||
| 427 | + // scrollController: controller, | ||
| 428 | + // uploadType: UploadType.InvitationStoreType, | ||
| 429 | + // model: _uploadImageProvider, | ||
| 430 | + // index: 7, | ||
| 431 | + // imageModel: _uploadImageProvider.storeImage3), | ||
| 432 | + // VEmptyView(18), | ||
| 433 | + // ImgPickerInvitationWidget( | ||
| 434 | + // scrollController: controller, | ||
| 435 | + // uploadType: UploadType.InvitationStoreType, | ||
| 436 | + // model: _uploadImageProvider, | ||
| 437 | + // index: 8, | ||
| 438 | + // imageModel: _uploadImageProvider.storeImage4), | ||
| 439 | + // ], | ||
| 440 | + // ); | ||
| 441 | + // } | ||
| 442 | + | ||
| 417 | ///图文分开 | 443 | ///图文分开 |
| 418 | Widget _separateWidget() { | 444 | Widget _separateWidget() { |
| 419 | return Column( | 445 | return Column( |
| @@ -427,28 +453,56 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { | @@ -427,28 +453,56 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { | ||
| 427 | uploadType: UploadType.InvitationStoreType, | 453 | uploadType: UploadType.InvitationStoreType, |
| 428 | model: _uploadImageProvider, | 454 | model: _uploadImageProvider, |
| 429 | index: 5, | 455 | index: 5, |
| 430 | - imageModel: _uploadImageProvider.storeImage1), | 456 | + imageModel: _uploadImageProvider.storeImage1, |
| 457 | + deleteCallback: () { | ||
| 458 | + _uploadImageProvider.storeImage1.qiniuUrl = null; | ||
| 459 | + _uploadImageProvider.storeImage1.file = null; | ||
| 460 | + _uploadImageProvider.storeImage1.isUpload = false; | ||
| 461 | + _uploadImageProvider.storeImage1.process = 0.01; | ||
| 462 | + setState(() {}); | ||
| 463 | + }), | ||
| 431 | VEmptyView(18), | 464 | VEmptyView(18), |
| 432 | ImgPickerInvitationWidget( | 465 | ImgPickerInvitationWidget( |
| 433 | scrollController: controller, | 466 | scrollController: controller, |
| 434 | uploadType: UploadType.InvitationStoreType, | 467 | uploadType: UploadType.InvitationStoreType, |
| 435 | model: _uploadImageProvider, | 468 | model: _uploadImageProvider, |
| 436 | index: 6, | 469 | index: 6, |
| 437 | - imageModel: _uploadImageProvider.storeImage2), | 470 | + imageModel: _uploadImageProvider.storeImage2, |
| 471 | + deleteCallback: () { | ||
| 472 | + _uploadImageProvider.storeImage2.qiniuUrl = null; | ||
| 473 | + _uploadImageProvider.storeImage2.file = null; | ||
| 474 | + _uploadImageProvider.storeImage2.isUpload = false; | ||
| 475 | + _uploadImageProvider.storeImage2.process = 0.01; | ||
| 476 | + setState(() {}); | ||
| 477 | + }), | ||
| 438 | VEmptyView(18), | 478 | VEmptyView(18), |
| 439 | ImgPickerInvitationWidget( | 479 | ImgPickerInvitationWidget( |
| 440 | scrollController: controller, | 480 | scrollController: controller, |
| 441 | uploadType: UploadType.InvitationStoreType, | 481 | uploadType: UploadType.InvitationStoreType, |
| 442 | model: _uploadImageProvider, | 482 | model: _uploadImageProvider, |
| 443 | index: 7, | 483 | index: 7, |
| 444 | - imageModel: _uploadImageProvider.storeImage3), | 484 | + imageModel: _uploadImageProvider.storeImage3, |
| 485 | + deleteCallback: () { | ||
| 486 | + _uploadImageProvider.storeImage3.qiniuUrl = null; | ||
| 487 | + _uploadImageProvider.storeImage3.file = null; | ||
| 488 | + _uploadImageProvider.storeImage3.isUpload = false; | ||
| 489 | + _uploadImageProvider.storeImage3.process = 0.01; | ||
| 490 | + setState(() {}); | ||
| 491 | + }), | ||
| 445 | VEmptyView(18), | 492 | VEmptyView(18), |
| 446 | ImgPickerInvitationWidget( | 493 | ImgPickerInvitationWidget( |
| 447 | scrollController: controller, | 494 | scrollController: controller, |
| 448 | uploadType: UploadType.InvitationStoreType, | 495 | uploadType: UploadType.InvitationStoreType, |
| 449 | model: _uploadImageProvider, | 496 | model: _uploadImageProvider, |
| 450 | index: 8, | 497 | index: 8, |
| 451 | - imageModel: _uploadImageProvider.storeImage4), | 498 | + imageModel: _uploadImageProvider.storeImage4, |
| 499 | + deleteCallback: () { | ||
| 500 | + _uploadImageProvider.storeImage4.qiniuUrl = null; | ||
| 501 | + _uploadImageProvider.storeImage4.file = null; | ||
| 502 | + _uploadImageProvider.storeImage4.isUpload = false; | ||
| 503 | + _uploadImageProvider.storeImage4.process = 0.01; | ||
| 504 | + setState(() {}); | ||
| 505 | + }), | ||
| 452 | ], | 506 | ], |
| 453 | ); | 507 | ); |
| 454 | } | 508 | } |
| @@ -397,9 +397,9 @@ class _CustomerNoticeSettingPageState extends State<CustomerNoticeSettingPage> { | @@ -397,9 +397,9 @@ class _CustomerNoticeSettingPageState extends State<CustomerNoticeSettingPage> { | ||
| 397 | padding: EdgeInsets.only(left: w(16)), | 397 | padding: EdgeInsets.only(left: w(16)), |
| 398 | child: MyDivider(double.infinity, w(0.5), | 398 | child: MyDivider(double.infinity, w(0.5), |
| 399 | color: MyColours.color_E7E7E7)), | 399 | color: MyColours.color_E7E7E7)), |
| 400 | - _item('首图形象展示', onTap: () { | ||
| 401 | - NavigatorUtil.goFirstImagePage(context); | ||
| 402 | - }), | 400 | + // _item('首图形象展示', onTap: () { |
| 401 | + // NavigatorUtil.goFirstImagePage(context); | ||
| 402 | + // }), | ||
| 403 | _item('预订信息模块设置', onTap: () { | 403 | _item('预订信息模块设置', onTap: () { |
| 404 | NavigatorUtil.goBookInfoPage(context); | 404 | NavigatorUtil.goBookInfoPage(context); |
| 405 | }), | 405 | }), |
-
Please register or login to post a comment