Commit cd210db2609b73e90023662e2704e9d891b5c6f7

Authored by wdn127929
1 parent 1cf3f302

桌位、订座详情ok

... ... @@ -22,6 +22,7 @@ import 'package:one_key/provider/message_model.dart';
import 'package:one_key/provider/notebook_detail_model.dart';
import 'package:one_key/provider/online_check_edit_provider.dart';
import 'package:one_key/provider/other_login_provider.dart';
import 'package:one_key/provider/remark_manager_model.dart';
import 'package:one_key/provider/tools.dart';
import 'package:one_key/provider/upload_img_provider.dart';
import 'package:one_key/route/navigator_util.dart';
... ... @@ -102,6 +103,9 @@ Future<void> main() async {
ChangeNotifierProvider<CreateStoreModel>(
create: (_) => CreateStoreModel(),
),
ChangeNotifierProvider<RemarkManagerModel>(
create: (_) => RemarkManagerModel(),
),
],
child: MyApp(),
));
... ...
... ... @@ -16,6 +16,7 @@ class Notebook {
String room_demand;
String tid;
String pnum;
String actual_pnum;
String pnum_str;
String rname;
String sex;
... ... @@ -61,11 +62,16 @@ class Notebook {
switch (sex) {
case "1": //先生
return rname + "先生";
break;
case "2": //女士
return rname + "女士";
break;
case "3": //公司
return rname + "公司";
break;
}
return rname;
}
String get ddateStr {
... ...
... ... @@ -16,6 +16,7 @@ Notebook _$NotebookFromJson(Map<String, dynamic> json) {
..room_demand = json['room_demand'] as String
..tid = json['tid'] as String
..pnum = json['pnum'] as String
..pnum = json['actual_pnum'] as String
..pnum_str = json['pnum_str'] as String
..rname = json['rname'] as String
..sex = json['sex'] as String
... ... @@ -60,6 +61,7 @@ Map<String, dynamic> _$NotebookToJson(Notebook instance) => <String, dynamic>{
'room_demand': instance.room_demand,
'tid': instance.tid,
'pnum': instance.pnum,
'actual_pnum': instance.actual_pnum,
'pnum_str': instance.pnum_str,
'rname': instance.rname,
'sex': instance.sex,
... ...
... ... @@ -92,6 +92,7 @@ class NotebookDetail {
String type; //0 内部订单 1 在线预订
String note_name;
String nick_name;
String seller_user_phone;
String channel;
String cdate;
List<t.Table> demands; //需求桌位
... ... @@ -152,6 +153,16 @@ class NotebookDetail {
return md;
}
//2020-09-09
String get ddateYMD {
DateTime day = DateTime.fromMillisecondsSinceEpoch(int.parse(ddate) * 1000);
String ymd = "${day.year}-" +
Utils.addZeroNumber(day.month) +
"-" +
Utils.addZeroNumber(day.day);
return ymd;
}
String get ddateF {
DateTime dateTime =
DateTime.fromMillisecondsSinceEpoch(int.parse(ddate) * 1000);
... ... @@ -240,7 +251,7 @@ class NotebookDetail {
}
String get rnameStr {
if (rname.isEmpty) return "";
if (rname == null || rname == '') return "";
switch (sex) {
case "1": //先生
return rname + "先生";
... ... @@ -249,6 +260,7 @@ class NotebookDetail {
case "3": //公司
return rname + "公司";
}
return rname;
}
String get tableinfoStr {
... ... @@ -263,7 +275,7 @@ class NotebookDetail {
@override
String toString() {
return 'NotebookDetail{id: $id, con_amount:$con_amount,abolition: $abolition, tableinfo: $tableinfo,actual_pum:$actual_pum, pnum: $pnum, rname: $rname, sex: $sex, phone: $phone, cusdem: $cusdem, cusman: $cusman, ddate: $ddate, is_set_ddate: $is_set_ddate, ddate_solt: $ddate_solt, status: $status, action: $action, type: $type, note_name: $note_name, , nick_name: $nick_name,channel: $channel, cdate: $cdate, demands: $demands, tables: $tables, cancel: $cancel}';
return 'NotebookDetail{id: $id, con_amount:$con_amount,abolition: $abolition, tableinfo: $tableinfo,actual_pum:$actual_pum, pnum: $pnum, rname: $rname, sex: $sex, phone: $phone, cusdem: $cusdem, cusman: $cusman, ddate: $ddate, is_set_ddate: $is_set_ddate, ddate_solt: $ddate_solt, status: $status, action: $action, type: $type, note_name: $note_name, seller_user_phone:$seller_user_phone, nick_name: $nick_name,channel: $channel, cdate: $cdate, demands: $demands, tables: $tables, cancel: $cancel}';
}
}
... ...
... ... @@ -28,6 +28,7 @@ NotebookDetail _$NotebookDetailFromJson(Map<String, dynamic> json) {
..type = json['type'] as String
..note_name = json['note_name'] as String
..nick_name = json['nick_name'] as String
..seller_user_phone = json['seller_user_phone'] as String
..channel = json['channel'] as String
..cdate = json['cdate'] as String
..demands = (json['demands'] as List)
... ... @@ -70,6 +71,7 @@ Map<String, dynamic> _$NotebookDetailToJson(NotebookDetail instance) =>
'type': instance.type,
'note_name': instance.note_name,
'nick_name': instance.nick_name,
'seller_user_phone':instance.seller_user_phone,
'channel': instance.channel,
'cdate': instance.cdate,
'demands': instance.demands,
... ...
... ... @@ -1432,15 +1432,13 @@ Widget remarkButton({GestureTapCallback onPress, content, isSelect = false}) {
borderRadius: BorderRadius.circular(ScreenUtil().setWidth(10)),
color: isSelect ? MyColours.color_199095 : MyColours.color_f5f5f5,
),
child: Align(
alignment: Alignment.center,
child: Text(
child: Text(
content,
style: TextStyle(
color: isSelect ? Colors.white : MyColours.color_353535,
fontSize: ScreenUtil().setSp(28)),
),
),
),
);
}
... ...
This diff could not be displayed because it is too large.
import 'package:common_utils/common_utils.dart';
import 'package:flutter/material.dart';
import 'package:one_key/constant/constant.dart';
import 'package:one_key/constant/error.dart';
... ... @@ -72,7 +73,7 @@ class NotebookDetailModel extends ChangeNotifier {
///获取已预订订单
Future<NotebookDetail> getReserveDetail(
BuildContext context, Map<String, String> params,
{isShowLoading = true}) async {
{isShowLoading = true, bool showCircle = false}) async {
if (isShowLoading) {
pageState = PageState.Loading;
notifyListeners();
... ... @@ -80,7 +81,7 @@ class NotebookDetailModel extends ChangeNotifier {
BaseResp<Map<String, dynamic>> baseResp = await DioUtil()
.request<Map<String, dynamic>>(
context, Method.get, HttpUrl.reserve_detail,
data: params, showLoading: false)
data: params, showLoading: showCircle)
.catchError((error) {
print(error.toString());
if (error is MyError) {
... ... @@ -190,15 +191,15 @@ class NotebookDetailModel extends ChangeNotifier {
// 编辑订单附加信息
Future<bool> upReserveInfo(BuildContext context,
{String rid,
String actualPum,
Future<bool> upReserveInfo(BuildContext context, String rid,
{String actualPum,
String conAmount,
String dateStr,
String cusdem,
String sex,
String name,
String phone}) async {
String phone,
String ymd}) async {
Map<String, dynamic> params = {
"rid": rid,
};
... ... @@ -209,7 +210,9 @@ class NotebookDetailModel extends ChangeNotifier {
params['con_amount'] = conAmount;
}
if (dateStr != null) {
params['dateStr'] = dateStr;
String timeStr = ymd + ' ' + dateStr + ':00';
int ddate = DateUtil.getDateMsByTimeStr(timeStr);
params['ddate'] = '${ddate}'.substring(0, 10); //到店时间
}
if (cusdem != null) {
params['cusdem'] = cusdem;
... ... @@ -218,7 +221,7 @@ class NotebookDetailModel extends ChangeNotifier {
params['sex'] = sex;
}
if (name != null) {
params['name'] = name;
params['rname'] = name;
}
if (phone != null) {
params['phone'] = phone;
... ... @@ -226,7 +229,9 @@ class NotebookDetailModel extends ChangeNotifier {
bool sucess = await _upReserveInfo(context, params);
if (sucess) {
Utils.showToast("修改成功!");
return true;
}
return false;
}
Future<bool> _upReserveInfo(BuildContext context, Map<String, dynamic> params,
... ...
... ... @@ -55,7 +55,6 @@ class TableManagerModel with ChangeNotifier {
PageState pageState = PageState.Loading;
Map dailyMap = {}; // 早市对应半点钟,午市对应半点钟、晚市对应半点钟
bool swichState = false; //仅看空座
String selectDateStr = '';
... ... @@ -578,7 +577,7 @@ class TableManagerModel with ChangeNotifier {
table.sign = notebook.status;
table.notebookId = notebook.id;
table.reserver = notebook.rnameStr;
table.pnum = notebook.pnum;
table.pnum = notebook.actual_pnum;
table.nickName = notebook.nick_name;
//剔除已经预订的桌子,剩下空桌子(仅看空座)
... ...
... ... @@ -111,14 +111,16 @@ var reserveDetailHandler = new Handler(
String mid = params['mid'].first;
String uid = params['uid'].first;
bool fromNotify = FluroConvertUtils.string2bool(params["fromNotify"].first);
return ChangeNotifierProvider<NotebookDetailModel>(
create: (_) => NotebookDetailModel(),
child: NotebookDetailPage(
rid,
mid: mid,
uid: uid,
fromNotify: fromNotify,
));
return ChangeNotifierProvider<RemarkManagerModel>(
create: (_) => RemarkManagerModel(),
child: ChangeNotifierProvider<NotebookDetailModel>(
create: (_) => NotebookDetailModel(),
child: NotebookDetailPage(
rid,
mid: mid,
uid: uid,
fromNotify: fromNotify,
)));
});
// 跳转到处理在线预订
... ...
... ... @@ -124,6 +124,102 @@ class DialogUtil {
});
}
static Future openFTablesDialog(BuildContext context, List<t.Table> tables,
{CustomCallBack onTap}) async {
final action = await showDialog(
context: context,
barrierDismissible: true,
builder: (BuildContext context) {
return Center(
child: Container(
height: ScreenUtil().setWidth(400),
width: ScreenUtil().setWidth(280 * 2),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(ScreenUtil().setWidth(10))),
child: Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(
Radius.circular(ScreenUtil().setWidth(10)))), //设置圆角
child: Column(children: [
Expanded(
child: ListView(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(40),
vertical: ScreenUtil().setWidth(40)),
shrinkWrap: true,
children: [
Wrap(
children: tableListWidget(tables, (v) {}),
spacing: ScreenUtil().setWidth(20),
runSpacing: ScreenUtil().setWidth(20),
// alignment: WrapAlignment.start,
// runAlignment: WrapAlignment.end,
),
],
)),
MyDivider(double.infinity, ScreenUtil().setWidth(2)),
InkWell(
onTap: () {
Navigator.pop(context);
},
child: Container(
width: double.infinity,
alignment: Alignment.center,
padding: EdgeInsets.symmetric(
vertical: ScreenUtil().setWidth(40)),
child: Text('确定',
style: TextStyle(
color: Color.fromRGBO(42, 96, 244, 1),
fontSize: ScreenUtil().setSp(30))),
),
)
])),
),
);
},
);
}
// static Future openFTablesDialog(BuildContext context, List<t.Table> tables,
// {CustomCallBack onTap}) async {
// TextEditingController controller = TextEditingController();
// final action = await showDialog(
// context: context,
// barrierDismissible: false,
// builder: (BuildContext context) {
// return Material(
// child: Container(
// padding: EdgeInsets.symmetric(
// horizontal: ScreenUtil().setWidth(40)),
// height: ScreenUtil().setWidth(200),
// child: Column(
// children: [
// Wrap(
// children: tableListWidget(tables, (v) {}),
// spacing: ScreenUtil().setWidth(20),
// runSpacing: ScreenUtil().setWidth(20),
// // alignment: WrapAlignment.start,
// // runAlignment: WrapAlignment.end,
// ),
// MyDivider(double.infinity, ScreenUtil().setWidth(2)),
// InkWell(
// onTap: () {
// Navigator.pop(context);
// },
// child: Container(
// padding: EdgeInsets.symmetric(
// vertical: ScreenUtil().setWidth(40)),
// child: Text('确定',
// style: TextStyle(
// color: Color.fromRGBO(42, 96, 244, 1),
// fontSize: ScreenUtil().setSp(28))),
// ),
// )
// ],
// )));
// });
// }
static Future openCreateAreaDialog(BuildContext context,
{CustomCallBack onTap}) async {
TextEditingController controller = TextEditingController();
... ... @@ -905,6 +1001,21 @@ class DialogUtil {
});
}
static tableListWidget(List<t.Table> tables, CustomCallBack callback) {
List<Widget> lists = tables.map((item) {
return remarkButton(
content: item.name,
isSelect: true,
onPress: () {
// state(() {
// item.selected = !item.selected;
// });
// callback(item);
});
}).toList();
return lists;
}
static listWidget(
List<Remark> remarks, StateSetter state, CustomCallBack callback) {
List<Widget> lists = remarks.map((item) {
... ...
... ... @@ -163,19 +163,27 @@ class FTableItemState extends State<FTableItem> {
// overflow: TextOverflow.ellipsis,
// ),
),
((table.reserver == null || table.reserver.isEmpty)
? table.tableNum
: table.reserver) !=
''
((table.reserver != null && table.reserver != '') ||
(table.pnum != '' &&
table.pnum != null &&
table.pnum != '0'))
? VEmptyView(8)
: SizedBox(),
Text(
(table.reserver == null || table.reserver.isEmpty)
? table.tableNum
: '${table.reserver}' +
(table.pnum != '' && table.pnum != '0'
signStr == '已预订'
? (table.reserver == null || table.reserver.isEmpty)
? (table.pnum != '' &&
table.pnum != null &&
table.pnum != '0')
? '(${table.pnum}人)'
: ''),
: ''
: '${table.reserver}' +
(table.pnum != '' &&
table.pnum != null &&
table.pnum != '0'
? '(${table.pnum}人)'
: '')
: table.tableNum,
style: TextStyle(
color: signStr == '已预订' ||
(widget.canSelected && table.selected)
... ...