Commit 4312fadf961d9749c9d17036de9428c426853097

Authored by wdn127929
1 parent 4511883a

合并

import 'package:json_annotation/json_annotation.dart';
part 'created_order_model.g.dart';
@JsonSerializable()
class CreatedOrderModel extends Object {
@JsonKey(name: 'ret')
int ret;
@JsonKey(name: 'data')
CreatedOrderSunModel data;
@JsonKey(name: 'msg')
String msg;
CreatedOrderModel(
this.ret,
this.data,
this.msg,
);
factory CreatedOrderModel.fromJson(Map<String, dynamic> srcJson) =>
_$CreatedOrderModelFromJson(srcJson);
Map<String, dynamic> toJson() => _$CreatedOrderModelToJson(this);
}
@JsonSerializable()
class CreatedOrderSunModel extends Object {
@JsonKey(name: 'id')
String id;
@JsonKey(name: 'rid')
String rid;
@JsonKey(name: 'no')
String no;
@JsonKey(name: 'row_num')
String rowNum;
@JsonKey(name: 'pnum')
String pnum;
@JsonKey(name: 'sellerid')
String sellerid;
@JsonKey(name: 'openid')
String openid;
@JsonKey(name: 'price')
int price;
@JsonKey(name: 'type')
String type;
@JsonKey(name: 'behavior')
String behavior;
@JsonKey(name: 'cdate')
String cdate;
@JsonKey(name: 'cookbooklist')
List<Cookbooklist> cookbooklist;
@JsonKey(name: 'seller')
Seller seller;
CreatedOrderSunModel(
this.id,
this.rid,
this.no,
this.rowNum,
this.pnum,
this.sellerid,
this.openid,
this.price,
this.type,
this.behavior,
this.cdate,
this.cookbooklist,
this.seller,
);
factory CreatedOrderSunModel.fromJson(Map<String, dynamic> srcJson) =>
_$CreatedOrderSunModelFromJson(srcJson);
Map<String, dynamic> toJson() => _$CreatedOrderSunModelToJson(this);
}
@JsonSerializable()
class Cookbooklist extends Object {
@JsonKey(name: 'id')
String id;
@JsonKey(name: 'orderid')
String orderid;
@JsonKey(name: 'openid')
String openid;
@JsonKey(name: 'cookbookid')
String cookbookid;
@JsonKey(name: 'total')
String total;
@JsonKey(name: 'price')
String price;
@JsonKey(name: 'cookname')
String cookname;
@JsonKey(name: 'cookunit')
String cookunit;
@JsonKey(name: 'cookimage')
String cookimage;
@JsonKey(name: 'class_name')
String className;
@JsonKey(name: 'classid')
String classid;
@JsonKey(name: 'class_order')
String classOrder;
@JsonKey(name: 'source')
String source;
@JsonKey(name: 'status')
String status;
@JsonKey(name: 'identity')
String identity;
@JsonKey(name: 'cdate')
String cdate;
@JsonKey(name: 'num')
String number;
Cookbooklist(
this.id,
this.orderid,
this.openid,
this.cookbookid,
this.total,
this.price,
this.cookname,
this.cookunit,
this.cookimage,
this.className,
this.classid,
this.classOrder,
this.source,
this.status,
this.identity,
this.cdate,
this.number,
);
factory Cookbooklist.fromJson(Map<String, dynamic> srcJson) =>
_$CookbooklistFromJson(srcJson);
Map<String, dynamic> toJson() => _$CookbooklistToJson(this);
}
@JsonSerializable()
class Seller extends Object {
@JsonKey(name: 'id')
String id;
@JsonKey(name: 'sellername')
String sellername;
@JsonKey(name: 'seller_image')
String sellerImage;
@JsonKey(name: 'phone')
String phone;
@JsonKey(name: 'map_address')
String mapAddress;
@JsonKey(name: 'last_num')
String lastNum;
@JsonKey(name: 'long')
String long;
@JsonKey(name: 'lat')
String lat;
@JsonKey(name: 'daily')
String daily;
Seller(
this.id,
this.sellername,
this.sellerImage,
this.phone,
this.mapAddress,
this.lastNum,
this.long,
this.lat,
this.daily,
);
factory Seller.fromJson(Map<String, dynamic> srcJson) =>
_$SellerFromJson(srcJson);
Map<String, dynamic> toJson() => _$SellerToJson(this);
}
... ...
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'created_order_model.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
CreatedOrderModel _$CreatedOrderModelFromJson(Map<String, dynamic> json) {
return CreatedOrderModel(
json['ret'] as int,
json['data'] == null
? null
: CreatedOrderSunModel.fromJson(json['data'] as Map<String, dynamic>),
json['msg'] as String);
}
Map<String, dynamic> _$CreatedOrderModelToJson(CreatedOrderModel instance) =>
<String, dynamic>{
'ret': instance.ret,
'data': instance.data,
'msg': instance.msg
};
CreatedOrderSunModel _$CreatedOrderSunModelFromJson(Map<String, dynamic> json) {
return CreatedOrderSunModel(
json['id'] as String,
json['rid'] as String,
json['no'] as String,
json['row_num'] as String,
json['pnum'] as String,
json['sellerid'] as String,
json['openid'] as String,
json['price'] as int,
json['type'] as String,
json['behavior'] as String,
json['cdate'] as String,
(json['cookbooklist'] as List)
?.map((e) => e == null
? null
: Cookbooklist.fromJson(e as Map<String, dynamic>))
?.toList(),
json['seller'] == null
? null
: Seller.fromJson(json['seller'] as Map<String, dynamic>));
}
Map<String, dynamic> _$CreatedOrderSunModelToJson(
CreatedOrderSunModel instance) =>
<String, dynamic>{
'id': instance.id,
'rid': instance.rid,
'no': instance.no,
'row_num': instance.rowNum,
'pnum': instance.pnum,
'sellerid': instance.sellerid,
'openid': instance.openid,
'price': instance.price,
'type': instance.type,
'behavior': instance.behavior,
'cdate': instance.cdate,
'cookbooklist': instance.cookbooklist,
'seller': instance.seller
};
Cookbooklist _$CookbooklistFromJson(Map<String, dynamic> json) {
return Cookbooklist(
json['id'] as String,
json['orderid'] as String,
json['openid'] as String,
json['cookbookid'] as String,
json['total'] as String,
json['price'] as String,
json['cookname'] as String,
json['cookunit'] as String,
json['cookimage'] as String,
json['class_name'] as String,
json['classid'] as String,
json['class_order'] as String,
json['source'] as String,
json['status'] as String,
json['identity'] as String,
json['cdate'] as String,
json['num'] as String);
}
Map<String, dynamic> _$CookbooklistToJson(Cookbooklist instance) =>
<String, dynamic>{
'id': instance.id,
'orderid': instance.orderid,
'openid': instance.openid,
'cookbookid': instance.cookbookid,
'total': instance.total,
'price': instance.price,
'cookname': instance.cookname,
'cookunit': instance.cookunit,
'cookimage': instance.cookimage,
'class_name': instance.className,
'classid': instance.classid,
'class_order': instance.classOrder,
'source': instance.source,
'status': instance.status,
'identity': instance.identity,
'cdate': instance.cdate,
'num': instance.number
};
Seller _$SellerFromJson(Map<String, dynamic> json) {
return Seller(
json['id'] as String,
json['sellername'] as String,
json['seller_image'] as String,
json['phone'] as String,
json['map_address'] as String,
json['last_num'] as String,
json['long'] as String,
json['lat'] as String,
json['daily'] as String);
}
Map<String, dynamic> _$SellerToJson(Seller instance) => <String, dynamic>{
'id': instance.id,
'sellername': instance.sellername,
'seller_image': instance.sellerImage,
'phone': instance.phone,
'map_address': instance.mapAddress,
'last_num': instance.lastNum,
'long': instance.long,
'lat': instance.lat,
'daily': instance.daily
};
... ...
... ... @@ -85,6 +85,7 @@ class NotebookDetail {
List<t.Table> demands; //需求桌位
List<t.Table> tables; //预订桌位
Cancel cancel;
Order order;
String get statuImgAssets {
switch (status) {
... ... @@ -229,3 +230,110 @@ class Cancel {
factory Cancel.fromJson(Map<String, dynamic> json) => _$CancelFromJson(json);
Map<String, dynamic> toJson() => _$CancelToJson(this);
}
@JsonSerializable()
class Order extends Object {
@JsonKey(name: 'id')
String id;
@JsonKey(name: 'rid')
String rid;
@JsonKey(name: 'no')
String no;
@JsonKey(name: 'row_num')
String rowNum;
@JsonKey(name: 'pnum')
String pnum;
@JsonKey(name: 'sellerid')
String sellerid;
@JsonKey(name: 'openid')
String openid;
@JsonKey(name: 'price')
int price;
@JsonKey(name: 'type')
String type;
@JsonKey(name: 'behavior')
String behavior;
@JsonKey(name: 'cdate')
String cdate;
@JsonKey(name: 'cookbooklist')
List<Cookbooklist> cookbooklist;
Order(this.id,this.rid,this.no,this.rowNum,this.pnum,this.sellerid,this.openid,this.price,this.type,this.behavior,this.cdate,this.cookbooklist,);
factory Order.fromJson(Map<String, dynamic> srcJson) => _$OrderFromJson(srcJson);
Map<String, dynamic> toJson() => _$OrderToJson(this);
}
@JsonSerializable()
class Cookbooklist extends Object {
@JsonKey(name: 'id')
String id;
@JsonKey(name: 'orderid')
String orderid;
@JsonKey(name: 'openid')
String openid;
@JsonKey(name: 'cookbookid')
String cookbookid;
@JsonKey(name: 'price')
String price;
@JsonKey(name: 'cookname')
String cookname;
@JsonKey(name: 'cookunit')
String cookunit;
@JsonKey(name: 'cookimage')
String cookimage;
@JsonKey(name: 'class_name')
String className;
@JsonKey(name: 'classid')
String classid;
@JsonKey(name: 'class_order')
String classOrder;
@JsonKey(name: 'fromSoucre')
String fromSoucre;
@JsonKey(name: 'source')
String source;
@JsonKey(name: 'status')
String status;
@JsonKey(name: 'identity')
String identity;
@JsonKey(name: 'cdate')
String cdate;
Cookbooklist(this.id,this.orderid,this.openid,this.cookbookid,this.price,this.cookname,this.cookunit,this.cookimage,this.className,this.classid,this.classOrder,this.fromSoucre,this.source,this.status,this.identity,this.cdate,);
factory Cookbooklist.fromJson(Map<String, dynamic> srcJson) => _$CookbooklistFromJson(srcJson);
Map<String, dynamic> toJson() => _$CookbooklistToJson(this);
}
... ...
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'notebook_detail.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
... ... @@ -29,23 +27,26 @@ NotebookDetail _$NotebookDetailFromJson(Map<String, dynamic> json) {
..channel = json['channel'] as String
..cdate = json['cdate'] as String
..demands = (json['demands'] as List)
?.map(
(e) => e == null ? null : t.Table.fromJson(e as Map<String, dynamic>))
?.map((e) =>
e == null ? null : t.Table.fromJson(e as Map<String, dynamic>))
?.toList()
..tables = (json['tables'] as List)
?.map(
(e) => e == null ? null : t.Table.fromJson(e as Map<String, dynamic>))
?.map((e) =>
e == null ? null : t.Table.fromJson(e as Map<String, dynamic>))
?.toList()
..cancel = json['cancel'] == null
? null
: Cancel.fromJson(json['cancel'] as Map<String, dynamic>);
: Cancel.fromJson(json['cancel'] as Map<String, dynamic>)
..order = json['order'] == null
? null
: Order.fromJson(json['order'] as Map<String, dynamic>);
}
Map<String, dynamic> _$NotebookDetailToJson(NotebookDetail instance) =>
<String, dynamic>{
'id': instance.id,
'tableinfo': instance.tableinfo,
'abolition':instance.abolition,
'abolition': instance.abolition,
'pnum': instance.pnum,
'rname': instance.rname,
'sex': instance.sex,
... ... @@ -63,7 +64,8 @@ Map<String, dynamic> _$NotebookDetailToJson(NotebookDetail instance) =>
'cdate': instance.cdate,
'demands': instance.demands,
'tables': instance.tables,
'cancel': instance.cancel
'cancel': instance.cancel,
'order':instance.order
};
Cancel _$CancelFromJson(Map<String, dynamic> json) {
... ... @@ -78,3 +80,78 @@ Map<String, dynamic> _$CancelToJson(Cancel instance) => <String, dynamic>{
'desc': instance.desc,
'cdate': instance.cdate
};
Order _$OrderFromJson(Map<String, dynamic> json) {
return Order(
json['id'] as String,
json['rid'] as String,
json['no'] as String,
json['row_num'] as String,
json['pnum'] as String,
json['sellerid'] as String,
json['openid'] as String,
json['price'] as int,
json['type'] as String,
json['behavior'] as String,
json['cdate'] as String,
(json['cookbooklist'] as List)
?.map((e) => e == null
? null
: Cookbooklist.fromJson(e as Map<String, dynamic>))
?.toList());
}
Map<String, dynamic> _$OrderToJson(Order instance) => <String, dynamic>{
'id': instance.id,
'rid': instance.rid,
'no': instance.no,
'row_num': instance.rowNum,
'pnum': instance.pnum,
'sellerid': instance.sellerid,
'openid': instance.openid,
'price': instance.price,
'type': instance.type,
'behavior': instance.behavior,
'cdate': instance.cdate,
'cookbooklist': instance.cookbooklist
};
Cookbooklist _$CookbooklistFromJson(Map<String, dynamic> json) {
return Cookbooklist(
json['id'] as String,
json['orderid'] as String,
json['openid'] as String,
json['cookbookid'] as String,
json['price'] as String,
json['cookname'] as String,
json['cookunit'] as String,
json['cookimage'] as String,
json['class_name'] as String,
json['classid'] as String,
json['class_order'] as String,
json['fromSoucre'] as String,
json['source'] as String,
json['status'] as String,
json['identity'] as String,
json['cdate'] as String);
}
Map<String, dynamic> _$CookbooklistToJson(Cookbooklist instance) =>
<String, dynamic>{
'id': instance.id,
'orderid': instance.orderid,
'openid': instance.openid,
'cookbookid': instance.cookbookid,
'price': instance.price,
'cookname': instance.cookname,
'cookunit': instance.cookunit,
'cookimage': instance.cookimage,
'class_name': instance.className,
'classid': instance.classid,
'class_order': instance.classOrder,
'fromSoucre': instance.fromSoucre,
'source': instance.source,
'status': instance.status,
'identity': instance.identity,
'cdate': instance.cdate
};
... ...
import 'package:json_annotation/json_annotation.dart';
part 'notebook_detail_new.g.dart';
@JsonSerializable()
class notebook_detail_new extends Object {
@JsonKey(name: 'ret')
int ret;
@JsonKey(name: 'data')
Data data;
@JsonKey(name: 'msg')
String msg;
notebook_detail_new(
this.ret,
this.data,
this.msg,
);
factory notebook_detail_new.fromJson(Map<String, dynamic> srcJson) =>
_$notebook_detail_newFromJson(srcJson);
Map<String, dynamic> toJson() => _$notebook_detail_newToJson(this);
}
@JsonSerializable()
class Data extends Object {
@JsonKey(name: 'id')
String id;
@JsonKey(name: 'orderid')
String orderid;
@JsonKey(name: 'openid')
String openid;
@JsonKey(name: 'sid')
String sid;
@JsonKey(name: 'room_demand')
String roomDemand;
@JsonKey(name: 'tid')
String tid;
@JsonKey(name: 'tableinfo')
String tableinfo;
@JsonKey(name: 'pnum')
String pnum;
@JsonKey(name: 'rname')
String rname;
@JsonKey(name: 'sex')
String sex;
@JsonKey(name: 'phone')
String phone;
@JsonKey(name: 'cusdem')
String cusdem;
@JsonKey(name: 'cusman')
String cusman;
@JsonKey(name: 'rdate')
String rdate;
@JsonKey(name: 'edate')
String edate;
@JsonKey(name: 'vdate')
String vdate;
@JsonKey(name: 'ddate')
String ddate;
@JsonKey(name: 'is_set_ddate')
String isSetDdate;
@JsonKey(name: 'ddate_solt')
String ddateSolt;
@JsonKey(name: 'status')
String status;
@JsonKey(name: 'cause')
String cause;
@JsonKey(name: 'abolition')
String abolition;
@JsonKey(name: 'action')
String action;
@JsonKey(name: 'type')
String type;
@JsonKey(name: 'code')
String code;
@JsonKey(name: 'note_name')
String noteName;
@JsonKey(name: 'operator_openid')
String operatorOpenid;
@JsonKey(name: 'channel')
String channel;
@JsonKey(name: 'cdate')
String cdate;
@JsonKey(name: 'seller')
Seller seller;
@JsonKey(name: 'tables')
List<Tables> tables;
@JsonKey(name: 'customers')
List<Customers> customers;
@JsonKey(name: 'cancel')
Cancel cancel;
@JsonKey(name: 'order')
Order order;
@JsonKey(name: 'demands')
List<Demands> demands;
Data(
this.id,
this.orderid,
this.openid,
this.sid,
this.roomDemand,
this.tid,
this.tableinfo,
this.pnum,
this.rname,
this.sex,
this.phone,
this.cusdem,
this.cusman,
this.rdate,
this.edate,
this.vdate,
this.ddate,
this.isSetDdate,
this.ddateSolt,
this.status,
this.cause,
this.abolition,
this.action,
this.type,
this.code,
this.noteName,
this.operatorOpenid,
this.channel,
this.cdate,
this.seller,
this.tables,
this.customers,
this.cancel,
this.order,
this.demands,
);
factory Data.fromJson(Map<String, dynamic> srcJson) =>
_$DataFromJson(srcJson);
Map<String, dynamic> toJson() => _$DataToJson(this);
}
@JsonSerializable()
class Seller extends Object {
@JsonKey(name: 'id')
String id;
@JsonKey(name: 'sellername')
String sellername;
@JsonKey(name: 'seller_image')
String sellerImage;
@JsonKey(name: 'phone')
String phone;
@JsonKey(name: 'map_address')
String mapAddress;
@JsonKey(name: 'isopen_md')
String isopenMd;
@JsonKey(name: 'lat')
String lat;
@JsonKey(name: 'long')
String long;
Seller(
this.id,
this.sellername,
this.sellerImage,
this.phone,
this.mapAddress,
this.isopenMd,
this.lat,
this.long,
);
factory Seller.fromJson(Map<String, dynamic> srcJson) =>
_$SellerFromJson(srcJson);
Map<String, dynamic> toJson() => _$SellerToJson(this);
}
@JsonSerializable()
class Tables extends Object {
@JsonKey(name: 'id')
String id;
@JsonKey(name: 'name')
String name;
@JsonKey(name: 'tid')
String tid;
@JsonKey(name: 'table_pnum')
String tablePnum;
@JsonKey(name: 'most_pnum')
String mostPnum;
@JsonKey(name: 'rid')
String rid;
@JsonKey(name: 'rname')
String rname;
Tables(
this.id,
this.name,
this.tid,
this.tablePnum,
this.mostPnum,
this.rid,
this.rname,
);
factory Tables.fromJson(Map<String, dynamic> srcJson) =>
_$TablesFromJson(srcJson);
Map<String, dynamic> toJson() => _$TablesToJson(this);
}
@JsonSerializable()
class Customers extends Object {
@JsonKey(name: 'openid')
String openid;
@JsonKey(name: 'nickname')
String nickname;
@JsonKey(name: 'headimgurl')
String headimgurl;
@JsonKey(name: 'remind_date')
String remindDate;
Customers(
this.openid,
this.nickname,
this.headimgurl,
this.remindDate,
);
factory Customers.fromJson(Map<String, dynamic> srcJson) =>
_$CustomersFromJson(srcJson);
Map<String, dynamic> toJson() => _$CustomersToJson(this);
}
@JsonSerializable()
class Cancel extends Object {
@JsonKey(name: 'id')
String id;
@JsonKey(name: 'uid')
String uid;
@JsonKey(name: 'uname')
String uname;
@JsonKey(name: 'openid')
String openid;
@JsonKey(name: 'desc')
String desc;
@JsonKey(name: 'up_rid')
String upRid;
@JsonKey(name: 'action_type')
String actionType;
@JsonKey(name: 'cdate')
String cdate;
Cancel(
this.id,
this.uid,
this.uname,
this.openid,
this.desc,
this.upRid,
this.actionType,
this.cdate,
);
factory Cancel.fromJson(Map<String, dynamic> srcJson) =>
_$CancelFromJson(srcJson);
Map<String, dynamic> toJson() => _$CancelToJson(this);
}
@JsonSerializable()
class Order extends Object {
@JsonKey(name: 'id')
String id;
@JsonKey(name: 'rid')
String rid;
@JsonKey(name: 'no')
String no;
@JsonKey(name: 'row_num')
String rowNum;
@JsonKey(name: 'pnum')
String pnum;
@JsonKey(name: 'sellerid')
String sellerid;
@JsonKey(name: 'openid')
String openid;
@JsonKey(name: 'price')
int price;
@JsonKey(name: 'type')
String type;
@JsonKey(name: 'behavior')
String behavior;
@JsonKey(name: 'cdate')
String cdate;
@JsonKey(name: 'cookbooklist')
List<Cookbooklist> cookbooklist;
Order(
this.id,
this.rid,
this.no,
this.rowNum,
this.pnum,
this.sellerid,
this.openid,
this.price,
this.type,
this.behavior,
this.cdate,
this.cookbooklist,
);
factory Order.fromJson(Map<String, dynamic> srcJson) =>
_$OrderFromJson(srcJson);
Map<String, dynamic> toJson() => _$OrderToJson(this);
}
@JsonSerializable()
class Cookbooklist extends Object {
@JsonKey(name: 'id')
String id;
@JsonKey(name: 'orderid')
String orderid;
@JsonKey(name: 'openid')
String openid;
@JsonKey(name: 'cookbookid')
String cookbookid;
@JsonKey(name: 'price')
String price;
@JsonKey(name: 'cookname')
String cookname;
@JsonKey(name: 'cookunit')
String cookunit;
@JsonKey(name: 'cookimage')
String cookimage;
@JsonKey(name: 'class_name')
String className;
@JsonKey(name: 'classid')
String classid;
@JsonKey(name: 'class_order')
String classOrder;
@JsonKey(name: 'fromSoucre')
String fromSoucre;
@JsonKey(name: 'source')
String source;
@JsonKey(name: 'status')
String status;
@JsonKey(name: 'identity')
String identity;
@JsonKey(name: 'cdate')
String cdate;
Cookbooklist(
this.id,
this.orderid,
this.openid,
this.cookbookid,
this.price,
this.cookname,
this.cookunit,
this.cookimage,
this.className,
this.classid,
this.classOrder,
this.fromSoucre,
this.source,
this.status,
this.identity,
this.cdate,
);
factory Cookbooklist.fromJson(Map<String, dynamic> srcJson) =>
_$CookbooklistFromJson(srcJson);
Map<String, dynamic> toJson() => _$CookbooklistToJson(this);
}
@JsonSerializable()
class Demands extends Object {
@JsonKey(name: 'id')
String id;
@JsonKey(name: 'sellerid')
String sellerid;
@JsonKey(name: 'name')
String name;
@JsonKey(name: 'standard')
String standard;
@JsonKey(name: 'status')
String status;
@JsonKey(name: 'cdate')
String cdate;
Demands(
this.id,
this.sellerid,
this.name,
this.standard,
this.status,
this.cdate,
);
factory Demands.fromJson(Map<String, dynamic> srcJson) =>
_$DemandsFromJson(srcJson);
Map<String, dynamic> toJson() => _$DemandsToJson(this);
}
... ...
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'notebook_detail_new.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
notebook_detail_new _$notebook_detail_newFromJson(Map<String, dynamic> json) {
return notebook_detail_new(
json['ret'] as int,
json['data'] == null
? null
: Data.fromJson(json['data'] as Map<String, dynamic>),
json['msg'] as String);
}
Map<String, dynamic> _$notebook_detail_newToJson(
notebook_detail_new instance) =>
<String, dynamic>{
'ret': instance.ret,
'data': instance.data,
'msg': instance.msg
};
Data _$DataFromJson(Map<String, dynamic> json) {
return Data(
json['id'] as String,
json['orderid'] as String,
json['openid'] as String,
json['sid'] as String,
json['room_demand'] as String,
json['tid'] as String,
json['tableinfo'] as String,
json['pnum'] as String,
json['rname'] as String,
json['sex'] as String,
json['phone'] as String,
json['cusdem'] as String,
json['cusman'] as String,
json['rdate'] as String,
json['edate'] as String,
json['vdate'] as String,
json['ddate'] as String,
json['is_set_ddate'] as String,
json['ddate_solt'] as String,
json['status'] as String,
json['cause'] as String,
json['abolition'] as String,
json['action'] as String,
json['type'] as String,
json['code'] as String,
json['note_name'] as String,
json['operator_openid'] as String,
json['channel'] as String,
json['cdate'] as String,
json['seller'] == null
? null
: Seller.fromJson(json['seller'] as Map<String, dynamic>),
(json['tables'] as List)
?.map((e) =>
e == null ? null : Tables.fromJson(e as Map<String, dynamic>))
?.toList(),
(json['customers'] as List)
?.map((e) =>
e == null ? null : Customers.fromJson(e as Map<String, dynamic>))
?.toList(),
json['cancel'] == null
? null
: Cancel.fromJson(json['cancel'] as Map<String, dynamic>),
json['order'] == null
? null
: Order.fromJson(json['order'] as Map<String, dynamic>),
(json['demands'] as List)
?.map((e) =>
e == null ? null : Demands.fromJson(e as Map<String, dynamic>))
?.toList());
}
Map<String, dynamic> _$DataToJson(Data instance) => <String, dynamic>{
'id': instance.id,
'orderid': instance.orderid,
'openid': instance.openid,
'sid': instance.sid,
'room_demand': instance.roomDemand,
'tid': instance.tid,
'tableinfo': instance.tableinfo,
'pnum': instance.pnum,
'rname': instance.rname,
'sex': instance.sex,
'phone': instance.phone,
'cusdem': instance.cusdem,
'cusman': instance.cusman,
'rdate': instance.rdate,
'edate': instance.edate,
'vdate': instance.vdate,
'ddate': instance.ddate,
'is_set_ddate': instance.isSetDdate,
'ddate_solt': instance.ddateSolt,
'status': instance.status,
'cause': instance.cause,
'abolition': instance.abolition,
'action': instance.action,
'type': instance.type,
'code': instance.code,
'note_name': instance.noteName,
'operator_openid': instance.operatorOpenid,
'channel': instance.channel,
'cdate': instance.cdate,
'seller': instance.seller,
'tables': instance.tables,
'customers': instance.customers,
'cancel': instance.cancel,
'order': instance.order,
'demands': instance.demands
};
Seller _$SellerFromJson(Map<String, dynamic> json) {
return Seller(
json['id'] as String,
json['sellername'] as String,
json['seller_image'] as String,
json['phone'] as String,
json['map_address'] as String,
json['isopen_md'] as String,
json['lat'] as String,
json['long'] as String);
}
Map<String, dynamic> _$SellerToJson(Seller instance) => <String, dynamic>{
'id': instance.id,
'sellername': instance.sellername,
'seller_image': instance.sellerImage,
'phone': instance.phone,
'map_address': instance.mapAddress,
'isopen_md': instance.isopenMd,
'lat': instance.lat,
'long': instance.long
};
Tables _$TablesFromJson(Map<String, dynamic> json) {
return Tables(
json['id'] as String,
json['name'] as String,
json['tid'] as String,
json['table_pnum'] as String,
json['most_pnum'] as String,
json['rid'] as String,
json['rname'] as String);
}
Map<String, dynamic> _$TablesToJson(Tables instance) => <String, dynamic>{
'id': instance.id,
'name': instance.name,
'tid': instance.tid,
'table_pnum': instance.tablePnum,
'most_pnum': instance.mostPnum,
'rid': instance.rid,
'rname': instance.rname
};
Customers _$CustomersFromJson(Map<String, dynamic> json) {
return Customers(json['openid'] as String, json['nickname'] as String,
json['headimgurl'] as String, json['remind_date'] as String);
}
Map<String, dynamic> _$CustomersToJson(Customers instance) => <String, dynamic>{
'openid': instance.openid,
'nickname': instance.nickname,
'headimgurl': instance.headimgurl,
'remind_date': instance.remindDate
};
Cancel _$CancelFromJson(Map<String, dynamic> json) {
return Cancel(
json['id'] as String,
json['uid'] as String,
json['uname'] as String,
json['openid'] as String,
json['desc'] as String,
json['up_rid'] as String,
json['action_type'] as String,
json['cdate'] as String);
}
Map<String, dynamic> _$CancelToJson(Cancel instance) => <String, dynamic>{
'id': instance.id,
'uid': instance.uid,
'uname': instance.uname,
'openid': instance.openid,
'desc': instance.desc,
'up_rid': instance.upRid,
'action_type': instance.actionType,
'cdate': instance.cdate
};
Order _$OrderFromJson(Map<String, dynamic> json) {
return Order(
json['id'] as String,
json['rid'] as String,
json['no'] as String,
json['row_num'] as String,
json['pnum'] as String,
json['sellerid'] as String,
json['openid'] as String,
json['price'] as int,
json['type'] as String,
json['behavior'] as String,
json['cdate'] as String,
(json['cookbooklist'] as List)
?.map((e) => e == null
? null
: Cookbooklist.fromJson(e as Map<String, dynamic>))
?.toList());
}
Map<String, dynamic> _$OrderToJson(Order instance) => <String, dynamic>{
'id': instance.id,
'rid': instance.rid,
'no': instance.no,
'row_num': instance.rowNum,
'pnum': instance.pnum,
'sellerid': instance.sellerid,
'openid': instance.openid,
'price': instance.price,
'type': instance.type,
'behavior': instance.behavior,
'cdate': instance.cdate,
'cookbooklist': instance.cookbooklist
};
Cookbooklist _$CookbooklistFromJson(Map<String, dynamic> json) {
return Cookbooklist(
json['id'] as String,
json['orderid'] as String,
json['openid'] as String,
json['cookbookid'] as String,
json['price'] as String,
json['cookname'] as String,
json['cookunit'] as String,
json['cookimage'] as String,
json['class_name'] as String,
json['classid'] as String,
json['class_order'] as String,
json['fromSoucre'] as String,
json['source'] as String,
json['status'] as String,
json['identity'] as String,
json['cdate'] as String);
}
Map<String, dynamic> _$CookbooklistToJson(Cookbooklist instance) =>
<String, dynamic>{
'id': instance.id,
'orderid': instance.orderid,
'openid': instance.openid,
'cookbookid': instance.cookbookid,
'price': instance.price,
'cookname': instance.cookname,
'cookunit': instance.cookunit,
'cookimage': instance.cookimage,
'class_name': instance.className,
'classid': instance.classid,
'class_order': instance.classOrder,
'fromSoucre': instance.fromSoucre,
'source': instance.source,
'status': instance.status,
'identity': instance.identity,
'cdate': instance.cdate
};
Demands _$DemandsFromJson(Map<String, dynamic> json) {
return Demands(
json['id'] as String,
json['sellerid'] as String,
json['name'] as String,
json['standard'] as String,
json['status'] as String,
json['cdate'] as String);
}
Map<String, dynamic> _$DemandsToJson(Demands instance) => <String, dynamic>{
'id': instance.id,
'sellerid': instance.sellerid,
'name': instance.name,
'standard': instance.standard,
'status': instance.status,
'cdate': instance.cdate
};
... ...
... ... @@ -47,15 +47,20 @@ class HttpUrl {
static const String set_order_time =
"?service=App.Seller.SetReOrderTime"; //在线预订配置-接单时间
static const String get_custom_remark=
static const String get_custom_remark =
"?service=App.User.GetCustomRemark"; //获取常用备注
static const String del_custom_remark=
static const String del_custom_remark =
"?service=App.User.DelCustomRemark"; //删除常用备注
static const String add_custom_remark=
static const String add_custom_remark =
"?service=App.User.AddCustomRemark"; //添加常用备注
static const String get_reserve_user=
static const String get_reserve_user =
"?service=App.Reserve.GetReserveUser"; //获取历史录入联系人
static const String get_order_food =
"?service=App.Advance.CreateOrder"; //顾客扫桌码点餐-扫码创建订单
static const String get_reserve_detail =
"?service=App.Reserve.Detail"; //订座详情页面
}
... ...
... ... @@ -184,7 +184,8 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
await detailModel.setReserveStatus(context, params, ifPush: false);
if (success) {
bus.emit("refresh_book_list");
if(status=="4"){//取消预订
if (status == "4") {
//取消预订
bus.emit("refresh_tablemanager"); //刷新桌位
}
_getReserveDetail();
... ... @@ -192,15 +193,26 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
}
/// 取消预订, 变更预订按钮
Widget _cancelAndChangeBtn(GestureTapCallback onTap, String title) {
Widget _cancelAndChangeBtn(GestureTapCallback onTap, String title,
{Color bgColor = MyColours.color_ffffff,
double width,
Color fontColor = MyColours.color_199095}) {
return InkWell(
onTap: onTap,
child: Align(
alignment: Alignment.center,
child: Text(title,
style: TextStyle(
color: MyColours.color_199095,
fontSize: ScreenUtil().setSp(34))),
child: Container(
width: width,
decoration: BoxDecoration(
color: bgColor,
border: Border.all(
color: Colors.transparent, width: ScreenUtil().setWidth(2)),
borderRadius: BorderRadius.circular(ScreenUtil().setWidth(10)),
),
child: Align(
alignment: Alignment.center,
child: Text(title,
style: TextStyle(
color: fontColor, fontSize: ScreenUtil().setSp(34))),
),
),
);
}
... ... @@ -681,68 +693,108 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
)),
),
Offstage(
offstage: (detailEntity.status == "3" ||
detailEntity.status == "4" ||
detailEntity.status == "6")
? true
: false,
child: Container(
width: double.infinity,
decoration: BoxDecoration(
color: MyColours.color_ffffff,
border: Border(
top: BorderSide(
color: MyColours.color_dbe3e3,
width: ScreenUtil().setWidth(1)))),
padding: EdgeInsets.fromLTRB(
ScreenUtil().setHeight(40),
ScreenUtil().setHeight(40),
ScreenUtil().setHeight(40),
ScreenUtil().setHeight(0)),
margin: EdgeInsets.symmetric(
vertical: ScreenUtil().setHeight(20)),
child: CommonButton(
content: "通知客户",
width: 669,
height: 84,
fontSize: 34,
onPress: () {
DialogUtil.showShareDialog(context)
?.then((value) {
switch (value) {
case 1: //微信
NavigatorUtil.goInvicationPage(
context,
detailEntity.id,
detailEntity.tableinfoStr,
detailEntity.ddate,
detailEntity.ddateStr,
detailEntity.phone
);
break;
case 2: //短信
if(detailEntity.phone == null ||
detailEntity.phone.isEmpty){
Utils.showToast("没有预订人电话信息");
return;
}
NavigatorUtil.goSmsPage(
context, detailEntity.id);
break;
case 3: //电话
if (detailEntity.phone != null &&
detailEntity.phone.isNotEmpty) {
Utils.goPhone(detailEntity.phone);
} else {
Utils.showToast("没有预订人电话信息");
}
break;
}
});
},
),
),
),
offstage: (detailEntity.status == "3" ||
detailEntity.status == "4" ||
detailEntity.status == "6"),
child: Container(
width: double.infinity,
height: ScreenUtil().setWidth(84),
decoration: BoxDecoration(
color: MyColours.color_199095,
borderRadius: BorderRadius.circular(
ScreenUtil().setWidth(10)),
),
margin: EdgeInsets.symmetric(
vertical: ScreenUtil().setHeight(20),
horizontal: ScreenUtil().setHeight(40)),
child: Row(
children: [
Offstage(
offstage: (detailEntity.status == "3" ||
detailEntity.status == "4" ||
detailEntity.status == "6")
? true
: false,
child: _cancelAndChangeBtn(() {
DialogUtil.showShareDialog(context)
?.then((value) {
switch (value) {
case 1: //微信
NavigatorUtil.goInvicationPage(
context,
detailEntity.id,
detailEntity.tableinfoStr,
detailEntity.ddate,
detailEntity.ddateStr,
detailEntity.phone);
break;
case 2: //短信
if (detailEntity.phone == null ||
detailEntity.phone.isEmpty) {
Utils.showToast("没有预订人电话信息");
return;
}
NavigatorUtil.goSmsPage(
context, detailEntity.id);
break;
case 3: //电话
if (detailEntity.phone != null &&
detailEntity
.phone.isNotEmpty) {
Utils.goPhone(
detailEntity.phone);
} else {
Utils.showToast("没有预订人电话信息");
}
break;
}
});
}, "通知客户",
bgColor: MyColours.color_199095,
width: detailEntity.order.cookbooklist
.length ==
0
? ScreenUtil.screenWidthDp -
ScreenUtil().setWidth(91)
: (ScreenUtil.screenWidthDp -
ScreenUtil()
.setWidth(91)) /
2,
fontColor: MyColours.color_ffffff)),
Offstage(
offstage: !(detailEntity
.order.cookbooklist.length >
0 &&
(detailEntity.status != "3" &&
detailEntity.status != "4" &&
detailEntity.status != "6")),
child: MyDivider(ScreenUtil().setWidth(2),
ScreenUtil().setWidth(50),
color: MyColours.color_ffffff)),
Offstage(
offstage: detailEntity
.order.cookbooklist.length ==
0
? true
: false,
child: _cancelAndChangeBtn(() {
NavigatorUtil.goHasOrderFoodPage(
context,
rid: detailEntity.id);
}, '查看菜品',
bgColor: MyColours.color_199095,
width: (detailEntity.status == "3" ||
detailEntity.status == "4" ||
detailEntity.status == "6")
? ScreenUtil.screenWidthDp -
ScreenUtil().setWidth(91)
: (ScreenUtil.screenWidthDp -
ScreenUtil()
.setWidth(91)) /
2,
fontColor: MyColours.color_ffffff))
],
))),
Offstage(
offstage: (detailEntity.status == "3" ||
detailEntity.status == "4" ||
... ...
import 'package:cached_network_image/cached_network_image.dart';
import 'package:common_utils/common_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/provider/order_food_provider.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/utils/utils.dart';
import 'package:one_key/widgets/MyDivider.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/v_empty_view.dart';
import 'package:provider/provider.dart';
import 'package:scrollable_positioned_list/scrollable_positioned_list.dart';
class MessageOrderMenuPage extends StatefulWidget {
MessageOrderMenuPage({Key key}) : super(key: key);
class MessageHasOrderFoodPage extends StatefulWidget {
final String rid;
MessageHasOrderFoodPage({Key key, this.rid}) : super(key: key);
@override
_MessageOrderMenuPageState createState() => _MessageOrderMenuPageState();
_MessageHasOrderFoodPageState createState() =>
_MessageHasOrderFoodPageState();
}
class _MessageOrderMenuPageState extends State<MessageOrderMenuPage> {
class _MessageHasOrderFoodPageState extends State<MessageHasOrderFoodPage> {
final ItemScrollController itemScrollController = ItemScrollController();
final ItemPositionsListener itemPositionsListener =
ItemPositionsListener.create();
OrderFoodProvider _orderFoodProvider;
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) {
_getOrderFoodData();
});
}
///接口获取菜单信息
_getOrderFoodData() async {
Map<String, String> params = {
'rid': widget.rid,
'status': '1',
'identity': '2'
};
await _orderFoodProvider.getOrderFoodData(context, params);
}
///接口获取桌位信息
_getTableInfoData() async {
UserModel userModel = Provider.of<UserModel>(context, listen: false);
Map<String, String> params = {
"uid": userModel.user.openid,
"rid": widget.rid
};
//明天完成 桌位名称信息
await _orderFoodProvider.getTableInfoData(context, params);
}
//人数、桌位、订单编号、下单时间
Widget _getRow(String leftTitle, String rightTitle) {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(leftTitle,
style: TextStyle(
color: MyColours.color_999999,
fontSize: ScreenUtil().setSp(30))),
Text(rightTitle,
style: TextStyle(
color: MyColours.color_333333,
fontSize: ScreenUtil().setSp(30))),
],
);
}
Widget list(List data) => ScrollablePositionedList.builder(
itemCount: data.length,
itemBuilder: (context, index) => item(index),
itemCount: data.length + 1,
itemBuilder: (context, index) {
if (index == data.length) {
return Column(
crossAxisAlignment: CrossAxisAlignment.end,
children: [
VEmptyView(40),
Padding(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(40)),
child: MyDivider(
double.infinity,
ScreenUtil().setWidth(2),
color: MyColours.color_F0F0F0,
),
),
VEmptyView(40),
Padding(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(40)),
child: Text(
'共计: ¥${_orderFoodProvider.createdOrderSunModel.price}',
textAlign: TextAlign.right,
style: TextStyle(
fontSize: ScreenUtil().setSp(34),
color: MyColours.color_333333,
fontWeight: FontWeight.bold),
)),
VEmptyView(40),
Container(
width: double.infinity,
height: ScreenUtil().setWidth(20),
color: MyColours.color_f5f5f5),
Container(
padding: EdgeInsets.all(ScreenUtil().setWidth(40)),
child: Column(
children: [
_getRow(
'人数', _orderFoodProvider.createdOrderSunModel.pnum),
VEmptyView(30),
_getRow('桌位', 'ffff')
],
),
),
Container(
width: double.infinity,
height: ScreenUtil().setWidth(20),
color: MyColours.color_f5f5f5),
Container(
padding: EdgeInsets.all(ScreenUtil().setWidth(40)),
child: Column(
children: [
_getRow(
'订单编号', _orderFoodProvider.createdOrderSunModel.no),
VEmptyView(30),
_getRow(
'下单时间',
DateUtil.formatDate(
DateTime.fromMillisecondsSinceEpoch(int.parse(
_orderFoodProvider
.createdOrderSunModel.cdate) *
1000),
format: DateFormats.y_mo_d))
],
),
),
],
);
}
return Padding(
padding:
EdgeInsets.symmetric(horizontal: ScreenUtil().setWidth(40)),
child: item(index));
},
itemScrollController: itemScrollController,
itemPositionsListener: itemPositionsListener,
reverse: false,
scrollDirection: Axis.vertical,
);
Widget item(int i) {
return Container(
// height: ScreenUtil().setWidth(30 * 2) *
// _storeMenuProvider.menulist[i].cookbooklist.length +
// ScreenUtil().setWidth(20 * 2),
height: ScreenUtil().setWidth(50 * 2),
color: MyColours.color_ffffff,
height: ScreenUtil().setWidth(50 * 2) *
_orderFoodProvider
.orderList[i][_orderFoodProvider.orderList[i].keys.first]
.length +
ScreenUtil().setWidth(40 * 2 + 20),
child: Column(
children: [
Container(
alignment: Alignment.centerLeft,
margin: EdgeInsets.only(top: ScreenUtil().setWidth(20)),
height: ScreenUtil().setWidth(40 * 2),
child: Text('10道必点菜',
child: Text(_orderFoodProvider.orderList[i].keys.first,
style: TextStyle(
fontSize: ScreenUtil().setWidth(30),
color: MyColours.color_999999)),
),
Container(
height: ScreenUtil().setWidth(50 * 2) * 2,
height: ScreenUtil().setWidth(50 * 2) *
_orderFoodProvider
.orderList[i]
[_orderFoodProvider.orderList[i].keys.first]
.length,
child: ListView.builder(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemCount: 2,
itemCount: _orderFoodProvider
.orderList[i]
[_orderFoodProvider.orderList[i].keys.first]
.length,
itemBuilder: (BuildContext context, int index) {
return Row(
children: [
ClipRRect(
borderRadius: BorderRadius.circular(
ScreenUtil().setWidth(30)),
child: CachedNetworkImage(
// placeholder: (context, url) =>
// new CircularProgressIndicator(),
// errorWidget: (context, url, error) => new Icon(Icons.error),
imageUrl:
'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1091405991,859863778&fm=26&gp=0.jpg',
fit: BoxFit.cover,
width: ScreenUtil().setWidth(30 * 2),
height: ScreenUtil().setWidth(30 * 2),
return Container(
height: ScreenUtil().setWidth(50 * 2),
child: Row(
children: [
ClipRRect(
borderRadius: BorderRadius.circular(
ScreenUtil().setWidth(30)),
child: _orderFoodProvider
.orderList[i][_orderFoodProvider
.orderList[i]
.keys
.first][index]
.cookimage ==
null ||
_orderFoodProvider
.orderList[i][_orderFoodProvider
.orderList[i]
.keys
.first][index]
.cookimage ==
''
? Image.asset(Utils.getImgPath('menu_place'),
width: ScreenUtil().setWidth(30 * 2),
height: ScreenUtil().setWidth(30 * 2))
: CachedNetworkImage(
// placeholder: (context, url) =>
// new CircularProgressIndicator(),
// errorWidget: (context, url, error) => new Icon(Icons.error),
imageUrl: _orderFoodProvider
.orderList[i][_orderFoodProvider
.orderList[i].keys.first][index]
.cookimage,
fit: BoxFit.cover,
width: ScreenUtil().setWidth(30 * 2),
height: ScreenUtil().setWidth(30 * 2),
),
),
HEmptyView(20),
Container(
width: ScreenUtil().setWidth(150 * 2),
child: Text(
_orderFoodProvider
.orderList[i][_orderFoodProvider
.orderList[i].keys.first][index]
.cookname,
style: TextStyle(
color: MyColours.color_333333,
fontSize: ScreenUtil().setWidth(30)),
)),
HEmptyView(20),
Spacer(),
Text(
'¥' +
_orderFoodProvider
.orderList[i][_orderFoodProvider
.orderList[i].keys.first][index]
.price +
'/' +
_orderFoodProvider
.orderList[i][_orderFoodProvider
.orderList[i].keys.first][index]
.cookunit,
style: TextStyle(
color: MyColours.color_333333,
fontSize: ScreenUtil().setWidth(30)),
),
HEmptyView(40),
Text(
'x' +
_orderFoodProvider
.orderList[i][_orderFoodProvider
.orderList[i].keys.first][index]
.number,
style: TextStyle(
color: MyColours.color_333333,
fontSize: ScreenUtil().setWidth(30)),
),
),
HEmptyView(20),
Expanded(
child: Text(
'红烧狮子头',
style: TextStyle(
color: MyColours.color_333333,
fontSize: ScreenUtil().setWidth(30)),
)),
HEmptyView(20),
],
],
),
);
})),
],
... ... @@ -83,9 +277,48 @@ class _MessageOrderMenuPageState extends State<MessageOrderMenuPage> {
@override
Widget build(BuildContext context) {
_orderFoodProvider = Provider.of<OrderFoodProvider>(context, listen: true);
return Scaffold(
backgroundColor: MyColours.color_ffffff,
appBar: SystemAppBar('已点菜品'),
// body: list(data),
body: Consumer<OrderFoodProvider>(
builder: (context, model, _) {
if (model.pageState != PageState.Success) {
return ExceptionPage(
pageState: model.pageState,
callback: () {
_getOrderFoodData();
},
emptyMsg: "暂时没有已选菜品哦",
emptyImg: "empty_search",
showMsg: "加载中,请稍后...",
);
} else {
return Padding(
padding: EdgeInsets.only(bottom: ScreenUtil().setWidth(40)),
child: Column(
children: [
Expanded(
child: list(_orderFoodProvider.orderList),
),
RoundButton(
text: '分享',
margin: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(40)),
width: double.infinity,
height: 50,
fontSize: 34,
isBold: false,
gradientStart: MyColours.color_199095,
gradientEnd: MyColours.color_199095,
radius: ScreenUtil().setWidth(10),
)
],
),
);
}
},
),
);
}
}
... ...
import 'package:flutter/material.dart';
import 'package:one_key/constant/constant.dart';
import 'package:one_key/constant/error.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/models/created_order_model.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';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/utils/utils.dart';
import 'package:provider/provider.dart';
///已选菜品页面
class OrderFoodProvider extends ChangeNotifier {
PageState pageState = PageState.Loading;
List<Map<String, List<Cookbooklist>>> orderList = []; //已点菜单信息
CreatedOrderSunModel createdOrderSunModel;
///顾客扫桌码点餐-扫码创建订单
getOrderFoodData(BuildContext context, Map<String, String> params,
{isShowLoading = true}) async {
if (isShowLoading) {
pageState = PageState.Loading;
notifyListeners();
}
BaseResp<Map<String, dynamic>> baseResp = await DioUtil()
.request<Map<String, dynamic>>(
context, Method.get, HttpUrl.get_order_food,
data: params, showLoading: false)
.catchError((error) {
print(error.toString());
if (error is MyError) {
switch (error.type) {
case 1:
pageState = PageState.ConnectivityError;
break;
case 2:
pageState = PageState.ConnectivityTimeOut;
break;
default:
pageState = PageState.ConnectivityError;
break;
}
}
notifyListeners();
});
if (baseResp.code == Constant.status_success) {
if (baseResp.data.isEmpty) {
pageState = PageState.ConnectivityError;
} else {
pageState = PageState.Success;
createdOrderSunModel =
CreatedOrderModel.fromJson(baseResp.responseData).data;
List<Cookbooklist> cookbooklist =
CreatedOrderModel.fromJson(baseResp.responseData).data.cookbooklist;
Set keysSet = Set();
for (Cookbooklist item in cookbooklist) {
keysSet.add(item.className);
}
List keysList = [];
keysList.addAll(keysSet);
for (int i = 0; i < keysList.length; i++) {
Map<String, List<Cookbooklist>> father = {};
List<Cookbooklist> sun = [];
for (int j = 0; j < cookbooklist.length; j++) {
if (keysList[i] == cookbooklist[j].className) {
sun.add(cookbooklist[j]);
}
}
if (sun.length > 0) {
father[keysList[i]] = sun;
orderList.add(father);
}
}
}
notifyListeners();
} else {
pageState = PageState.ConnectivityError;
notifyListeners();
if (baseResp != null) {
Utils.showToast(baseResp.msg ?? "");
}
}
}
///订座详情页面
getTableInfoData(BuildContext context, Map<String, String> params,
{isShowLoading = true}) async {
BaseResp<Map<String, dynamic>> baseResp = await DioUtil()
.request<Map<String, dynamic>>(
context, Method.get, HttpUrl.get_reserve_detail,
data: params, showLoading: false)
.catchError((error) {});
if (baseResp.code == Constant.status_success) {
if (baseResp.data.isEmpty) {
} else {
//解析解析
}
notifyListeners();
} else {
if (baseResp != null) {
Utils.showToast(baseResp.msg ?? "");
}
}
}
}
... ...
... ... @@ -51,4 +51,5 @@ class MyColours {
static const Color color_efefef = Color(0xffefefef);
static const Color color_0A0A0A = Color(0xff0A0A0A);
static const Color color_fa5151 = Color(0xfffa5151);
static const Color color_F0F0F0 = Color(0xffF0F0F0);
}
... ...
... ... @@ -12,6 +12,7 @@ import 'package:one_key/pages/login/login_page.dart';
import 'package:one_key/pages/detail/handle_online_page.dart';
import 'package:one_key/pages/detail/notebook_detail_page.dart';
import 'package:one_key/pages/login/web_page.dart';
import 'package:one_key/pages/message/message_order_menu.dart';
import 'package:one_key/pages/my/book_time_set.dart';
import 'package:one_key/pages/my/receive_orders_time_set.dart';
import 'package:one_key/pages/my/remark_manager_page.dart';
... ... @@ -22,6 +23,7 @@ import 'package:one_key/provider/book_set_time_model.dart';
import 'package:one_key/provider/choose_table_model.dart';
import 'package:one_key/provider/notebook_detail_change_model.dart';
import 'package:one_key/provider/notebook_detail_model.dart';
import 'package:one_key/provider/order_food_provider.dart';
import 'package:one_key/provider/remark_manager_model.dart';
import 'package:one_key/utils/fluro_convert_utils.dart';
import 'package:provider/provider.dart';
... ... @@ -162,3 +164,12 @@ var handleRemarkManagerHandler = new Handler(
return ChangeNotifierProvider<RemarkManagerModel>(
create: (_) => RemarkManagerModel(), child: RemarkManagerPage());
});
///已点菜品
var handleHasOrderFoodHandler = new Handler(
handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
String rid = params["rid"].first;
return ChangeNotifierProvider<OrderFoodProvider>(
create: (_) => OrderFoodProvider(),
child: MessageHasOrderFoodPage(rid: rid));
});
... ...
... ... @@ -18,6 +18,7 @@ class Routes {
static String book_time_set = "/book_time_set"; //可订时段管理
static String receive_orders_time_set = "/receive_orders_time_set"; //接单时间管理
static String remark_manager = "/remark_manager"; //常用备注管理
static String has_order_food = "/has_order_food"; //已点菜品
static void configureRoutes(Router router) {
router.notFoundHandler = new Handler(
... ... @@ -38,7 +39,8 @@ class Routes {
router.define(book_time_set, handler: handleBookTimeSetHandler);
router.define(receive_orders_time_set,
handler: handleReceiveOrdersTimeSetHandler);
router.define(remark_manager,
handler: handleRemarkManagerHandler);
router.define(remark_manager, handler: handleRemarkManagerHandler);
router.define(has_order_food, handler: handleHasOrderFoodHandler);
}
}
... ...
... ... @@ -120,4 +120,9 @@ class NavigatorUtil {
static void goRemarkManagerPage(BuildContext context) {
_navigateTo(context, "${Routes.remark_manager}");
}
/// 已选菜品
static void goHasOrderFoodPage(BuildContext context, {String rid}) {
_navigateTo(context, "${Routes.has_order_food}?rid=${rid}");
}
}
... ...