Commit 3e25064c3127ac7467e6cb056a32658cb3b132cc

Authored by wdn127929
1 parent 484debc6

员工管理页面越界and员工编辑页面弹窗修改失败

... ... @@ -12,14 +12,14 @@ if (flutterRoot == null) {
}
def flutterVersionCode = "405"
def flutterVersionCode = "407"
if (flutterVersionCode == null) {
flutterVersionCode = '405'
flutterVersionCode = '407'
}
def flutterVersionName = "4.0.5"
def flutterVersionName = "4.0.7"
if (flutterVersionName == null) {
flutterVersionName = '4.0.5'
flutterVersionName = '4.0.7'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
... ...
... ... @@ -35,11 +35,10 @@ class GetSellerUserBySelleridSunModel extends Object {
@JsonKey(name: 'role_name')
String roleName;
GetSellerUserBySelleridSunModel(
this.nickName,
this.id,
this.roleName
);
@JsonKey(name: 'account')
String account;
GetSellerUserBySelleridSunModel(this.nickName, this.id, this.roleName,this.account);
factory GetSellerUserBySelleridSunModel.fromJson(
Map<String, dynamic> srcJson) =>
... ...
... ... @@ -34,6 +34,7 @@ GetSellerUserBySelleridSunModel _$GetSellerUserBySelleridSunModelFromJson(
json['nick_name'] as String,
json['id'] as String,
json['role_name'] as String,
json['account'] as String
);
}
... ... @@ -42,5 +43,6 @@ Map<String, dynamic> _$GetSellerUserBySelleridSunModelToJson(
<String, dynamic>{
'nick_name': instance.nickName,
'id': instance.id,
'role_name': instance.roleName
'role_name': instance.roleName,
'account':instance.account
};
... ...
... ... @@ -203,6 +203,9 @@ class Last extends Object {
@JsonKey(name: 'con_amount')
String conAmount;
@JsonKey(name: 'account')
String account;
String get ddateSoltStr {
switch (ddateSolt) {
case "1":
... ... @@ -244,7 +247,8 @@ class Last extends Object {
this.sellerUserNickName,
this.sellerUserPhone,
this.actualPum,
this.conAmount);
this.conAmount,
this.account);
factory Last.fromJson(Map<String, dynamic> srcJson) =>
_$LastFromJson(srcJson);
... ...
... ... @@ -121,6 +121,7 @@ Last _$LastFromJson(Map<String, dynamic> json) {
json['seller_user_phone'] as String,
json['actual_pum'] as String,
json['con_amount'] as String,
json['account'] as String
);
}
... ... @@ -134,6 +135,7 @@ Map<String, dynamic> _$LastToJson(Last instance) => <String, dynamic>{
'seller_user_phone': instance.sellerUserPhone,
'actual_pum': instance.actualPum,
'con_amount': instance.conAmount,
'account':instance.account
};
Count _$CountFromJson(Map<String, dynamic> json) {
... ...
... ... @@ -118,10 +118,14 @@ class SellerUser extends Object {
@JsonKey(name: 'nick_name')
String nickName;
@JsonKey(name: 'account')
String account;
SellerUser(
this.id,
this.finishedStatus,
this.nickName,
this.account
);
factory SellerUser.fromJson(Map<String, dynamic> srcJson) =>
... ...
... ... @@ -68,11 +68,8 @@ Map<String, dynamic> _$MarketingByIdSunModelToJson(
};
SellerUser _$SellerUserFromJson(Map<String, dynamic> json) {
return SellerUser(
json['id'] as String,
json['finished_status'] as int,
json['nick_name'] as String,
);
return SellerUser(json['id'] as String, json['finished_status'] as int,
json['nick_name'] as String, json['account'] as String);
}
Map<String, dynamic> _$SellerUserToJson(SellerUser instance) =>
... ... @@ -80,4 +77,5 @@ Map<String, dynamic> _$SellerUserToJson(SellerUser instance) =>
'id': instance.id,
'finished_status': instance.finishedStatus,
'nick_name': instance.nickName,
'account': instance.account
};
... ...
... ... @@ -331,5 +331,7 @@ class HttpUrl {
static const String get_banquet_by_date =
"?service=App.Banquet.GetBanquetByDate"; //指定日期、时段宴会预定
static const String set_cookbook_by_id =
"?service=App.Cookbook.SetCookbookById"; //修改菜品
}
... ...
... ... @@ -107,7 +107,7 @@ class _FeastItemState extends State<FeastItem> {
fontSize: ScreenUtil().setSp(28)),
),
Text(
'跟单经理:${widget.sunModel.nickName}',
'跟单经理:${widget.sunModel.nickName ?? widget.sunModel.account}',
style: TextStyle(
color: MyColours.color_515151,
fontSize: ScreenUtil().setSp(28)),
... ...
... ... @@ -17,6 +17,10 @@ import 'package:one_key/widgets/round_button.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
/**
*
* 我的客户详情
*/
class MyCustomerDetailPage extends StatefulWidget {
final CustomerListSunModel userHistoryEntity;
... ... @@ -435,7 +439,7 @@ class _MyCustomerDetailPageState extends State<MyCustomerDetailPage> {
color: MyColours.color_333333),
),
Text(
'${customerProvider.guestInfoSunModel.last.sellerUserNickName} ${customerProvider.guestInfoSunModel.last.sellerUserPhone}',
'${customerProvider.guestInfoSunModel.last.sellerUserNickName ?? customerProvider.guestInfoSunModel.last.account} ${customerProvider.guestInfoSunModel.last.sellerUserPhone}',
style: TextStyle(
fontSize: ScreenUtil().setSp(24),
color: MyColours.color_199095),
... ...
... ... @@ -13,6 +13,8 @@ import 'package:one_key/widgets/system_app_bar.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import '../../../../provider/user_model.dart';
class MyCustomerOrderPage extends StatefulWidget {
final String id;
final String phone;
... ... @@ -38,7 +40,8 @@ class _MyCustomerOrderPageState extends State<MyCustomerOrderPage> {
Map<String, String> params = {
"id": widget.id,
"phone": widget.phone,
'year': year.toString()
'year': year.toString(),
'sellerid': Provider.of<UserModel>(context, listen: false).user.sellerid
};
await customerProvider.getGuestReserve(context, params,
showLoading: showLoading);
... ...
... ... @@ -130,24 +130,25 @@ class _MyFestivalEditPageState extends State<MyFestivalEditPage> {
String dayStr = '';
bool gongli = true;
String content = str.substring(0, str.indexOf(':'));
if (str.contains('年')) {
yearStr = str.substring(
str.indexOf(':') + 1, str.indexOf('年'));
String tempStr = str.substring(str.indexOf(':'), str.length);
if (tempStr.contains('年')) {
yearStr = tempStr.substring(
tempStr.indexOf(':') + 1, tempStr.indexOf('年'));
}
if (str.contains('月')) {
if (str.contains('年')) {
monthStr = str.substring(
str.indexOf('年') + 1, str.indexOf('月'));
if (tempStr.contains('月')) {
if (tempStr.contains('年')) {
monthStr = tempStr.substring(
tempStr.indexOf('年') + 1, tempStr.indexOf('月'));
} else {
monthStr = str.substring(
str.indexOf(':') + 1, str.indexOf('月'));
monthStr = tempStr.substring(
tempStr.indexOf(':') + 1, tempStr.indexOf('月'));
}
}
if (str.contains('日')) {
dayStr = str.substring(
str.indexOf('月') + 1, str.indexOf('日'));
if (tempStr.contains('日')) {
dayStr = tempStr.substring(
tempStr.indexOf('月') + 1, tempStr.indexOf('日'));
}
if (str.contains('农历')) {
if (tempStr.contains('农历')) {
gongli = false;
}
... ...
... ... @@ -143,18 +143,18 @@ class _CustomerListPageState extends State<CustomerListPage>
model.sellerUser != null &&
model.sellerUser.length > 0) {
for (SellerUser item in model.sellerUser) {
if (item.nickName != null) {
FilterBtnModel model = FilterBtnModel();
model.id = item.uid;
model.title = item.nickName;
if (widget.uidStr == model.id) {
model.select = true;
} else {
model.select = false;
}
customerProvider.filterManageList.add(model);
// if (item.nickName != null) {
FilterBtnModel model = FilterBtnModel();
model.id = item.uid;
model.title = item.nickName ?? item.account;
if (widget.uidStr == model.id) {
model.select = true;
} else {
model.select = false;
}
customerProvider.filterManageList.add(model);
// }
}
// setState(() {});
}
... ...
... ... @@ -13,6 +13,8 @@ import 'package:one_key/widgets/system_app_bar.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import '../../../../provider/user_model.dart';
class CustomerOrderPage extends StatefulWidget {
final String id;
final String phone;
... ... @@ -38,7 +40,8 @@ class _CustomerOrderPageState extends State<CustomerOrderPage> {
Map<String, String> params = {
"id": widget.id,
"phone": widget.phone,
'year': year.toString()
'year': year.toString(),
'sellerid': Provider.of<UserModel>(context, listen: false).user.sellerid
};
await customerProvider.getGuestReserve(context, params,
showLoading: showLoading);
... ...
... ... @@ -131,25 +131,30 @@ class _FestivalEditPageState extends State<FestivalEditPage> {
bool gongli = true;
String content = str.substring(0, str.indexOf(':'));
str = str.substring(content.length);
if (str.contains('年')) {
yearStr = str.substring(
str.indexOf(':') + 1, str.indexOf('年'));
String tempStr =
str.substring(str.indexOf(':'), str.length);
if (tempStr.contains('年')) {
yearStr = tempStr.substring(
tempStr.indexOf(':') + 1,
tempStr.indexOf('年'));
}
if (str.contains('月')) {
if (str.contains('年')) {
monthStr = str.substring(
str.indexOf('年') + 1, str.indexOf('月'));
if (tempStr.contains('月')) {
if (tempStr.contains('年')) {
monthStr = tempStr.substring(
tempStr.indexOf('年') + 1,
tempStr.indexOf('月'));
} else {
monthStr = str.substring(
str.indexOf(':') + 1, str.indexOf('月'));
monthStr = tempStr.substring(
tempStr.indexOf(':') + 1,
tempStr.indexOf('月'));
}
}
if (str.contains('日')) {
dayStr = str.substring(
str.indexOf('月') + 1, str.indexOf('日'));
if (tempStr.contains('日')) {
dayStr = tempStr.substring(
tempStr.indexOf('月') + 1,
tempStr.indexOf('日'));
}
if (str.contains('农历')) {
if (tempStr.contains('农历')) {
gongli = false;
}
... ...
... ... @@ -111,7 +111,7 @@ class _MarketingRecordsDetailPageState
List<Widget> items = [];
for (SellerUser item in data) {
String title = '${item.nickName}经理';
String title = '${item.nickName ?? item.account}经理';
title += item.finishedStatus == 0 ? '(未完成)' : '(已完成)';
items.add(InkWell(
... ...
... ... @@ -13,6 +13,11 @@ import 'package:one_key/widgets/page_exception.dart';
import 'package:one_key/widgets/round_button.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:provider/provider.dart';
/**
*
* 全店营销记录
*
*/
class MarketingRecordsPage extends StatefulWidget {
final FromPage fromPage;
... ...
... ... @@ -51,6 +51,7 @@ class _MenuAddDishesPageState extends State<MenuAddDishesPage> {
String categoryStr = '请选择';
List<String> specStrList = [];
String specStr = '请选择';
String mid = '';
@override
void initState() {
super.initState();
... ... @@ -83,6 +84,7 @@ class _MenuAddDishesPageState extends State<MenuAddDishesPage> {
_priceController.text = menuManageProvider.cookbookOneSunModel.price;
categoryStr = menuManageProvider.cookbookOneSunModel.className;
specStr = menuManageProvider.cookbookOneSunModel.unit;
mid = menuManageProvider.cookbookOneSunModel.id;
if (menuManageProvider.cookbookOneSunModel.image != null &&
menuManageProvider.cookbookOneSunModel.image != 'null' &&
menuManageProvider.cookbookOneSunModel.image != '') {
... ... @@ -147,12 +149,22 @@ class _MenuAddDishesPageState extends State<MenuAddDishesPage> {
'status': swichState ? '1' : '0',
'price': _priceController.text
};
if (mid != '') {
params['id'] = mid;
}
if (uploadImageProvider.dish.qiniuUrl != null &&
uploadImageProvider.dish.qiniuUrl != '') {
params['image'] = uploadImageProvider.dish.qiniuUrl;
}
bool sucess = await menuManageProvider.addCookbook(context, params,
showLoading: showLoading);
bool sucess = false;
if (mid != '') {
sucess = await menuManageProvider.setCookbookById(context, params,
showLoading: showLoading);
} else {
sucess = await menuManageProvider.addCookbook(context, params,
showLoading: showLoading);
}
if (sucess) {
EventBus().emit('menu_manage_page');
Navigator.of(context).pop();
... ...
... ... @@ -154,6 +154,7 @@ class _MenuCategoryPageState extends State<MenuCategoryPage> {
//
DialogUtil.textfeildAlertDialog(context,
title: '添加分类',
text: '',
hintText: '输入分类名称',
lenghtLimit: true,
toast: '请输入分类名称', rCallback: (name) {
... ...
... ... @@ -291,7 +291,7 @@ class _MenuManagePageState extends State<MenuManagePage> {
fontWeight:
FontWeight.bold),
),
VEmptyView(10),
VEmptyView(8),
Text(
'${model.price}元/${model.unit}',
style: TextStyle(
... ...
... ... @@ -17,6 +17,8 @@ import 'package:one_key/widgets/system_app_bar.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import '../../../utils/screen_util.dart';
class PersonnelManagePage extends StatefulWidget {
PersonnelManagePage({Key key}) : super(key: key);
... ... @@ -378,24 +380,33 @@ class _PersonnelManagePageState extends State<PersonnelManagePage> {
CrossAxisAlignment
.center,
children: [
Text(
model.nickName !=
null &&
model.nickName !=
'null'
? model.nickName
: '暂未设置名称',
style: TextStyle(
fontSize:
ScreenUtil()
.setWidth(
32),
color: isWechat
? MyColours
.color_438E93
: MyColours
.color_999999),
),
Container(
constraints:
BoxConstraints(
maxWidth:
w(120)),
child: Text(
model.nickName !=
null &&
model.nickName !=
'null'
? model.nickName
: '暂未设置名称',
style: TextStyle(
fontSize:
ScreenUtil()
.setWidth(
32),
color: isWechat
? MyColours
.color_438E93
: MyColours
.color_999999),
overflow:
TextOverflow
.ellipsis,
maxLines: 10,
)),
HEmptyView(8),
Text(
model.phone ?? '',
... ...
... ... @@ -425,6 +425,16 @@ class _StoreBaseInfoPageState extends State<StoreBaseInfoPage> {
SetSellerInfoSunModel sunModel =
await _baseIndoProvider.setSellerInfoById(context, formData);
if (sunModel != null) {
UserModel userModel = Provider.of<UserModel>(context, listen: false);
userModel.user.morning = morningStr;
userModel.user.noon = noonStr;
userModel.user.night = nightStr;
print(userModel.user);
// morning =
// userModel.user.morning.isEmpty ? "00:00-00:00" : userModel.user.morning;
// noon = userModel.user.noon.isEmpty ? "00:00-00:00" : userModel.user.noon;
// night = userModel.user.night.isEmpty ? "0
//修改成功
Utils.showToast('保存店铺信息成功');
EventBus().emit('changeStatusColor');
... ...
... ... @@ -293,6 +293,11 @@ class MyTableManagerHomePageState extends State<MyTableManagerHomePage> {
tableManagerModel.tableOuterList[i].selectTables
.removeWhere((t) => t.id == table.id);
}
tableManagerModel
.tableOuterList[tableManagerModel.selectNumber]
.isAll =
tableManagerModel.tableOuterList[i].list
.every((element) => element.selected);
} else {
// for (t.Table item
// in tableManagerModel.tableOuterList[i].list) {
... ...
... ... @@ -1273,12 +1273,12 @@ class CustomerProvider extends ChangeNotifier {
sellerManageList = [];
if (sunmodel != null && sunmodel.length > 0) {
for (GetSellerUserBySelleridSunModel item in sunmodel) {
if (item.nickName != null) {
// if (item.nickName != null) {
FilterBtnModel model = FilterBtnModel();
model.id = item.id;
model.title = item.nickName;
model.title = item.nickName ?? item.account;
sellerManageList.add(model);
}
// }
}
}
} else {
... ...
... ... @@ -1615,11 +1615,11 @@ class FeastModel extends ChangeNotifier {
if (baseResp.code == Constant.status_success) {
if (baseResp.data == false) {
isDepositBack = false;
Map<String, String> pramas = {
Map<String, String> setpramas = {
'sid': Provider.of<UserModel>(context, listen: false).user.sellerid,
'is_deposit_back': '0'
};
await setBanquetConf(context, params);
await setBanquetConf(context, setpramas);
} else {
isDepositBack = baseResp.data['is_deposit_back'] == '1' ? true : false;
}
... ...
... ... @@ -190,6 +190,27 @@ class MenuManageProvider extends ChangeNotifier {
return false;
}
///修改菜品
Future<bool> setCookbookById(BuildContext context, Map<String, String> params,
{showLoading = false}) async {
BaseResp<dynamic> baseResp = await DioUtil()
.request<dynamic>(context, Method.get, HttpUrl.set_cookbook_by_id,
data: params, showLoading: showLoading)
.catchError((error) {
print(error.toString());
});
if (baseResp != null && baseResp.code == Constant.status_success) {
if (baseResp.data['data'] != '') {
return true;
}
} else {
Utils.showToast(baseResp.msg ?? "");
}
return false;
}
///添加菜品分类信息
Future<bool> addCookbookClass(
... ...
... ... @@ -329,6 +329,16 @@ class MyTableManageHomeModel with ChangeNotifier {
} else {
Utils.showToast(baseResp.msg ?? '删除区域失败!');
}
} else if (baseResp.code == 402) {
if (baseResp.msg.contains('非法请求:')) {
String msg = baseResp.msg.substring(5, baseResp.msg.length);
if (msg.endsWith(',')) {
msg = msg.substring(0, msg.length - 1);
}
Utils.showToast('桌位“${msg}”还有未赴约预订,不能被删除。');
} else {
Utils.showToast('桌位还有未赴约预订,不能被删除。');
}
} else {
Utils.showToast(baseResp.msg ?? '删除区域失败!');
}
... ...
... ... @@ -167,11 +167,15 @@ class PersonnelProvider extends ChangeNotifier {
print(error.toString());
});
if (baseResp != null && baseResp.code == Constant.status_success) {
if (baseResp.data.length == 1 && baseResp.data[0] == 1) {
if (baseResp.data.length == 1 ) {
return true;
}
} else {
Utils.showToast(baseResp.msg ?? "");
if (baseResp.code == 397) {
return true;
} else {
Utils.showToast(baseResp.msg ?? "");
}
}
return false;
}
... ... @@ -187,9 +191,9 @@ class PersonnelProvider extends ChangeNotifier {
print(error.toString());
});
if (baseResp != null && baseResp.code == Constant.status_success) {
if (baseResp.data == 1) {
// if (baseResp.data == 1) {
return true;
}
// }
} else {
Utils.showToast(baseResp.msg ?? "");
}
... ...
... ... @@ -627,7 +627,7 @@ class DialogUtil {
],
),
),
VEmptyView(80),
VEmptyView(60),
MyDivider(double.infinity, ScreenUtil().setWidth(2),
color: MyColours.color_f3f3f3),
Row(
... ... @@ -975,11 +975,11 @@ class DialogUtil {
return;
}
if (numC.text.trim() == '') {
Utils.showToast('请输入菜品数量!');
// if (numC.text.trim() == '') {
// Utils.showToast('请输入菜品数量!');
return;
}
// return;
// }
if (perC.text.trim() == '') {
Utils.showToast('请输入${pricetitle}!');
return;
... ... @@ -3377,7 +3377,7 @@ class DialogUtil {
],
),
),
VEmptyView(80),
VEmptyView(70),
RoundButton(
text: '保存',
width: ScreenUtil().setWidth(300),
... ... @@ -5462,22 +5462,25 @@ class DialogUtil {
fontSize: ScreenUtil().setSp(fontSize),
color: MyColours.color_353535)),
),
Positioned(
right: 0,
top: 0,
child: InkWell(
onTap: delCallback,
child: Padding(
padding: EdgeInsets.only(
top: ScreenUtil().setWidth(36)),
child: Text('删除',
style: TextStyle(
decoration:
TextDecoration.underline,
fontSize:
ScreenUtil().setSp(26),
color: MyColours.color_199095)),
)))
monthStr == ''
? SizedBox()
: Positioned(
right: 0,
top: 0,
child: InkWell(
onTap: delCallback,
child: Padding(
padding: EdgeInsets.only(
top: ScreenUtil().setWidth(36)),
child: Text('删除',
style: TextStyle(
decoration: TextDecoration
.underline,
fontSize:
ScreenUtil().setSp(26),
color: MyColours
.color_199095)),
)))
]),
Container(
... ... @@ -6016,8 +6019,8 @@ class DialogUtil {
//输入弹框
static Future textfeildAlertDialog(BuildContext context,
{String title = "标题",
String text = "内容",
String hintText = "内容",
String text = "",
String hintText = "请输入",
String lTitle = "取消",
String rTitle = "确定",
String toast = '请输入',
... ...