Commit 5542f5daa69d84d076a9d2d8d4e2b81c2f15abe8

Authored by wdn127929
1 parent 4c298950

标签等信息不判空保存

@@ -703,7 +703,16 @@ class _BaseInfoPageState extends State<BaseInfoPage> { @@ -703,7 +703,16 @@ class _BaseInfoPageState extends State<BaseInfoPage> {
703 _nameController.text.trim().length == 0) { 703 _nameController.text.trim().length == 0) {
704 Utils.showToast('请至少填写您的姓名和电话'); 704 Utils.showToast('请至少填写您的姓名和电话');
705 return; 705 return;
706 - } //接口 706 + }
  707 +
  708 + if (_phoneController.text.trim().length > 0 &&
  709 + !Utils.isNumericReq(_phoneController.text.trim())) {
  710 + Utils.showToast('电话请输入纯数字!');
  711 + return;
  712 + }
  713 +
  714 +
  715 + //接口
707 _setCustomerActivityBaseinfo(); 716 _setCustomerActivityBaseinfo();
708 }, 717 },
709 text: '保存', 718 text: '保存',
@@ -498,7 +498,7 @@ class _MyContactListPageState extends State<MyContactListPage> { @@ -498,7 +498,7 @@ class _MyContactListPageState extends State<MyContactListPage> {
498 color: MyColours.color_ffffff, 498 color: MyColours.color_ffffff,
499 fontSize: ScreenUtil().setSp(20))))); 499 fontSize: ScreenUtil().setSp(20)))));
500 500
501 - if (model.label != null) { 501 + if (model.label != null&&model.label != '') {
502 List<String> labels = model.label.split(','); 502 List<String> labels = model.label.split(',');
503 labels.forEach((element) { 503 labels.forEach((element) {
504 data.add(flatBtn(element, MyColours.color_B39437)); 504 data.add(flatBtn(element, MyColours.color_B39437));
@@ -147,27 +147,27 @@ class _MyCustomerDetailEditPageState extends State<MyCustomerDetailEditPage> { @@ -147,27 +147,27 @@ class _MyCustomerDetailEditPageState extends State<MyCustomerDetailEditPage> {
147 'phone': phoneController.text 147 'phone': phoneController.text
148 }; 148 };
149 149
150 - if (adressController.text.trim().length > 0) { 150 + // if (adressController.text.trim().length > 0) {
151 params['company'] = adressController.text; 151 params['company'] = adressController.text;
152 - }  
153 - if (departmentController.text.trim().length > 0) { 152 + // }
  153 + // if (departmentController.text.trim().length > 0) {
154 params['section'] = departmentController.text; 154 params['section'] = departmentController.text;
155 - }  
156 - if (positionController.text.trim().length > 0) { 155 + // }
  156 + // if (positionController.text.trim().length > 0) {
157 params['position'] = positionController.text; 157 params['position'] = positionController.text;
158 - }  
159 - if (labelShow != '') { 158 + // }
  159 + // if (labelShow != '') {
160 params['label'] = labelShow; 160 params['label'] = labelShow;
161 - }  
162 - if (jkController.text.trim().length > 0) { 161 + // }
  162 + // if (jkController.text.trim().length > 0) {
163 params['taboos'] = jkController.text; 163 params['taboos'] = jkController.text;
164 - }  
165 - if (xhController.text.trim().length > 0) { 164 + // }
  165 + // if (xhController.text.trim().length > 0) {
166 params['like'] = xhController.text; 166 params['like'] = xhController.text;
167 - }  
168 - if (fwController.text.trim().length > 0) { 167 + // }
  168 + // if (fwController.text.trim().length > 0) {
169 params['serve'] = fwController.text; 169 params['serve'] = fwController.text;
170 - } 170 + // }
171 if (memberShow != '会员状态未知') { 171 if (memberShow != '会员状态未知') {
172 params['is_member'] = memberShow == '是' ? '1' : '0'; 172 params['is_member'] = memberShow == '是' ? '1' : '0';
173 } 173 }
@@ -189,7 +189,7 @@ class _MyCustomerDetailPageState extends State<MyCustomerDetailPage> { @@ -189,7 +189,7 @@ class _MyCustomerDetailPageState extends State<MyCustomerDetailPage> {
189 )), 189 )),
190 ], 190 ],
191 ), 191 ),
192 - customerProvider.guestInfoSunModel.guest.label != null 192 + customerProvider.guestInfoSunModel.guest.label != null &&customerProvider.guestInfoSunModel.guest.label != ''
193 ? Container( 193 ? Container(
194 padding: EdgeInsets.only(top: ScreenUtil().setWidth(10)), 194 padding: EdgeInsets.only(top: ScreenUtil().setWidth(10)),
195 constraints: 195 constraints:
@@ -289,7 +289,7 @@ class _MyCustomerDetailPageState extends State<MyCustomerDetailPage> { @@ -289,7 +289,7 @@ class _MyCustomerDetailPageState extends State<MyCustomerDetailPage> {
289 fontSize: ScreenUtil().setSp(20))))); 289 fontSize: ScreenUtil().setSp(20)))));
290 } 290 }
291 291
292 - if (customerProvider.guestInfoSunModel.guest.label != null) { 292 + if (customerProvider.guestInfoSunModel.guest.label != null&&customerProvider.guestInfoSunModel.guest.label != '') {
293 List<String> labels = 293 List<String> labels =
294 customerProvider.guestInfoSunModel.guest.label.split(','); 294 customerProvider.guestInfoSunModel.guest.label.split(',');
295 labels.forEach((element) { 295 labels.forEach((element) {
@@ -483,7 +483,7 @@ class _ContactListPageState extends State<ContactListPage> { @@ -483,7 +483,7 @@ class _ContactListPageState extends State<ContactListPage> {
483 color: MyColours.color_ffffff, 483 color: MyColours.color_ffffff,
484 fontSize: ScreenUtil().setSp(20))))); 484 fontSize: ScreenUtil().setSp(20)))));
485 485
486 - if (model.label != null) { 486 + if (model.label != null && model.label != '') {
487 List<String> labels = model.label.split(','); 487 List<String> labels = model.label.split(',');
488 labels.forEach((element) { 488 labels.forEach((element) {
489 data.add(flatBtn(element, MyColours.color_B39437)); 489 data.add(flatBtn(element, MyColours.color_B39437));
@@ -157,31 +157,31 @@ class _CustomerDetailEditPageState extends State<CustomerDetailEditPage> { @@ -157,31 +157,31 @@ class _CustomerDetailEditPageState extends State<CustomerDetailEditPage> {
157 'phone': phoneController.text 157 'phone': phoneController.text
158 }; 158 };
159 159
160 - if (adressController.text.trim().length > 0) { 160 + // if (adressController.text.trim().length > 0) {
161 params['company'] = adressController.text; 161 params['company'] = adressController.text;
162 - }  
163 - if (departmentController.text.trim().length > 0) { 162 + // }
  163 + // if (departmentController.text.trim().length > 0) {
164 params['section'] = departmentController.text; 164 params['section'] = departmentController.text;
165 - }  
166 - if (positionController.text.trim().length > 0) { 165 + // }
  166 + // if (positionController.text.trim().length > 0) {
167 params['position'] = positionController.text; 167 params['position'] = positionController.text;
168 - }  
169 - if (labelShow != '') { 168 + // }
  169 + // if (labelShow != '') {
170 params['label'] = labelShow; 170 params['label'] = labelShow;
171 - } 171 + // }
172 if (manageShow != '') { 172 if (manageShow != '') {
173 params['uid'] = 173 params['uid'] =
174 customerProvider.sellerManageList[customerProvider.manageSelIndex].id; 174 customerProvider.sellerManageList[customerProvider.manageSelIndex].id;
175 } 175 }
176 - if (jkController.text.trim().length > 0) { 176 + // if (jkController.text.trim().length > 0) {
177 params['taboos'] = jkController.text; 177 params['taboos'] = jkController.text;
178 - }  
179 - if (xhController.text.trim().length > 0) { 178 + // }
  179 + // if (xhController.text.trim().length > 0) {
180 params['like'] = xhController.text; 180 params['like'] = xhController.text;
181 - }  
182 - if (fwController.text.trim().length > 0) { 181 + // }
  182 + // if (fwController.text.trim().length > 0) {
183 params['serve'] = fwController.text; 183 params['serve'] = fwController.text;
184 - } 184 + // }
185 185
186 if (memberShow != '会员状态未知') { 186 if (memberShow != '会员状态未知') {
187 params['is_member'] = memberShow == '是' ? '1' : '0'; 187 params['is_member'] = memberShow == '是' ? '1' : '0';
@@ -204,7 +204,7 @@ class _CustomerDetailPageState extends State<CustomerDetailPage> { @@ -204,7 +204,7 @@ class _CustomerDetailPageState extends State<CustomerDetailPage> {
204 )), 204 )),
205 ], 205 ],
206 ), 206 ),
207 - customerProvider.guestInfoSunModel.guest.label != null 207 + customerProvider.guestInfoSunModel.guest.label != null&& customerProvider.guestInfoSunModel.guest.label != ''
208 ? Container( 208 ? Container(
209 padding: EdgeInsets.only(top: ScreenUtil().setWidth(10)), 209 padding: EdgeInsets.only(top: ScreenUtil().setWidth(10)),
210 constraints: 210 constraints:
@@ -699,7 +699,7 @@ class _CustomerDetailPageState extends State<CustomerDetailPage> { @@ -699,7 +699,7 @@ class _CustomerDetailPageState extends State<CustomerDetailPage> {
699 fontSize: ScreenUtil().setSp(20))))); 699 fontSize: ScreenUtil().setSp(20)))));
700 } 700 }
701 701
702 - if (customerProvider.guestInfoSunModel.guest.label != null) { 702 + if (customerProvider.guestInfoSunModel.guest.label != null&& customerProvider.guestInfoSunModel.guest.label != '') {
703 List<String> labels = 703 List<String> labels =
704 customerProvider.guestInfoSunModel.guest.label.split(','); 704 customerProvider.guestInfoSunModel.guest.label.split(',');
705 labels.forEach((element) { 705 labels.forEach((element) {
1 import 'dart:convert'; 1 import 'dart:convert';
2 import 'dart:io'; 2 import 'dart:io';
3 3
  4 +import 'package:dio/dio.dart';
4 import 'package:flutter/material.dart'; 5 import 'package:flutter/material.dart';
5 import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; 6 import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart';
6 import 'package:flutter_screenutil/flutter_screenutil.dart'; 7 import 'package:flutter_screenutil/flutter_screenutil.dart';
@@ -8,8 +9,11 @@ import 'package:one_key/widgets/v_empty_view.dart'; @@ -8,8 +9,11 @@ import 'package:one_key/widgets/v_empty_view.dart';
8 import 'package:provider/provider.dart'; 9 import 'package:provider/provider.dart';
9 10
10 import '../../../../app.dart'; 11 import '../../../../app.dart';
  12 +import '../../../../models/set_seller_info_model.dart';
11 import '../../../../models/upload_img_model.dart'; 13 import '../../../../models/upload_img_model.dart';
  14 +import '../../../../provider/base_info_provider.dart';
12 import '../../../../provider/marketing_center_provider.dart'; 15 import '../../../../provider/marketing_center_provider.dart';
  16 +import '../../../../provider/store_base_info_provider.dart';
13 import '../../../../provider/upload_img_provider.dart'; 17 import '../../../../provider/upload_img_provider.dart';
14 import '../../../../provider/user_model.dart'; 18 import '../../../../provider/user_model.dart';
15 import '../../../../res/colors.dart'; 19 import '../../../../res/colors.dart';
@@ -51,6 +55,8 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { @@ -51,6 +55,8 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
51 bool addStoreImge = false; //预订安排通知中附加餐厅文字图片 55 bool addStoreImge = false; //预订安排通知中附加餐厅文字图片
52 bool addAbove = false; //餐厅介绍文字显示在第一张图片上 56 bool addAbove = false; //餐厅介绍文字显示在第一张图片上
53 57
  58 + StoreBaseIndoProvider _baseIndoProvider;
  59 +
54 @override 60 @override
55 void initState() { 61 void initState() {
56 super.initState(); 62 super.initState();
@@ -538,8 +544,41 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { @@ -538,8 +544,41 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
538 ))); 544 )));
539 } 545 }
540 546
  547 +
  548 + /// 修改店铺基本信息
  549 + _setSellerInfoById() async {
  550 +
  551 +
  552 +
  553 + Map<String, dynamic> params = {
  554 + 'id': Provider.of<UserModel>(context,listen: false).user.sellerid,
  555 + };
  556 +
  557 +
  558 + params['sellerdesc'] = storeIntroduceC.text;
  559 +
  560 +
  561 +
  562 + FormData formData = FormData.fromMap(params);
  563 +
  564 + SetSellerInfoSunModel sunModel =
  565 + await _baseIndoProvider.setSellerInfoById(context, formData);
  566 + if (sunModel != null) {
  567 +
  568 +
  569 + //修改成功
  570 + // Utils.showToast('保存店铺信息成功');
  571 + // EventBus().emit('changeStatusColor');
  572 +
  573 + } else {
  574 + // Utils.showToast('保存失败');
  575 + }
  576 + }
  577 +
541 @override 578 @override
542 Widget build(BuildContext context) { 579 Widget build(BuildContext context) {
  580 + _baseIndoProvider =
  581 + Provider.of<StoreBaseIndoProvider>(context, listen: false);
543 _uploadImageProvider = 582 _uploadImageProvider =
544 Provider.of<UploadImageProvider>(context, listen: true); 583 Provider.of<UploadImageProvider>(context, listen: true);
545 marketingCenterProvider = 584 marketingCenterProvider =
@@ -604,7 +643,7 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { @@ -604,7 +643,7 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
604 border: OutlineInputBorder( 643 border: OutlineInputBorder(
605 borderSide: BorderSide.none), 644 borderSide: BorderSide.none),
606 ), 645 ),
607 - keyboardType: TextInputType.text, 646 + keyboardType: TextInputType.multiline,
608 onChanged: (value) { 647 onChanged: (value) {
609 setState(() { 648 setState(() {
610 // currentRemark = value ?? ""; 649 // currentRemark = value ?? "";
@@ -679,6 +718,9 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> { @@ -679,6 +718,9 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
679 Utils.showToast('请输入餐厅介绍文字!'); 718 Utils.showToast('请输入餐厅介绍文字!');
680 return false; 719 return false;
681 } 720 }
  721 +
  722 +
  723 + _setSellerInfoById(); //同步店铺简介
682 724
683 List<String> images = []; 725 List<String> images = [];
684 if (_uploadImageProvider.storeImage1.qiniuUrl != null && 726 if (_uploadImageProvider.storeImage1.qiniuUrl != null &&
@@ -670,7 +670,15 @@ class _BaseInfoPersonnalPageState extends State<BaseInfoPersonnalPage> { @@ -670,7 +670,15 @@ class _BaseInfoPersonnalPageState extends State<BaseInfoPersonnalPage> {
670 _nameController.text.trim().length == 0) { 670 _nameController.text.trim().length == 0) {
671 Utils.showToast('请至少填写您的姓名和电话'); 671 Utils.showToast('请至少填写您的姓名和电话');
672 return; 672 return;
673 - } //接口 673 + }
  674 +
  675 + if (_phoneController.text.trim().length > 0 &&
  676 + !Utils.isNumericReq(_phoneController.text.trim())) {
  677 + Utils.showToast('电话请输入纯数字!');
  678 + return;
  679 + }
  680 +
  681 + //接口
674 // _setCustomerActivityBaseinfo(); 682 // _setCustomerActivityBaseinfo();
675 String nameTemp = _nameController.text.trim(); 683 String nameTemp = _nameController.text.trim();
676 String phoneTemp = 684 String phoneTemp =
@@ -18,6 +18,7 @@ import 'package:one_key/pages/online_check/photo_view_wiget.dart'; @@ -18,6 +18,7 @@ import 'package:one_key/pages/online_check/photo_view_wiget.dart';
18 import 'package:one_key/pages/online_check/progress.dart'; 18 import 'package:one_key/pages/online_check/progress.dart';
19 import 'package:one_key/provider/base_info_provider.dart'; 19 import 'package:one_key/provider/base_info_provider.dart';
20 import 'package:one_key/provider/book_set_time_model.dart'; 20 import 'package:one_key/provider/book_set_time_model.dart';
  21 +import 'package:one_key/provider/marketing_center_provider.dart';
21 import 'package:one_key/provider/store_base_info_provider.dart'; 22 import 'package:one_key/provider/store_base_info_provider.dart';
22 import 'package:one_key/provider/upload_img_provider.dart'; 23 import 'package:one_key/provider/upload_img_provider.dart';
23 import 'package:one_key/provider/user_model.dart'; 24 import 'package:one_key/provider/user_model.dart';
@@ -81,6 +82,8 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> { @@ -81,6 +82,8 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
81 SetTime night = SetTime(); 82 SetTime night = SetTime();
82 bool onePhone = true; 83 bool onePhone = true;
83 84
  85 + MarketingCenterProvider marketingCenterProvider;
  86 +
84 ///获取接单时间接口 87 ///获取接单时间接口
85 _getReceiveOrdersTime() async { 88 _getReceiveOrdersTime() async {
86 GetSellerInfoSunModel model = await bookSetTimeModel.getSellerById(context); 89 GetSellerInfoSunModel model = await bookSetTimeModel.getSellerById(context);
@@ -131,6 +134,7 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> { @@ -131,6 +134,7 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
131 _getStoreBaseinfo(); 134 _getStoreBaseinfo();
132 _getReceiveOrdersTime(); 135 _getReceiveOrdersTime();
133 _getDailyTime(); 136 _getDailyTime();
  137 + getSellerTemplateConf();
134 }); 138 });
135 } 139 }
136 140
@@ -140,6 +144,67 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> { @@ -140,6 +144,67 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
140 super.dispose(); 144 super.dispose();
141 } 145 }
142 146
  147 + getSellerTemplateConf() async {
  148 + bool success = await marketingCenterProvider.getSellerTemplateConf(context);
  149 + if (success && marketingCenterProvider.markDataModel.store != null) {
  150 + print(marketingCenterProvider.markDataModel.store);
  151 +
  152 + // currIndex = int.parse(marketingCenterProvider.markDataModel.store.style);
  153 +
  154 + // _uploadImageProvider.storeImage1.qiniuUrl =
  155 + // marketingCenterProvider.markDataModel.store.images.length > 0
  156 + // ? marketingCenterProvider.markDataModel.store.images[0]
  157 + // : null;
  158 + // _uploadImageProvider.storeImage1.process =
  159 + // _uploadImageProvider.storeImage1.qiniuUrl != null &&
  160 + // _uploadImageProvider.storeImage1.qiniuUrl != ''
  161 + // ? 1
  162 + // : null;
  163 + // _uploadImageProvider.storeImage2.qiniuUrl =
  164 + // marketingCenterProvider.markDataModel.store.images.length > 1
  165 + // ? marketingCenterProvider.markDataModel.store.images[1]
  166 + // : null;
  167 + // _uploadImageProvider.storeImage2.process =
  168 + // _uploadImageProvider.storeImage2.qiniuUrl != null &&
  169 + // _uploadImageProvider.storeImage2.qiniuUrl != ''
  170 + // ? 1
  171 + // : null;
  172 + // _uploadImageProvider.storeImage3.qiniuUrl =
  173 + // marketingCenterProvider.markDataModel.store.images.length > 2
  174 + // ? marketingCenterProvider.markDataModel.store.images[2]
  175 + // : null;
  176 + // _uploadImageProvider.storeImage3.process =
  177 + // _uploadImageProvider.storeImage3.qiniuUrl != null &&
  178 + // _uploadImageProvider.storeImage3.qiniuUrl != ''
  179 + // ? 1
  180 + // : null;
  181 + // _uploadImageProvider.storeImage4.qiniuUrl =
  182 + // marketingCenterProvider.markDataModel.store.images.length > 3
  183 + // ? marketingCenterProvider.markDataModel.store.images[3]
  184 + // : null;
  185 + // _uploadImageProvider.storeImage4.process =
  186 + // _uploadImageProvider.storeImage4.qiniuUrl != null &&
  187 + // _uploadImageProvider.storeImage4.qiniuUrl != ''
  188 + // ? 1
  189 + // : null;
  190 +
  191 + // storeIntroduceC.text =
  192 + // marketingCenterProvider.markDataModel.store.introduce;
  193 + // addStoreIntroduce =
  194 + // marketingCenterProvider.markDataModel.store.isIntroduce == '1'
  195 + // ? true
  196 + // : false;
  197 + // addStoreImge = marketingCenterProvider.markDataModel.store.isImages == '1'
  198 + // ? true
  199 + // : false;
  200 + // addAbove = marketingCenterProvider.markDataModel.store.isAbove == '1'
  201 + // ? true
  202 + // : false;
  203 +
  204 + // setState(() {});
  205 + }
  206 + }
  207 +
143 /// 从接口获取可订时段信息 daily 208 /// 从接口获取可订时段信息 daily
144 _getDailyTime() async { 209 _getDailyTime() async {
145 SunSellerInfoModel model = await bookSetTimeModel.getManagersInfo(context); 210 SunSellerInfoModel model = await bookSetTimeModel.getManagersInfo(context);
@@ -332,6 +397,17 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> { @@ -332,6 +397,17 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
332 Utils.showToast('请输入店铺电话!'); 397 Utils.showToast('请输入店铺电话!');
333 return; 398 return;
334 } 399 }
  400 +
  401 + if (!Utils.isNumericReq(_phoneController.text.trim())) {
  402 + Utils.showToast('电话1请输入纯数字!');
  403 + return;
  404 + }
  405 + if (_phoneController2.text.trim().length > 0 &&
  406 + !Utils.isNumericReq(_phoneController2.text.trim())) {
  407 + Utils.showToast('电话2请输入纯数字!');
  408 + return;
  409 + }
  410 +
335 if (_timeController.text.trim().length == 0) { 411 if (_timeController.text.trim().length == 0) {
336 Utils.showToast('请输入营业时间!'); 412 Utils.showToast('请输入营业时间!');
337 return; 413 return;
@@ -371,9 +447,42 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> { @@ -371,9 +447,42 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
371 } 447 }
372 448
373 await _setReceiveTime(); 449 await _setReceiveTime();
  450 + _refreshMarketingInfo();
374 await _setSellerInfoById(); 451 await _setSellerInfoById();
375 } 452 }
376 453
  454 + _refreshMarketingInfo() async {
  455 + //接口
  456 + Map storeData = {
  457 + // 'style': currIndex.toString(),
  458 + // 'seller_name': sellername,
  459 + 'introduce': _introductionController.text,
  460 + };
  461 +
  462 + if (marketingCenterProvider.markDataModel != null &&
  463 + marketingCenterProvider.markDataModel.store != null) {
  464 + storeData['images'] = marketingCenterProvider.markDataModel.store.images;
  465 + storeData['is_introduce'] =
  466 + marketingCenterProvider.markDataModel.store.isIntroduce;
  467 + storeData['is_images'] =
  468 + marketingCenterProvider.markDataModel.store.isImages;
  469 + storeData['is_above'] =
  470 + marketingCenterProvider.markDataModel.store.isAbove;
  471 + }
  472 +
  473 + Map<String, String> params = {
  474 + 'sid': Provider.of<UserModel>(context, listen: false).user.sellerid,
  475 + 'store': json.encode(storeData)
  476 + };
  477 +
  478 + bool success = await marketingCenterProvider
  479 + .setSellerTemplateConf(context, params, showLoading: true);
  480 + if (success) {
  481 + // Utils.showToast('保存成功');
  482 + // Navigator.pop(context);
  483 + }
  484 + }
  485 +
377 /// 修改店铺基本信息 486 /// 修改店铺基本信息
378 _setSellerInfoById() async { 487 _setSellerInfoById() async {
379 FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘 488 FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
@@ -1227,6 +1336,8 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> { @@ -1227,6 +1336,8 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
1227 1336
1228 @override 1337 @override
1229 Widget build(BuildContext context) { 1338 Widget build(BuildContext context) {
  1339 + marketingCenterProvider =
  1340 + Provider.of<MarketingCenterProvider>(context, listen: false);
1230 _uploadImageProvider = 1341 _uploadImageProvider =
1231 Provider.of<UploadImageProvider>(context, listen: true); 1342 Provider.of<UploadImageProvider>(context, listen: true);
1232 _baseIndoProvider = 1343 _baseIndoProvider =
@@ -1891,9 +2002,11 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> { @@ -1891,9 +2002,11 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
1891 .goMapChoicePointPage( 2002 .goMapChoicePointPage(
1892 context, 2003 context,
1893 long: mapAddress[ 2004 long: mapAddress[
1894 - 'lng'].toString(), 2005 + 'lng']
  2006 + .toString(),
1895 lat: mapAddress[ 2007 lat: mapAddress[
1896 - 'lat'].toString()); 2008 + 'lat']
  2009 + .toString());
1897 if (temp != null) { 2010 if (temp != null) {
1898 mapAddress = temp; 2011 mapAddress = temp;
1899 2012
@@ -2069,7 +2182,7 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> { @@ -2069,7 +2182,7 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
2069 controller: _introductionController, 2182 controller: _introductionController,
2070 2183
2071 maxLines: 8, 2184 maxLines: 8,
2072 - maxLength: 150, 2185 + maxLength: 500,
2073 // inputFormatters: [ 2186 // inputFormatters: [
2074 // LengthLimitingTextInputFormatter(9), 2187 // LengthLimitingTextInputFormatter(9),
2075 // FilteringTextInputFormatter 2188 // FilteringTextInputFormatter
@@ -2089,7 +2202,8 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> { @@ -2089,7 +2202,8 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
2089 fontSize: ScreenUtil().setSp(24), 2202 fontSize: ScreenUtil().setSp(24),
2090 color: MyColours.color_515151), 2203 color: MyColours.color_515151),
2091 textAlign: TextAlign.left, 2204 textAlign: TextAlign.left,
2092 - textInputAction: TextInputAction.done, 2205 + // textAlignVertical: TextAlignVertical.center,
  2206 + // textInputAction: TextInputAction.newline,
2093 decoration: InputDecoration( 2207 decoration: InputDecoration(
2094 isDense: true, 2208 isDense: true,
2095 hintText: "请输入店铺简介", 2209 hintText: "请输入店铺简介",
@@ -2104,13 +2218,17 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> { @@ -2104,13 +2218,17 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
2104 border: OutlineInputBorder( 2218 border: OutlineInputBorder(
2105 borderSide: BorderSide.none), 2219 borderSide: BorderSide.none),
2106 ), 2220 ),
2107 - onChanged: (value) {},  
2108 - onEditingComplete: () {  
2109 - FocusScope.of(context)  
2110 - .requestFocus(FocusNode()); //隐藏键盘  
2111 - // _updateMoney();  
2112 - },  
2113 - keyboardType: TextInputType.text, 2221 + // onChanged: (value) {
  2222 + // setState(() {
  2223 +
  2224 + // });
  2225 + // },
  2226 + // onEditingComplete: () {
  2227 + // FocusScope.of(context)
  2228 + // .requestFocus(FocusNode()); //隐藏键盘
  2229 + // // _updateMoney();
  2230 + // },
  2231 + keyboardType: TextInputType.multiline,
2114 )), 2232 )),
2115 // Padding( 2233 // Padding(
2116 // padding: EdgeInsets.symmetric( 2234 // padding: EdgeInsets.symmetric(
@@ -977,7 +977,8 @@ var storeBaseInfoPageHandler = new Handler( @@ -977,7 +977,8 @@ var storeBaseInfoPageHandler = new Handler(
977 return ChangeNotifierProvider<StoreBaseIndoProvider>( 977 return ChangeNotifierProvider<StoreBaseIndoProvider>(
978 create: (_) => StoreBaseIndoProvider(), 978 create: (_) => StoreBaseIndoProvider(),
979 child: ChangeNotifierProvider<BookSetTimeModel>( 979 child: ChangeNotifierProvider<BookSetTimeModel>(
980 - create: (_) => BookSetTimeModel(), child: StoreBaseInfoPage())); 980 + create: (_) => BookSetTimeModel(), child: ChangeNotifierProvider<MarketingCenterProvider>(
  981 + create: (_) => MarketingCenterProvider(), child: StoreBaseInfoPage())));
981 // return ChangeNotifierProvider<UploadImageProvider>( 982 // return ChangeNotifierProvider<UploadImageProvider>(
982 // create: (_) => UploadImageProvider(), child: EnterStoreFrontPhotoPage()); 983 // create: (_) => UploadImageProvider(), child: EnterStoreFrontPhotoPage());
983 }); 984 });
@@ -2551,7 +2552,8 @@ var storeIntroducePageHandle = new Handler( @@ -2551,7 +2552,8 @@ var storeIntroducePageHandle = new Handler(
2551 // NotebookDetail detailEntity = NotebookDetail.fromJson(json 2552 // NotebookDetail detailEntity = NotebookDetail.fromJson(json
2552 // .decode(FluroConvertUtils.fluroCnParamsDecode(params["detail"].first))); 2553 // .decode(FluroConvertUtils.fluroCnParamsDecode(params["detail"].first)));
2553 return ChangeNotifierProvider<MarketingCenterProvider>( 2554 return ChangeNotifierProvider<MarketingCenterProvider>(
2554 - create: (_) => MarketingCenterProvider(), child: StoreIntroducePage()); 2555 + create: (_) => MarketingCenterProvider(), child:ChangeNotifierProvider<StoreBaseIndoProvider>(
  2556 + create: (_) => StoreBaseIndoProvider(), child: StoreIntroducePage()));
2555 }); 2557 });
2556 2558
2557 //我的----营销中心-主厨介绍 2559 //我的----营销中心-主厨介绍
@@ -3996,6 +3996,12 @@ class DialogUtil { @@ -3996,6 +3996,12 @@ class DialogUtil {
3996 List<t.Table> selectTables, 3996 List<t.Table> selectTables,
3997 CustomCallBackMap onTap, 3997 CustomCallBackMap onTap,
3998 CustomCallBackMap onTapDel}) async { 3998 CustomCallBackMap onTapDel}) async {
  3999 + print(isMerge);
  4000 + print(isLock);
  4001 +
  4002 + print(selectTables);
  4003 + print(table.lockTname);
  4004 +
3999 TextEditingController controller = TextEditingController(); 4005 TextEditingController controller = TextEditingController();
4000 controller.text = name; 4006 controller.text = name;
4001 // TextEditingController _norNumController = TextEditingController(); 4007 // TextEditingController _norNumController = TextEditingController();
@@ -4013,6 +4019,7 @@ class DialogUtil { @@ -4013,6 +4019,7 @@ class DialogUtil {
4013 String rid = table.rid; 4019 String rid = table.rid;
4014 4020
4015 String areaName = table.rname; 4021 String areaName = table.rname;
  4022 + bool delBtnState = isLock == '1'&&table.lockTname != '' &&table.lockTname != null || isMerge == '1' &&selectTables !=null&&selectTables.length > 0 ? true:false;
4016 // StateSetter globalState; 4023 // StateSetter globalState;
4017 // //输入框焦点 4024 // //输入框焦点
4018 // focusNode.addListener(() { 4025 // focusNode.addListener(() {
@@ -4537,12 +4544,15 @@ class DialogUtil { @@ -4537,12 +4544,15 @@ class DialogUtil {
4537 width: ScreenUtil().setWidth(88 * 2), 4544 width: ScreenUtil().setWidth(88 * 2),
4538 height: ScreenUtil().setWidth(36 * 2), 4545 height: ScreenUtil().setWidth(36 * 2),
4539 radius: ScreenUtil().setWidth(10), 4546 radius: ScreenUtil().setWidth(10),
4540 - gradientStart: MyColours.color_E34D59,  
4541 - gradientEnd: MyColours.color_E34D59, 4547 + gradientStart:delBtnState ? MyColours.color_999999 : MyColours.color_E34D59,
  4548 + gradientEnd:delBtnState ? MyColours.color_999999: MyColours.color_E34D59,
4542 textColor: MyColours.color_ffffff, 4549 textColor: MyColours.color_ffffff,
4543 isBold: false, 4550 isBold: false,
4544 fontSize: 28, 4551 fontSize: 28,
4545 onPressed: () { 4552 onPressed: () {
  4553 + if(delBtnState){
  4554 + return;
  4555 + }
4546 DialogUtil.cupertinoAlertDialog(context, 4556 DialogUtil.cupertinoAlertDialog(context,
4547 title: "", 4557 title: "",
4548 content: "是否确定删除1个桌位", 4558 content: "是否确定删除1个桌位",
@@ -152,6 +152,12 @@ class Utils { @@ -152,6 +152,12 @@ class Utils {
152 return double.tryParse(s) != null; 152 return double.tryParse(s) != null;
153 } 153 }
154 154
  155 + static bool isNumericReq(String str) {
  156 + final reg = RegExp(r'^[0-9]+$');
  157 + print('$str 是否数字:${reg.hasMatch(str)}');
  158 + return reg.hasMatch(str);
  159 + }
  160 +
155 // ^(([^0][0-9]+|0)$)|^(([1-9]+)$) 161 // ^(([^0][0-9]+|0)$)|^(([1-9]+)$)
156 162
157 // 验证是否为数字 163 // 验证是否为数字