Commit 8ee29d21c5ee19ae999555c8fcb47c25cad1e671

Authored by wdn127929
1 parent 180f64ff

预订使用最新接口可预订时段,默认8:00,12:00,18:00改为当前时段第一个时间

... ... @@ -229,8 +229,8 @@ class MyAppState extends State<MyApp> {
//判断是否登录
_isLogin() {
UserModel userModel = Provider.of<UserModel>(context, listen: false);
userModel.initUser();
// UserModel userModel = Provider.of<UserModel>(context, listen: false);
// userModel.initUser();
isLogin = App.sp.getBool("isLogin") ?? false;
}
... ...
import 'package:json_annotation/json_annotation.dart';
import 'dart:convert' as convert;
part 'get_seller_info_model.g.dart';
... ... @@ -165,6 +166,9 @@ class Data extends Object {
@JsonKey(name: 'edate')
String edate;
@JsonKey(name: 'daily')
Daily dailyShow;
Data(
this.id,
this.pid,
... ... @@ -206,7 +210,8 @@ class Data extends Object {
this.disCode,
this.sellerCode,
this.realAddress,
this.edate
this.edate,
this.dailyShow
);
factory Data.fromJson(Map<String, dynamic> srcJson) =>
... ... @@ -214,3 +219,34 @@ class Data extends Object {
Map<String, dynamic> toJson() => _$DataToJson(this);
}
@JsonSerializable()
class Daily extends Object {
@JsonKey(name: 'morning')
String morning;
@JsonKey(name: 'noon')
String noon;
@JsonKey(name: 'night')
String night;
Daily(
this.morning,
this.noon,
this.night,
);
factory Daily.fromJson(Map<String, dynamic> srcJson) =>
_$DailyFromJson(srcJson);
Map<String, dynamic> toJson() => _$DailyToJson(this);
@override
String toString() {
return 'Daily{morning: $morning, noon: $noon, night: $night}';
}
}
... ...
... ... @@ -77,6 +77,10 @@ Data _$DataFromJson(Map<String, dynamic> json) {
json['seller_code'] as String,
json['real_address'] as String,
json['edate'] as String,
json['daily'] == null
? null
: Daily.fromJson(
convert.jsonDecode(json['daily']) as Map<String, dynamic>),
);
}
... ... @@ -121,5 +125,15 @@ Map<String, dynamic> _$DataToJson(Data instance) => <String, dynamic>{
'dis_code': instance.disCode,
'seller_code': instance.sellerCode,
'real_address': instance.realAddress,
'edate': instance.edate
'edate': instance.edate,
};
Daily _$DailyFromJson(Map<String, dynamic> json) {
return Daily(json['morning'] as String, json['noon'] as String,
json['night'] as String);
}
Map<String, dynamic> _$DailyToJson(Daily instance) => <String, dynamic>{
'morning': instance.morning,
'noon': instance.noon,
'night': instance.night
};
... ...
... ... @@ -255,19 +255,44 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
tempSelect = true;
}
} else {
UserModel userModel = Provider.of<UserModel>(context, listen: false);
String beginDate = '';
if (mnd == 1) {
if (temp == '08:00') {
tempSelect = true;
beginDate = '08:00';
if (userModel.user.morning != '' && userModel.user.morning != null) {
List tempDate = userModel.user.morning.split("-");
beginDate = tempDate[0];
}
} else if (mnd == 2) {
if (temp == '12:00') {
tempSelect = true;
beginDate = '12:00';
if (userModel.user.noon != '' && userModel.user.noon != null) {
List tempDate = userModel.user.noon.split("-");
beginDate = tempDate[0];
}
} else if (mnd == 3) {
if (temp == '18:00') {
tempSelect = true;
beginDate = '18:00';
if (userModel.user.night != '' && userModel.user.night != null) {
List tempDate = userModel.user.night.split("-");
beginDate = tempDate[0];
}
}
if (temp == beginDate) {
tempSelect = true;
}
// if (mnd == 1) {
// if (temp == '08:00') {
// tempSelect = true;
// }
// } else if (mnd == 2) {
// if (temp == '12:00') {
// tempSelect = true;
// }
// } else if (mnd == 3) {
// if (temp == '18:00') {
// tempSelect = true;
// }
// }
}
Map tempMap = {'title': temp, 'select': tempSelect};
res.add(tempMap);
... ... @@ -1416,7 +1441,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
content: ddateHm,
list: personNumList,
detailModel: model,
uid:widget.uid,
uid: widget.uid,
callback: () {
//时间弹窗
FocusScope.of(context)
... ... @@ -1490,7 +1515,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
isPrice: false,
controller: pnumC,
focusNode: pnumF,
uid:widget.uid,
uid: widget.uid,
callback: () async {
bool sucess =
await detailModel
... ... @@ -1565,7 +1590,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
detailModel: detailModel,
rid: widget.rid,
isPrice: true,
uid:widget.uid,
uid: widget.uid,
controller:
detailModel.numController,
focusNode: priceF,
... ...
... ... @@ -44,6 +44,7 @@ import '../../models/customer_by_seller_model.dart';
import '../../app.dart';
import '../../models/get_seller_info_model.dart';
import '../../models/user.dart';
import '../../provider/feast_model.dart';
import '../../provider/remark_manager_model.dart';
import '../../provider/store_base_info_provider.dart';
... ... @@ -169,7 +170,9 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
create: (_) => TableManagerModel(),
child: ChangeNotifierProvider<RemarkManagerModel>(
create: (_) => RemarkManagerModel(),
child: TableManagerPage())),
child: ChangeNotifierProvider<StoreBaseIndoProvider>(
create: (_) => StoreBaseIndoProvider(),
child: TableManagerPage()))),
)))
..add(
ChangeNotifierProvider<FeastModel>(
... ... @@ -307,6 +310,19 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
_edateShow();
});
}
if (App.sp.containsKey('user')) {
String s = App.sp.getString('user');
User _user = User.fromJson(json.decode(s));
_user.sellerimage = sellerInfoSunModel.data.sellerImage;
_user.sellerphone = sellerInfoSunModel.data.sellerTel;
_user.sellername = sellerInfoSunModel.data.sellername;
_user.morning = sellerInfoSunModel.data.dailyShow.morning;
_user.noon = sellerInfoSunModel.data.dailyShow.noon;
_user.night = sellerInfoSunModel.data.dailyShow.night;
_user.sellerAddr = sellerInfoSunModel.data.realAddress;
await UserModel().saveUserInfo(_user);
}
}
}
... ...
... ... @@ -136,8 +136,8 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
//判断是否登录
void isLogin() async {
UserModel userModel = Provider.of<UserModel>(context, listen: false);
userModel.initUser();
// UserModel userModel = Provider.of<UserModel>(context, listen: false);
// userModel.initUser();
if (App.sp.getBool("isLogin") ?? false) {
Future.delayed(Duration(milliseconds: 200), () {
NavigatorUtil.goHomePage(context);
... ...
import 'dart:async';
import 'dart:convert';
import 'package:common_utils/common_utils.dart';
import 'package:dotted_border/dotted_border.dart';
... ... @@ -46,8 +47,11 @@ import 'package:scrollable_positioned_list/scrollable_positioned_list.dart';
import 'package:one_key/models/table_list.dart' as table;
import '../../app.dart';
import '../../models/get_seller_info_model.dart';
import '../../models/remark.dart';
import '../../models/user.dart';
import '../../provider/remark_manager_model.dart';
import '../../provider/store_base_info_provider.dart';
import '../../utils/screen_util.dart';
import '../../widgets/loading.dart';
import '../../widgets/special_text/my_extended_text_selection_controls.dart';
... ... @@ -156,8 +160,8 @@ class TableManagerPageState extends State<TableManagerPage> {
affinity: TextAffinity.downstream,
offset: value.toString().length)));
});
_getSellerById();
tableManagerModel.initTime(context);
_couponNetworkData(selfDismiss: true);
_getSmsInfo(context);
_getRemark();
... ... @@ -188,6 +192,29 @@ class TableManagerPageState extends State<TableManagerPage> {
EventBus().off("refresh_table_m_coupon");
}
///获取店铺基础信息
_getSellerById() async {
StoreBaseIndoProvider storeBaseIndoProvider =
Provider.of<StoreBaseIndoProvider>(context, listen: false);
GetSellerInfoSunModel sellerInfoSunModel =
await storeBaseIndoProvider.getSellerById(context);
if (sellerInfoSunModel != null) {
if (App.sp.containsKey('user')) {
String s = App.sp.getString('user');
User _user = User.fromJson(json.decode(s));
_user.sellerimage = sellerInfoSunModel.data.sellerImage;
_user.sellerphone = sellerInfoSunModel.data.sellerTel;
_user.sellername = sellerInfoSunModel.data.sellername;
_user.morning = sellerInfoSunModel.data.dailyShow.morning;
_user.noon = sellerInfoSunModel.data.dailyShow.noon;
_user.night = sellerInfoSunModel.data.dailyShow.night;
_user.sellerAddr = sellerInfoSunModel.data.realAddress;
await UserModel().saveUserInfo(_user);
}
}
tableManagerModel.initTime(context);
}
///获取备注信息
_getRemark() async {
Map<String, String> params = {
... ...
... ... @@ -198,22 +198,22 @@ class NotebookDetailChangeModel with ChangeNotifier {
night = userModel.user.night.isEmpty ? "00:00-00:00" : userModel.user.night;
userModel.user.morning == ''
? dailyMap.putIfAbsent('morning', () => '')
: dailyMap.putIfAbsent(
'morning', () => _getHourAndMinute(userModel.user.morning, 1));
: dailyMap.putIfAbsent('morning',
() => _getHourAndMinute(context, userModel.user.morning, 1));
userModel.user.noon == ''
? dailyMap.putIfAbsent('noon', () => '')
: dailyMap.putIfAbsent(
'noon', () => _getHourAndMinute(userModel.user.noon, 2));
'noon', () => _getHourAndMinute(context, userModel.user.noon, 2));
userModel.user.night == ''
? dailyMap.putIfAbsent('night', () => '')
: dailyMap.putIfAbsent(
'night', () => _getHourAndMinute(userModel.user.night, 3));
'night', () => _getHourAndMinute(context, userModel.user.night, 3));
// _initSunDateList(
// userModel.user.morning, userModel.user.noon, userModel.user.night);
}
//根据获取时间 11:00-12:30 获取30分钟间隔组装的数组
_getHourAndMinute(String hourAndMinuteStr, int mnd) {
_getHourAndMinute(BuildContext context, String hourAndMinuteStr, int mnd) {
List tempDate = hourAndMinuteStr.split("-");
String beginDate = tempDate[0];
String endDate = tempDate[1];
... ... @@ -261,19 +261,43 @@ class NotebookDetailChangeModel with ChangeNotifier {
tempSelect = true;
}
} else {
UserModel userModel = Provider.of<UserModel>(context, listen: false);
String beginDate = '';
if (mnd == 1) {
if (temp == '08:00') {
tempSelect = true;
beginDate = '08:00';
if (userModel.user.morning != '' && userModel.user.morning != null) {
List tempDate = userModel.user.morning.split("-");
beginDate = tempDate[0];
}
} else if (mnd == 2) {
if (temp == '12:00') {
tempSelect = true;
beginDate = '12:00';
if (userModel.user.noon != '' && userModel.user.noon != null) {
List tempDate = userModel.user.noon.split("-");
beginDate = tempDate[0];
}
} else if (mnd == 3) {
if (temp == '18:00') {
tempSelect = true;
beginDate = '18:00';
if (userModel.user.night != '' && userModel.user.night != null) {
List tempDate = userModel.user.night.split("-");
beginDate = tempDate[0];
}
}
if (temp == beginDate) {
tempSelect = true;
}
// if (mnd == 1) {
// if (temp == '08:00') {
// tempSelect = true;
// }
// } else if (mnd == 2) {
// if (temp == '12:00') {
// tempSelect = true;
// }
// } else if (mnd == 3) {
// if (temp == '18:00') {
// tempSelect = true;
// }
// }
}
Map tempMap = {'title': temp, 'select': tempSelect};
res.add(tempMap);
... ... @@ -573,12 +597,32 @@ class NotebookDetailChangeModel with ChangeNotifier {
String tempTime = ddateHm; //默认上个页面到店时间半小时值
if (ddateSolt != currTimeIndex.toString()) {
//餐段发生改变,则重新默认到店时间半小时值
// if (currTimeIndex == 1) {
// tempTime = '08:00';
// } else if (currTimeIndex == 2) {
// tempTime = '12:00';
// } else if (currTimeIndex == 3) {
// tempTime = '18:00';
// }
if (currTimeIndex == 1) {
tempTime = '08:00';
if (userModel.user.morning != '' && userModel.user.morning != null) {
List tempDate = userModel.user.morning.split("-");
tempTime = tempDate[0];
}
} else if (currTimeIndex == 2) {
tempTime = '12:00';
if (userModel.user.noon != '' && userModel.user.noon != null) {
List tempDate = userModel.user.noon.split("-");
tempTime = tempDate[0];
}
} else if (currTimeIndex == 3) {
tempTime = '18:00';
if (userModel.user.night != '' && userModel.user.night != null) {
List tempDate = userModel.user.night.split("-");
tempTime = tempDate[0];
}
}
}
... ... @@ -779,15 +823,37 @@ class NotebookDetailChangeModel with ChangeNotifier {
if (ddateSolt != currTimeIndex.toString() || tempTime == '') {
//餐段发生改变,则重新默认到店时间半小时值
// if (currTimeIndex == 1) {
// tempTime = '08:00';
// ddateSolt = '1';
// } else if (currTimeIndex == 2) {
// tempTime = '12:00';
// ddateSolt = '2';
// } else if (currTimeIndex == 3) {
// tempTime = '18:00';
// ddateSolt = '3';
// }
if (currTimeIndex == 1) {
tempTime = '08:00';
ddateSolt = '1';
if (userModel.user.morning != '' && userModel.user.morning != null) {
List tempDate = userModel.user.morning.split("-");
tempTime = tempDate[0];
}
} else if (currTimeIndex == 2) {
tempTime = '12:00';
ddateSolt = '2';
if (userModel.user.noon != '' && userModel.user.noon != null) {
List tempDate = userModel.user.noon.split("-");
tempTime = tempDate[0];
}
} else if (currTimeIndex == 3) {
tempTime = '18:00';
ddateSolt = '3';
if (userModel.user.night != '' && userModel.user.night != null) {
List tempDate = userModel.user.night.split("-");
tempTime = tempDate[0];
}
}
}
... ...
... ... @@ -17,6 +17,7 @@ import 'package:one_key/net/base_resp.dart';
import 'package:one_key/net/dio_util.dart';
import 'package:one_key/net/http_url.dart';
import 'package:one_key/models/table.dart' as t;
import 'package:one_key/provider/store_base_info_provider.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/route/navigator_util.dart';
import 'package:one_key/utils/lunar_calendar.dart';
... ... @@ -434,12 +435,31 @@ class TableManagerModel with ChangeNotifier {
UserModel userModel = Provider.of<UserModel>(context, listen: false);
//
if (tempTime == null) {
// if (currTimeIndex == 1) {
// tempTime = '08:00';
// } else if (currTimeIndex == 2) {
// tempTime = '12:00';
// } else if (currTimeIndex == 3) {
// tempTime = '18:00';
// }
if (currTimeIndex == 1) {
tempTime = '08:00';
if (userModel.user.morning != '' && userModel.user.morning != null) {
List tempDate = userModel.user.morning.split("-");
tempTime = tempDate[0];
}
} else if (currTimeIndex == 2) {
tempTime = '12:00';
if (userModel.user.noon != '' && userModel.user.noon != null) {
List tempDate = userModel.user.noon.split("-");
tempTime = tempDate[0];
}
} else if (currTimeIndex == 3) {
tempTime = '18:00';
if (userModel.user.night != '' && userModel.user.night != null) {
List tempDate = userModel.user.night.split("-");
tempTime = tempDate[0];
}
}
}
... ...
... ... @@ -23,7 +23,6 @@ import '../app.dart';
import '../models/set_xuan_tai_model.dart';
class UserModel with ChangeNotifier {
User _user;
String _registrationId; //极光推送registrationId
String _token; //信鸽推送token
List<PullMarketingByUidSunModel> pullMarketingByUidSunModel;
... ... @@ -31,7 +30,15 @@ class UserModel with ChangeNotifier {
List<Setmeal> justSelData = [];
User get user => _user;
// User get user => _user;
User get user {
User _user;
if (App.sp.containsKey('user')) {
String s = App.sp.getString('user');
_user = User.fromJson(json.decode(s));
}
return _user;
}
set registrationId(String registrationId) => _registrationId = registrationId;
... ... @@ -44,12 +51,12 @@ class UserModel with ChangeNotifier {
}
/// 初始化 User
void initUser() {
if (App.sp.containsKey('user')) {
String s = App.sp.getString('user');
_user = User.fromJson(json.decode(s));
}
}
// void initUser() {
// if (App.sp.containsKey('user')) {
// String s = App.sp.getString('user');
// _user = User.fromJson(json.decode(s));
// }
// }
/// 登录
Future<String> login(BuildContext context, Map<String, String> params,
... ... @@ -377,7 +384,8 @@ class UserModel with ChangeNotifier {
/// 保存用户信息到 sp
saveUserInfo(User user) {
_user = user;
// _user = user;
// notifyListeners();
App.sp.setString('user', json.encode(user.toJson()));
}
}
... ...