Commit 5542f5daa69d84d076a9d2d8d4e2b81c2f15abe8

Authored by wdn127929
1 parent 4c298950

标签等信息不判空保存

... ... @@ -703,7 +703,16 @@ class _BaseInfoPageState extends State<BaseInfoPage> {
_nameController.text.trim().length == 0) {
Utils.showToast('请至少填写您的姓名和电话');
return;
} //接口
}
if (_phoneController.text.trim().length > 0 &&
!Utils.isNumericReq(_phoneController.text.trim())) {
Utils.showToast('电话请输入纯数字!');
return;
}
//接口
_setCustomerActivityBaseinfo();
},
text: '保存',
... ...
... ... @@ -498,7 +498,7 @@ class _MyContactListPageState extends State<MyContactListPage> {
color: MyColours.color_ffffff,
fontSize: ScreenUtil().setSp(20)))));
if (model.label != null) {
if (model.label != null&&model.label != '') {
List<String> labels = model.label.split(',');
labels.forEach((element) {
data.add(flatBtn(element, MyColours.color_B39437));
... ...
... ... @@ -147,27 +147,27 @@ class _MyCustomerDetailEditPageState extends State<MyCustomerDetailEditPage> {
'phone': phoneController.text
};
if (adressController.text.trim().length > 0) {
// if (adressController.text.trim().length > 0) {
params['company'] = adressController.text;
}
if (departmentController.text.trim().length > 0) {
// }
// if (departmentController.text.trim().length > 0) {
params['section'] = departmentController.text;
}
if (positionController.text.trim().length > 0) {
// }
// if (positionController.text.trim().length > 0) {
params['position'] = positionController.text;
}
if (labelShow != '') {
// }
// if (labelShow != '') {
params['label'] = labelShow;
}
if (jkController.text.trim().length > 0) {
// }
// if (jkController.text.trim().length > 0) {
params['taboos'] = jkController.text;
}
if (xhController.text.trim().length > 0) {
// }
// if (xhController.text.trim().length > 0) {
params['like'] = xhController.text;
}
if (fwController.text.trim().length > 0) {
// }
// if (fwController.text.trim().length > 0) {
params['serve'] = fwController.text;
}
// }
if (memberShow != '会员状态未知') {
params['is_member'] = memberShow == '是' ? '1' : '0';
}
... ...
... ... @@ -189,7 +189,7 @@ class _MyCustomerDetailPageState extends State<MyCustomerDetailPage> {
)),
],
),
customerProvider.guestInfoSunModel.guest.label != null
customerProvider.guestInfoSunModel.guest.label != null &&customerProvider.guestInfoSunModel.guest.label != ''
? Container(
padding: EdgeInsets.only(top: ScreenUtil().setWidth(10)),
constraints:
... ... @@ -289,7 +289,7 @@ class _MyCustomerDetailPageState extends State<MyCustomerDetailPage> {
fontSize: ScreenUtil().setSp(20)))));
}
if (customerProvider.guestInfoSunModel.guest.label != null) {
if (customerProvider.guestInfoSunModel.guest.label != null&&customerProvider.guestInfoSunModel.guest.label != '') {
List<String> labels =
customerProvider.guestInfoSunModel.guest.label.split(',');
labels.forEach((element) {
... ...
... ... @@ -483,7 +483,7 @@ class _ContactListPageState extends State<ContactListPage> {
color: MyColours.color_ffffff,
fontSize: ScreenUtil().setSp(20)))));
if (model.label != null) {
if (model.label != null && model.label != '') {
List<String> labels = model.label.split(',');
labels.forEach((element) {
data.add(flatBtn(element, MyColours.color_B39437));
... ...
... ... @@ -157,31 +157,31 @@ class _CustomerDetailEditPageState extends State<CustomerDetailEditPage> {
'phone': phoneController.text
};
if (adressController.text.trim().length > 0) {
// if (adressController.text.trim().length > 0) {
params['company'] = adressController.text;
}
if (departmentController.text.trim().length > 0) {
// }
// if (departmentController.text.trim().length > 0) {
params['section'] = departmentController.text;
}
if (positionController.text.trim().length > 0) {
// }
// if (positionController.text.trim().length > 0) {
params['position'] = positionController.text;
}
if (labelShow != '') {
// }
// if (labelShow != '') {
params['label'] = labelShow;
}
// }
if (manageShow != '') {
params['uid'] =
customerProvider.sellerManageList[customerProvider.manageSelIndex].id;
}
if (jkController.text.trim().length > 0) {
// if (jkController.text.trim().length > 0) {
params['taboos'] = jkController.text;
}
if (xhController.text.trim().length > 0) {
// }
// if (xhController.text.trim().length > 0) {
params['like'] = xhController.text;
}
if (fwController.text.trim().length > 0) {
// }
// if (fwController.text.trim().length > 0) {
params['serve'] = fwController.text;
}
// }
if (memberShow != '会员状态未知') {
params['is_member'] = memberShow == '是' ? '1' : '0';
... ...
... ... @@ -204,7 +204,7 @@ class _CustomerDetailPageState extends State<CustomerDetailPage> {
)),
],
),
customerProvider.guestInfoSunModel.guest.label != null
customerProvider.guestInfoSunModel.guest.label != null&& customerProvider.guestInfoSunModel.guest.label != ''
? Container(
padding: EdgeInsets.only(top: ScreenUtil().setWidth(10)),
constraints:
... ... @@ -699,7 +699,7 @@ class _CustomerDetailPageState extends State<CustomerDetailPage> {
fontSize: ScreenUtil().setSp(20)))));
}
if (customerProvider.guestInfoSunModel.guest.label != null) {
if (customerProvider.guestInfoSunModel.guest.label != null&& customerProvider.guestInfoSunModel.guest.label != '') {
List<String> labels =
customerProvider.guestInfoSunModel.guest.label.split(',');
labels.forEach((element) {
... ...
import 'dart:convert';
import 'dart:io';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
... ... @@ -8,8 +9,11 @@ import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import '../../../../app.dart';
import '../../../../models/set_seller_info_model.dart';
import '../../../../models/upload_img_model.dart';
import '../../../../provider/base_info_provider.dart';
import '../../../../provider/marketing_center_provider.dart';
import '../../../../provider/store_base_info_provider.dart';
import '../../../../provider/upload_img_provider.dart';
import '../../../../provider/user_model.dart';
import '../../../../res/colors.dart';
... ... @@ -51,6 +55,8 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
bool addStoreImge = false; //预订安排通知中附加餐厅文字图片
bool addAbove = false; //餐厅介绍文字显示在第一张图片上
StoreBaseIndoProvider _baseIndoProvider;
@override
void initState() {
super.initState();
... ... @@ -538,8 +544,41 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
)));
}
/// 修改店铺基本信息
_setSellerInfoById() async {
Map<String, dynamic> params = {
'id': Provider.of<UserModel>(context,listen: false).user.sellerid,
};
params['sellerdesc'] = storeIntroduceC.text;
FormData formData = FormData.fromMap(params);
SetSellerInfoSunModel sunModel =
await _baseIndoProvider.setSellerInfoById(context, formData);
if (sunModel != null) {
//修改成功
// Utils.showToast('保存店铺信息成功');
// EventBus().emit('changeStatusColor');
} else {
// Utils.showToast('保存失败');
}
}
@override
Widget build(BuildContext context) {
_baseIndoProvider =
Provider.of<StoreBaseIndoProvider>(context, listen: false);
_uploadImageProvider =
Provider.of<UploadImageProvider>(context, listen: true);
marketingCenterProvider =
... ... @@ -604,7 +643,7 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
border: OutlineInputBorder(
borderSide: BorderSide.none),
),
keyboardType: TextInputType.text,
keyboardType: TextInputType.multiline,
onChanged: (value) {
setState(() {
// currentRemark = value ?? "";
... ... @@ -679,6 +718,9 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
Utils.showToast('请输入餐厅介绍文字!');
return false;
}
_setSellerInfoById(); //同步店铺简介
List<String> images = [];
if (_uploadImageProvider.storeImage1.qiniuUrl != null &&
... ...
... ... @@ -670,7 +670,15 @@ class _BaseInfoPersonnalPageState extends State<BaseInfoPersonnalPage> {
_nameController.text.trim().length == 0) {
Utils.showToast('请至少填写您的姓名和电话');
return;
} //接口
}
if (_phoneController.text.trim().length > 0 &&
!Utils.isNumericReq(_phoneController.text.trim())) {
Utils.showToast('电话请输入纯数字!');
return;
}
//接口
// _setCustomerActivityBaseinfo();
String nameTemp = _nameController.text.trim();
String phoneTemp =
... ...
... ... @@ -18,6 +18,7 @@ import 'package:one_key/pages/online_check/photo_view_wiget.dart';
import 'package:one_key/pages/online_check/progress.dart';
import 'package:one_key/provider/base_info_provider.dart';
import 'package:one_key/provider/book_set_time_model.dart';
import 'package:one_key/provider/marketing_center_provider.dart';
import 'package:one_key/provider/store_base_info_provider.dart';
import 'package:one_key/provider/upload_img_provider.dart';
import 'package:one_key/provider/user_model.dart';
... ... @@ -81,6 +82,8 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
SetTime night = SetTime();
bool onePhone = true;
MarketingCenterProvider marketingCenterProvider;
///获取接单时间接口
_getReceiveOrdersTime() async {
GetSellerInfoSunModel model = await bookSetTimeModel.getSellerById(context);
... ... @@ -131,6 +134,7 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
_getStoreBaseinfo();
_getReceiveOrdersTime();
_getDailyTime();
getSellerTemplateConf();
});
}
... ... @@ -140,6 +144,67 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
super.dispose();
}
getSellerTemplateConf() async {
bool success = await marketingCenterProvider.getSellerTemplateConf(context);
if (success && marketingCenterProvider.markDataModel.store != null) {
print(marketingCenterProvider.markDataModel.store);
// currIndex = int.parse(marketingCenterProvider.markDataModel.store.style);
// _uploadImageProvider.storeImage1.qiniuUrl =
// marketingCenterProvider.markDataModel.store.images.length > 0
// ? marketingCenterProvider.markDataModel.store.images[0]
// : null;
// _uploadImageProvider.storeImage1.process =
// _uploadImageProvider.storeImage1.qiniuUrl != null &&
// _uploadImageProvider.storeImage1.qiniuUrl != ''
// ? 1
// : null;
// _uploadImageProvider.storeImage2.qiniuUrl =
// marketingCenterProvider.markDataModel.store.images.length > 1
// ? marketingCenterProvider.markDataModel.store.images[1]
// : null;
// _uploadImageProvider.storeImage2.process =
// _uploadImageProvider.storeImage2.qiniuUrl != null &&
// _uploadImageProvider.storeImage2.qiniuUrl != ''
// ? 1
// : null;
// _uploadImageProvider.storeImage3.qiniuUrl =
// marketingCenterProvider.markDataModel.store.images.length > 2
// ? marketingCenterProvider.markDataModel.store.images[2]
// : null;
// _uploadImageProvider.storeImage3.process =
// _uploadImageProvider.storeImage3.qiniuUrl != null &&
// _uploadImageProvider.storeImage3.qiniuUrl != ''
// ? 1
// : null;
// _uploadImageProvider.storeImage4.qiniuUrl =
// marketingCenterProvider.markDataModel.store.images.length > 3
// ? marketingCenterProvider.markDataModel.store.images[3]
// : null;
// _uploadImageProvider.storeImage4.process =
// _uploadImageProvider.storeImage4.qiniuUrl != null &&
// _uploadImageProvider.storeImage4.qiniuUrl != ''
// ? 1
// : null;
// storeIntroduceC.text =
// marketingCenterProvider.markDataModel.store.introduce;
// addStoreIntroduce =
// marketingCenterProvider.markDataModel.store.isIntroduce == '1'
// ? true
// : false;
// addStoreImge = marketingCenterProvider.markDataModel.store.isImages == '1'
// ? true
// : false;
// addAbove = marketingCenterProvider.markDataModel.store.isAbove == '1'
// ? true
// : false;
// setState(() {});
}
}
/// 从接口获取可订时段信息 daily
_getDailyTime() async {
SunSellerInfoModel model = await bookSetTimeModel.getManagersInfo(context);
... ... @@ -332,6 +397,17 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
Utils.showToast('请输入店铺电话!');
return;
}
if (!Utils.isNumericReq(_phoneController.text.trim())) {
Utils.showToast('电话1请输入纯数字!');
return;
}
if (_phoneController2.text.trim().length > 0 &&
!Utils.isNumericReq(_phoneController2.text.trim())) {
Utils.showToast('电话2请输入纯数字!');
return;
}
if (_timeController.text.trim().length == 0) {
Utils.showToast('请输入营业时间!');
return;
... ... @@ -371,9 +447,42 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
}
await _setReceiveTime();
_refreshMarketingInfo();
await _setSellerInfoById();
}
_refreshMarketingInfo() async {
//接口
Map storeData = {
// 'style': currIndex.toString(),
// 'seller_name': sellername,
'introduce': _introductionController.text,
};
if (marketingCenterProvider.markDataModel != null &&
marketingCenterProvider.markDataModel.store != null) {
storeData['images'] = marketingCenterProvider.markDataModel.store.images;
storeData['is_introduce'] =
marketingCenterProvider.markDataModel.store.isIntroduce;
storeData['is_images'] =
marketingCenterProvider.markDataModel.store.isImages;
storeData['is_above'] =
marketingCenterProvider.markDataModel.store.isAbove;
}
Map<String, String> params = {
'sid': Provider.of<UserModel>(context, listen: false).user.sellerid,
'store': json.encode(storeData)
};
bool success = await marketingCenterProvider
.setSellerTemplateConf(context, params, showLoading: true);
if (success) {
// Utils.showToast('保存成功');
// Navigator.pop(context);
}
}
/// 修改店铺基本信息
_setSellerInfoById() async {
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
... ... @@ -1227,6 +1336,8 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
@override
Widget build(BuildContext context) {
marketingCenterProvider =
Provider.of<MarketingCenterProvider>(context, listen: false);
_uploadImageProvider =
Provider.of<UploadImageProvider>(context, listen: true);
_baseIndoProvider =
... ... @@ -1891,9 +2002,11 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
.goMapChoicePointPage(
context,
long: mapAddress[
'lng'].toString(),
'lng']
.toString(),
lat: mapAddress[
'lat'].toString());
'lat']
.toString());
if (temp != null) {
mapAddress = temp;
... ... @@ -2069,7 +2182,7 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
controller: _introductionController,
maxLines: 8,
maxLength: 150,
maxLength: 500,
// inputFormatters: [
// LengthLimitingTextInputFormatter(9),
// FilteringTextInputFormatter
... ... @@ -2089,7 +2202,8 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
fontSize: ScreenUtil().setSp(24),
color: MyColours.color_515151),
textAlign: TextAlign.left,
textInputAction: TextInputAction.done,
// textAlignVertical: TextAlignVertical.center,
// textInputAction: TextInputAction.newline,
decoration: InputDecoration(
isDense: true,
hintText: "请输入店铺简介",
... ... @@ -2104,13 +2218,17 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
border: OutlineInputBorder(
borderSide: BorderSide.none),
),
onChanged: (value) {},
onEditingComplete: () {
FocusScope.of(context)
.requestFocus(FocusNode()); //隐藏键盘
// _updateMoney();
},
keyboardType: TextInputType.text,
// onChanged: (value) {
// setState(() {
// });
// },
// onEditingComplete: () {
// FocusScope.of(context)
// .requestFocus(FocusNode()); //隐藏键盘
// // _updateMoney();
// },
keyboardType: TextInputType.multiline,
)),
// Padding(
// padding: EdgeInsets.symmetric(
... ...
... ... @@ -977,7 +977,8 @@ var storeBaseInfoPageHandler = new Handler(
return ChangeNotifierProvider<StoreBaseIndoProvider>(
create: (_) => StoreBaseIndoProvider(),
child: ChangeNotifierProvider<BookSetTimeModel>(
create: (_) => BookSetTimeModel(), child: StoreBaseInfoPage()));
create: (_) => BookSetTimeModel(), child: ChangeNotifierProvider<MarketingCenterProvider>(
create: (_) => MarketingCenterProvider(), child: StoreBaseInfoPage())));
// return ChangeNotifierProvider<UploadImageProvider>(
// create: (_) => UploadImageProvider(), child: EnterStoreFrontPhotoPage());
});
... ... @@ -2551,7 +2552,8 @@ var storeIntroducePageHandle = new Handler(
// NotebookDetail detailEntity = NotebookDetail.fromJson(json
// .decode(FluroConvertUtils.fluroCnParamsDecode(params["detail"].first)));
return ChangeNotifierProvider<MarketingCenterProvider>(
create: (_) => MarketingCenterProvider(), child: StoreIntroducePage());
create: (_) => MarketingCenterProvider(), child:ChangeNotifierProvider<StoreBaseIndoProvider>(
create: (_) => StoreBaseIndoProvider(), child: StoreIntroducePage()));
});
//我的----营销中心-主厨介绍
... ...
... ... @@ -3996,6 +3996,12 @@ class DialogUtil {
List<t.Table> selectTables,
CustomCallBackMap onTap,
CustomCallBackMap onTapDel}) async {
print(isMerge);
print(isLock);
print(selectTables);
print(table.lockTname);
TextEditingController controller = TextEditingController();
controller.text = name;
// TextEditingController _norNumController = TextEditingController();
... ... @@ -4013,6 +4019,7 @@ class DialogUtil {
String rid = table.rid;
String areaName = table.rname;
bool delBtnState = isLock == '1'&&table.lockTname != '' &&table.lockTname != null || isMerge == '1' &&selectTables !=null&&selectTables.length > 0 ? true:false;
// StateSetter globalState;
// //输入框焦点
// focusNode.addListener(() {
... ... @@ -4537,12 +4544,15 @@ class DialogUtil {
width: ScreenUtil().setWidth(88 * 2),
height: ScreenUtil().setWidth(36 * 2),
radius: ScreenUtil().setWidth(10),
gradientStart: MyColours.color_E34D59,
gradientEnd: MyColours.color_E34D59,
gradientStart:delBtnState ? MyColours.color_999999 : MyColours.color_E34D59,
gradientEnd:delBtnState ? MyColours.color_999999: MyColours.color_E34D59,
textColor: MyColours.color_ffffff,
isBold: false,
fontSize: 28,
onPressed: () {
if(delBtnState){
return;
}
DialogUtil.cupertinoAlertDialog(context,
title: "",
content: "是否确定删除1个桌位",
... ...
... ... @@ -152,6 +152,12 @@ class Utils {
return double.tryParse(s) != null;
}
static bool isNumericReq(String str) {
final reg = RegExp(r'^[0-9]+$');
print('$str 是否数字:${reg.hasMatch(str)}');
return reg.hasMatch(str);
}
// ^(([^0][0-9]+|0)$)|^(([1-9]+)$)
// 验证是否为数字
... ...