Commit 1cf3f302c870fb5a31031bb1229b41785dcedb3d

Authored by wdn127929
1 parent 92aacb1d

订座详情联系人置顶UI

... ... @@ -57,7 +57,7 @@ class Notebook {
}
String get rnameStr {
if (rname.isEmpty) return "";
if (rname == null || rname.isEmpty) return "";
switch (sex) {
case "1": //先生
return rname + "先生";
... ...
... ... @@ -152,6 +152,52 @@ class NotebookDetail {
return md;
}
String get ddateF {
DateTime dateTime =
DateTime.fromMillisecondsSinceEpoch(int.parse(ddate) * 1000);
return _returnDate(dateTime);
}
String get ddateSolt {
String md = '';
switch (ddate_solt) {
case "1":
md += " 早餐";
break;
case "2":
md += " 午餐";
break;
case "3":
md += " 晚餐";
break;
}
return md;
}
String _returnDate(DateTime day) {
String date = '';
DateTime dateNow = DateTime.now();
String ymd = "${day.year}-" +
Utils.addZeroNumber(day.month) +
"-" +
Utils.addZeroNumber(day.day);
date += ymd;
date += ' (';
if (Utils.isOneDay(day, dateNow)) {
date += "今天 ";
} else if (Utils.isOneDay(day, dateNow.add(Duration(days: 1)))) {
date += "明天 ";
} else if (Utils.isOneDay(day, dateNow.add(Duration(days: 2)))) {
date += "后天 ";
}
date += "周${Utils.formatWeekDayNum(day.weekday)}";
String time = Utils.lunarCalendarHolidays(day);
date += ' ${time}';
date += ')';
return date;
}
String get ddateHm {
if (type == "0" || (type == "1" && is_set_ddate == "1")) {
DateTime dateTime =
... ...
This diff could not be displayed because it is too large.
... ... @@ -6,28 +6,27 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/models/area.dart';
import 'package:one_key/models/notebook_detail.dart';
import 'package:one_key/models/tableOuter.dart';
import 'package:one_key/models/table_list.dart';
import 'package:one_key/models/reserve_info_model.dart';
import 'package:one_key/pages/table/area_item_table.dart';
import 'package:one_key/pages/table/cc_menu_wdn.dart';
import 'package:one_key/provider/table_manager_model.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/utils/dialog_util.dart';
import 'package:one_key/utils/event_bus.dart';
import 'package:one_key/route/navigator_util.dart';
import 'package:one_key/utils/utils.dart';
import 'package:one_key/widgets/MyDivider.dart';
import 'package:one_key/widgets/app_bar.dart';
import 'package:one_key/widgets/area_item.dart';
import 'package:one_key/widgets/common_button.dart';
import 'package:one_key/widgets/common_button_flat.dart';
import 'package:one_key/widgets/f_table_item.dart';
import 'package:one_key/widgets/h_empty_view.dart';
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:one_key/widgets/table_item.dart';
import 'package:one_key/models/table.dart' as t;
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
... ... @@ -61,6 +60,8 @@ class TableManagerPageState extends State<TableManagerPage> {
final ItemPositionsListener itemPositionsListener =
ItemPositionsListener.create();
@override
void initState() {
// TODO: implement initState
... ... @@ -73,6 +74,7 @@ class TableManagerPageState extends State<TableManagerPage> {
// personNumList.add('30以上');
WidgetsBinding.instance.addPostFrameCallback((_) {
tableManagerModel.initTime(context);
EventBus().on("refresh_tablemanager", (arg) {
... ... @@ -81,7 +83,7 @@ class TableManagerPageState extends State<TableManagerPage> {
print(tableManagerModel);
});
EventBus().on("refresh_tablePhoto", (arg) {
//订座-完成预订 刷新管理桌位
///刷新图片显示
_refreshTablePhoto();
});
});
... ... @@ -431,7 +433,95 @@ class TableManagerPageState extends State<TableManagerPage> {
children: [
RoundButton(
onPressed: () async {
await tableManagerModel.setReserveInfo(context);
SunReserveInfoModel _model =
await tableManagerModel.setReserveInfo(context);
if (_model != null &&
ObjectUtil.isNotEmpty(_model.row) &&
ObjectUtil.isNotEmpty(_model.row.id)) {
print('成功');
tableManagerModel.selectTables = [];
// _homeEnterModel.clearData();
bus.emit("refresh_tablemanager"); //刷新当前页面
bus.emit("refresh_book_list"); //刷新已预订列表
//进入订座详情页面
NavigatorUtil.goNotebookDetailPage(
context,
_model.row.id,
Provider.of<UserModel>(context, listen: false)
.user
.openid,
);
// String ddate_solt = '';
// if (_model.row.isSetDdate == '1') {
// String createtime =
// _model.row.ddate.toString() + '000';
// DateTime createTime =
// DateTime.fromMillisecondsSinceEpoch(
// int.parse(createtime));
// ddate_solt = DateUtil.formatDate(createTime,
// format: DateFormats.h_m);
// } else {
// if (_model.row.ddateSolt == '1') {
// ddate_solt = '早餐';
// } else if (_model.row.ddateSolt == '2') {
// ddate_solt = '午餐';
// } else if (_model.row.ddateSolt == '3') {
// ddate_solt = '晚餐';
// }
// }
// List<dynamic> tableinfo =
// convert.jsonDecode(_model.row.tableinfo);
// print(tableinfo);
// String _nameStr =
// t.TableList.fromJson(tableinfo[0]).name;
// if (tableinfo.length > 1) {
// _nameStr = t.TableList.fromJson(tableinfo[0]).name +
// '等${tableinfo.length}桌';
// }
// LogUtil.v(_nameStr);
// String _tid = '';
// for (int i = 0; i < tableinfo.length; i++) {
// _tid += '${t.TableList.fromJson(tableinfo[i]).id},';
// }
// if (_tid.endsWith(',')) {
// _tid = _tid.substring(0, _tid.length - 1);
// }
// NavigatorUtil.goInvicationPage(
// context,
// _model.row.id,
// _nameStr,
// _model.row.ddate,
// ddate_solt,
// _model.row.phone,
// _model.row.ddateSolt,
// tid: _tid,
// replace: false);
// //今天 明天 其他天
// String tempTime = _homeEnterModel.ddateStr;
// if (_homeEnterModel.ddateStr == '') {
// if (currTimeIndex == 1) {
// tempTime = '08:00';
// } else if (currTimeIndex == 2) {
// tempTime = '12:00';
// } else if (currTimeIndex == 3) {
// tempTime = '18:00';
// }
// }
// print(_model.row.tableinfo);
// _clearData();
// String timeStr = dateText + ' ' + tempTime + ':00';
// LogUtil.v(timeStr);
// int ddate = DateUtil.getDateMsByTimeStr(timeStr);
// _homeEnterModel.getNewTableList(context, '${ddate}',
// currTimeIndex.toString(), pnum);
// EventBus().emit("refresh_tablemanager"); //刷新桌位
} else {
Utils.showToast("预订失败!");
}
},
text: '预订',
fontSize: 48,
... ...
... ... @@ -4,6 +4,7 @@ import 'package:one_key/constant/error.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/models/manager.dart';
import 'package:one_key/models/notebook_detail.dart';
import 'package:one_key/models/user_history_entity.dart';
import 'package:one_key/net/base_resp.dart';
import 'package:one_key/net/dio_util.dart';
import 'package:one_key/net/http_url.dart';
... ... @@ -19,6 +20,54 @@ class NotebookDetailModel extends ChangeNotifier {
TextEditingController numController = TextEditingController();
String strTF;
String prestrTF;
TextEditingController phoneController = TextEditingController();
TextEditingController nameController = TextEditingController();
List sexList;
List<UserHistoryEntity> userHistorys = []; //历史录入
NotebookDetailModel() {
initSexList();
}
///称谓
initSexList() {
String sexStr = '1';
sexList = [
{
'title': '先生',
'select': sexStr == '1' ? true : false,
'code': '1',
'hasLeftBorder': true
},
{
'title': '女士',
'select': sexStr == '2' ? true : false,
'code': '2',
'hasLeftBorder': false
},
{
'title': '公司',
'select': sexStr == '3' ? true : false,
'code': '3',
'hasLeftBorder': false
}
];
}
//获取历史录入
getUserHistorys(BuildContext context, Map<String, String> params) async {
BaseResp<List> baseResp = await DioUtil()
.request<List>(context, Method.get, HttpUrl.get_reserve_user,
data: params, showLoading: false)
.catchError((error) {
print(error.toString());
});
if (baseResp != null && baseResp.code == Constant.status_success) {
userHistorys = baseResp.data.map<UserHistoryEntity>((value) {
return UserHistoryEntity.fromJson(value);
}).toList();
notifyListeners();
}
}
///获取已预订订单
Future<NotebookDetail> getReserveDetail(
... ... @@ -142,7 +191,14 @@ class NotebookDetailModel extends ChangeNotifier {
// 编辑订单附加信息
Future<bool> upReserveInfo(BuildContext context,
{String rid, String actualPum, String conAmount}) async {
{String rid,
String actualPum,
String conAmount,
String dateStr,
String cusdem,
String sex,
String name,
String phone}) async {
Map<String, dynamic> params = {
"rid": rid,
};
... ... @@ -152,6 +208,21 @@ class NotebookDetailModel extends ChangeNotifier {
if (conAmount != null) {
params['con_amount'] = conAmount;
}
if (dateStr != null) {
params['dateStr'] = dateStr;
}
if (cusdem != null) {
params['cusdem'] = cusdem;
}
if (sex != null) {
params['sex'] = sex;
}
if (name != null) {
params['name'] = name;
}
if (phone != null) {
params['phone'] = phone;
}
bool sucess = await _upReserveInfo(context, params);
if (sucess) {
Utils.showToast("修改成功!");
... ...
... ... @@ -55,6 +55,7 @@ class TableManagerModel with ChangeNotifier {
PageState pageState = PageState.Loading;
Map dailyMap = {}; // 早市对应半点钟,午市对应半点钟、晚市对应半点钟
bool swichState = false; //仅看空座
String selectDateStr = '';
... ... @@ -314,7 +315,10 @@ class TableManagerModel with ChangeNotifier {
"ddate": '${ddate}'.substring(0, 10), //到店时间
'is_set_ddate': '1',
"channel": '5',
"uid": userModel.user.openid
"uid": userModel.user.openid,
'sex': '',
'phone': '',
"cusdem": ''
};
print(params);
BaseResp<Map<String, dynamic>> baseResp = await DioUtil()
... ...
... ... @@ -6,8 +6,11 @@ class RowMultiText extends StatelessWidget {
final String title;
final String content;
final TextAlign textAlign;
final Color textColor;
RowMultiText(this.title, this.content, {this.textAlign = TextAlign.right});
RowMultiText(this.title, this.content,
{this.textAlign = TextAlign.right,
this.textColor = MyColours.color_828282});
@override
Widget build(BuildContext context) {
... ... @@ -24,9 +27,8 @@ class RowMultiText extends StatelessWidget {
alignment: Alignment.centerLeft,
child: Text(
title,
style: TextStyle(
color: MyColours.color_828282,
fontSize: ScreenUtil().setSp(30)),
style:
TextStyle(color: textColor, fontSize: ScreenUtil().setSp(30)),
),
),
Expanded(
... ...
... ... @@ -569,6 +569,13 @@ packages:
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.5.1"
keyboard_visibility:
dependency: "direct main"
description:
name: keyboard_visibility
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.5.6"
latlng:
dependency: transitive
description:
... ...
... ... @@ -91,6 +91,8 @@ dependencies:
package_info: ^0.4.0+18
# 获取设备信息
device_info: ^0.4.2+4
#监听键盘
keyboard_visibility: ^0.5.6
# 获取通讯录
contacts_service: ^0.4.6
... ...