Commit dd714d847907d08e84972609655a2597b5d9e53a

Authored by wdn127929
1 parent b28663c3

提交

... ... @@ -11,14 +11,14 @@ if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = "250"
def flutterVersionCode = "252"
if (flutterVersionCode == null) {
flutterVersionCode = '250'
flutterVersionCode = '252'
}
def flutterVersionName = "2.5.0"
def flutterVersionName = "2.5.2"
if (flutterVersionName == null) {
flutterVersionName = '2.5.0'
flutterVersionName = '2.5.2'
}
apply plugin: 'com.android.application'
... ...
... ... @@ -452,7 +452,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.1;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
PROVISIONING_PROFILE_SPECIFIER = "Push Development Profile";
SDKROOT = iphoneos;
... ... @@ -472,7 +472,7 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 230;
CURRENT_PROJECT_VERSION = 250;
DEVELOPMENT_TEAM = 8J59HM8B82;
ENABLE_BITCODE = NO;
FLUTTER_BUILD_MODE = release;
... ... @@ -487,7 +487,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 2.5.0;
MARKETING_VERSION = 2.5.1;
PRODUCT_BUNDLE_IDENTIFIER = com.naji.reserveLine;
PRODUCT_NAME = Runner;
PROVISIONING_PROFILE_SPECIFIER = "";
... ... @@ -545,7 +545,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.1;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
PROVISIONING_PROFILE_SPECIFIER = "Push Development Profile";
... ... @@ -596,7 +596,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.1;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
PROVISIONING_PROFILE_SPECIFIER = "Push Development Profile";
SDKROOT = iphoneos;
... ... @@ -616,7 +616,7 @@
CODE_SIGN_ENTITLEMENTS = "Runner/一键订Debug.entitlements";
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 230;
CURRENT_PROJECT_VERSION = 250;
DEVELOPMENT_TEAM = 8J59HM8B82;
ENABLE_BITCODE = NO;
FLUTTER_BUILD_MODE = release;
... ... @@ -631,7 +631,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 2.5.0;
MARKETING_VERSION = 2.5.1;
PRODUCT_BUNDLE_IDENTIFIER = com.naji.reserveLine;
PRODUCT_NAME = Runner;
PROVISIONING_PROFILE_SPECIFIER = "";
... ... @@ -651,7 +651,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 230;
CURRENT_PROJECT_VERSION = 250;
DEVELOPMENT_TEAM = 8J59HM8B82;
ENABLE_BITCODE = NO;
FLUTTER_BUILD_MODE = release;
... ... @@ -666,7 +666,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 2.5.0;
MARKETING_VERSION = 2.5.1;
PRODUCT_BUNDLE_IDENTIFIER = com.naji.reserveLine;
PRODUCT_NAME = Runner;
PROVISIONING_PROFILE_SPECIFIER = "";
... ...
... ... @@ -3,37 +3,46 @@ part 'user.g.dart';
//User实体类
@JsonSerializable()
class User{
String openid;//商户openid
String account;//账号
String role_name;//角色名称
String sellerid;//商户id
String sellercode;//商户编号
String sellername;//商户名称
String sellerphone;//商户电话
String sellerAddr;//商户地址
int scatter;//是否有散座 0无 1有
int room;//是否有包间 0无 1有
int cassette;//是否有卡座 0无 1有
String morning;//早市时间段
String noon;//午市时间段
String night;//晚市时间段
User(this.openid, this.account, this.role_name, this.sellerid,
this.sellercode, this.sellername, this.sellerphone, this.sellerAddr,
this.scatter, this.room, this.cassette, this.morning, this.noon,
this.night);
factory User.fromJson(Map<String,dynamic> json) => _$UserFromJson(json);
Map<String,dynamic> toJson() => _$UserToJson(this);
class User {
String openid; //商户openid
String account; //账号
String role_name; //角色名称
String sellerid; //商户id
String sellercode; //商户编号
String sellername; //商户名称
String sellerphone; //商户电话
String sellerAddr; //商户地址
int scatter; //是否有散座 0无 1有
int room; //是否有包间 0无 1有
int cassette; //是否有卡座 0无 1有
String morning; //早市时间段
String noon; //午市时间段
String night; //晚市时间段
String userphone; //角色电话
User(
this.openid,
this.account,
this.role_name,
this.sellerid,
this.sellercode,
this.sellername,
this.sellerphone,
this.sellerAddr,
this.scatter,
this.room,
this.cassette,
this.morning,
this.noon,
this.night,
this.userphone);
factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
Map<String, dynamic> toJson() => _$UserToJson(this);
@override
String toString() {
return 'User{openid: $openid, account: $account, role_name: $role_name, sellerid: $sellerid, sellercode: $sellercode, sellername: $sellername, sellerphone: $sellerphone, sellerAddr: $sellerAddr, scatter: $scatter, room: $room, cassette: $cassette, morning: $morning, noon: $noon, night: $night}';
return 'User{openid: $openid, account: $account, role_name: $role_name, sellerid: $sellerid, sellercode: $sellercode, sellername: $sellername, sellerphone: $sellerphone, sellerAddr: $sellerAddr, scatter: $scatter, room: $room, cassette: $cassette, morning: $morning, noon: $noon, night: $night ,userphone:$userphone}';
}
}
\ No newline at end of file
}
... ...
... ... @@ -21,7 +21,8 @@ User _$UserFromJson(Map<String, dynamic> json) {
json['cassette'] as int,
json['morning'] as String,
json['noon'] as String,
json['night'] as String);
json['night'] as String,
json['userphone'] as String);
}
Map<String, dynamic> _$UserToJson(User instance) => <String, dynamic>{
... ... @@ -38,5 +39,6 @@ Map<String, dynamic> _$UserToJson(User instance) => <String, dynamic>{
'cassette': instance.cassette,
'morning': instance.morning,
'noon': instance.noon,
'night': instance.night
'night': instance.night,
'userphone': instance.userphone
};
... ...
... ... @@ -1177,6 +1177,7 @@ class _NoteBookChangePageState extends State<NoteBookChangePage> {
_model.row.ddate,
ddate_solt,
_model.row.phone,
_model.row.ddateSolt,
replace: true);
EventBus().emit("refresh_tablemanager"); //刷新桌位
} else {
... ...
... ... @@ -942,7 +942,8 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
detailEntity.tableinfoStr,
detailEntity.ddate,
detailEntity.ddateStr,
detailEntity.phone);
detailEntity.phone,
detailEntity.ddate_solt);
break;
case 2: //短信
if (detailEntity.phone == null ||
... ...
... ... @@ -29,8 +29,7 @@ class EnterPage extends StatefulWidget {
final NotebookDetail detailEntity;
final String rid;
const EnterPage({Key key, this.detailEntity, this.rid})
: super(key: key);
const EnterPage({Key key, this.detailEntity, this.rid}) : super(key: key);
@override
_EnterPageState createState() => _EnterPageState();
... ... @@ -48,17 +47,12 @@ class _EnterPageState extends State<EnterPage> {
super.initState();
LogUtil.v(widget.detailEntity.toString());
dateTime = DateTime.now();
_enterModel =
Provider.of<EnterModel>(context, listen: true);
_enterModel = Provider.of<EnterModel>(context, listen: true);
_enterModel.initData(widget.detailEntity);
_enterModel.initDateHourMinuteList(context);
String ddate = widget.detailEntity.ddate.toString() + '000';
_enterModel.getNewTableList(
context,
ddate,
widget.detailEntity.ddate_solt,
widget.detailEntity.pnum,
widget.detailEntity.tables);
_enterModel.getNewTableList(context, ddate, widget.detailEntity.ddate_solt,
widget.detailEntity.pnum, widget.detailEntity.tables);
_initData();
}
... ... @@ -91,47 +85,37 @@ class _EnterPageState extends State<EnterPage> {
if (value['title'] == '其他') {
_calendWidget(DateTime.now());
} else {
for (int j = 0;
j < _enterModel.dateList.length;
j++) {
_enterModel.dateList[j]['select'] =
false;
for (int j = 0; j < _enterModel.dateList.length; j++) {
_enterModel.dateList[j]['select'] = false;
if (_enterModel.dateList[j]['title'] ==
value['title']) {
_enterModel.dateList[j]['select'] =
true;
_enterModel.dateList[j]['select'] = true;
if (j == 0 || j == 1) {
_enterModel.dateList[2]['title'] =
'其他';
_enterModel.dateList[2]['title'] = '其他';
}
if (j ==
_enterModel.dateList.length - 1) {
String selectStr =
_enterModel.dateList[2]['title'];
if (j == _enterModel.dateList.length - 1) {
String selectStr = _enterModel.dateList[2]['title'];
String timeNow = DateUtil.formatDate(
DateTime.now(),
);
String selectDate =
timeNow.replaceRange(5, 10, selectStr);
timeNow.replaceRange(5, 10, selectStr);
_calendWidget(DateUtil.getDateTime(selectDate));
}
}
}
//选完今天明天刷新页面
int ddate = Utils.getDdate(_enterModel.dateList);
_enterModel.updateSunDateList(DateTime.fromMillisecondsSinceEpoch(ddate), context);
_enterModel.updateSunDateList(
DateTime.fromMillisecondsSinceEpoch(ddate), context);
String ddateSolt =
Utils.getDdateSolt(_enterModel.sunDateList);
Utils.getDdateSolt(_enterModel.sunDateList);
String pnum = Utils.getPnum(_enterModel.personNumList);
List<t.TableList> list =
await _enterModel.getNewTableList(
context,
'${ddate}',
ddateSolt,
pnum,
_enterModel.tableList);
await _enterModel.getNewTableList(context, '${ddate}',
ddateSolt, pnum, _enterModel.tableList);
if (list.length == 0) {
_enterModel.isRecommend = true;
}
... ... @@ -144,62 +128,57 @@ class _EnterPageState extends State<EnterPage> {
VEmptyView(60),
//早市、午市、晚市
Row(
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: _enterModel.sunDateList.map((value) {
return Container(
margin: _enterModel.sunDateList.length == 3 &&
value['ddateSolt'] == 3
return Container(
margin:
_enterModel.sunDateList.length == 3 && value['ddateSolt'] == 3
? EdgeInsets.only(right: 0)
: EdgeInsets.only(right: ScreenUtil().setWidth(20)),
child: CustomButton(
onTap: () {
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
if(!value['isEnable'])return;
for (var item in _enterModel.sunDateList) {
item['isSelect'] = false;
if (item['dateText'] == value['dateText']) {
item['isSelect'] = true;
String key = '';
if (item['ddateSolt'] == 1) {
//早市
key = 'morning';
} else if (item['ddateSolt'] == 2) {
//午市
key = 'noon';
} else if (item['ddateSolt'] == 3) {
//晚市
key = 'night';
}
if (key != '') {
for (var sunitem
in _enterModel.dailyMap[key]) {
if (sunitem['select'] == true) {
_enterModel.ddateStr =
sunitem['title'];
}
}
child: CustomButton(
onTap: () {
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
if (!value['isEnable']) return;
for (var item in _enterModel.sunDateList) {
item['isSelect'] = false;
if (item['dateText'] == value['dateText']) {
item['isSelect'] = true;
String key = '';
if (item['ddateSolt'] == 1) {
//早市
key = 'morning';
} else if (item['ddateSolt'] == 2) {
//午市
key = 'noon';
} else if (item['ddateSolt'] == 3) {
//晚市
key = 'night';
}
if (key != '') {
for (var sunitem in _enterModel.dailyMap[key]) {
if (sunitem['select'] == true) {
_enterModel.ddateStr = sunitem['title'];
}
_enterModel.notifyListeners();
}
}
int ddate = Utils.getDdate(_enterModel.dateList);
String pnum = Utils.getPnum(_enterModel.personNumList);
String ddateSolt = Utils.getDdateSolt(_enterModel.sunDateList);
_enterModel.getNewTableList(
context,
'${ddate}',
'${ddateSolt}',
pnum,
_enterModel.tableList);
},
dateText: value['dateText'],
dayText: '',
isEnable: value['isEnable'],
isSelect: value['isSelect'],
),
);
}).toList()),
_enterModel.notifyListeners();
}
}
int ddate = Utils.getDdate(_enterModel.dateList);
String pnum = Utils.getPnum(_enterModel.personNumList);
String ddateSolt =
Utils.getDdateSolt(_enterModel.sunDateList);
_enterModel.getNewTableList(context, '${ddate}',
'${ddateSolt}', pnum, _enterModel.tableList);
},
dateText: value['dateText'],
dayText: '',
isEnable: value['isEnable'],
isSelect: value['isSelect'],
),
);
}).toList()),
VEmptyView(60),
///人数选择
... ... @@ -208,21 +187,15 @@ class _EnterPageState extends State<EnterPage> {
children: _enterModel.personNumList.map((value) {
return CustomButton(
onTap: () {
for (int j = 0;
j < _enterModel.personNumList.length;
j++) {
_enterModel.personNumList[j]['isSelect'] =
false;
if (_enterModel.personNumList[j]
['dateText'] ==
for (int j = 0; j < _enterModel.personNumList.length; j++) {
_enterModel.personNumList[j]['isSelect'] = false;
if (_enterModel.personNumList[j]['dateText'] ==
value['dateText']) {
_enterModel.personNumList[j]['isSelect'] =
true;
_enterModel.personNumList[j]['isSelect'] = true;
if (j < 5) {
_enterModel.numController.text =
value['dateText'];
_enterModel.numController.text = value['dateText'];
FocusScope.of(context)
.requestFocus(FocusNode()); //点击空白处隐藏键盘
... ... @@ -238,14 +211,11 @@ class _EnterPageState extends State<EnterPage> {
//人数选择页面刷新
String pnum = Utils.getPnum(_enterModel.personNumList);
int ddate = Utils.getDdate(_enterModel.dateList);
String ddateSolt = Utils.getDdateSolt(_enterModel.sunDateList);
_enterModel.getNewTableList(
context,
'${ddate}',
ddateSolt,
pnum,
_enterModel.tableList);
String ddateSolt =
Utils.getDdateSolt(_enterModel.sunDateList);
_enterModel.getNewTableList(context, '${ddate}', ddateSolt,
pnum, _enterModel.tableList);
},
dateText: value['dateText'],
fontSize: value['fontSize'],
... ... @@ -290,11 +260,7 @@ class _EnterPageState extends State<EnterPage> {
String ddateSolt = Utils.getDdateSolt(_enterModel.sunDateList);
String pnum = Utils.getPnum(_enterModel.personNumList);
_enterModel.getNewTableList(
context,
'${dateTimeMill}',
ddateSolt,
pnum,
_enterModel.tableList);
context, '${dateTimeMill}', ddateSolt, pnum, _enterModel.tableList);
}
_enterModel.notifyListeners();
});
... ... @@ -325,7 +291,7 @@ class _EnterPageState extends State<EnterPage> {
}
}
String timeNowYear =
DateUtil.formatDate(DateTime.now(), format: 'yyyy');
DateUtil.formatDate(DateTime.now(), format: 'yyyy');
String ymyStr = timeNowYear + '-' + mdStr; //年月日
String timeStr = ymyStr + ' ' + "00:00:00";
int ddate = DateUtil.getDateMsByTimeStr(timeStr); //筛选日期时间戳
... ... @@ -340,8 +306,7 @@ class _EnterPageState extends State<EnterPage> {
// int ddate = DateUtil.getDateMsByTimeStr(timeStr);
Map temp = await NavigatorUtil.goSelectTablePage(
context, widget.rid, ddate, ddateSolt,
canChoose: true,
object: {'object': _enterModel.tableList});
canChoose: true, object: {'object': _enterModel.tableList});
// if (temp['tid'] != null) {
// setReserveStatus("5", tid: temp['tid']);
// }
... ... @@ -349,8 +314,7 @@ class _EnterPageState extends State<EnterPage> {
if (_enterModel.tableList.length == 0) {
_enterModel.isRecommend = true;
_enterModel.tableList = [];
for (t.TableList item
in _enterModel.recommendList) {
for (t.TableList item in _enterModel.recommendList) {
item.selected = false;
}
setState(() {});
... ... @@ -361,8 +325,7 @@ class _EnterPageState extends State<EnterPage> {
// if (_enterModel.tableList.length == 0) {
// isRecommend = true;
// }
for (t.TableList item
in _enterModel.tableList) {
for (t.TableList item in _enterModel.tableList) {
item.selected = true;
}
setState(() {});
... ... @@ -530,20 +493,20 @@ class _EnterPageState extends State<EnterPage> {
HEmptyView(40),
Row(
children: _enterModel.sexList.map((value) {
return _callButton(
onPress: () {
for (var item in _enterModel.sexList) {
item['select'] = false;
if (item['title'] == value['title']) {
item['select'] = true;
}
}
_enterModel.notifyListeners();
},
content: value['title'],
hasLeftBorder: value['hasLeftBorder'],
isSelect: value['select']);
}).toList()),
return _callButton(
onPress: () {
for (var item in _enterModel.sexList) {
item['select'] = false;
if (item['title'] == value['title']) {
item['select'] = true;
}
}
_enterModel.notifyListeners();
},
content: value['title'],
hasLeftBorder: value['hasLeftBorder'],
isSelect: value['select']);
}).toList()),
],
),
VEmptyView(40),
... ... @@ -617,97 +580,96 @@ class _EnterPageState extends State<EnterPage> {
return StatefulBuilder(builder: (context, state) {
return SafeArea(
child: Container(
decoration: BoxDecoration(
borderRadius:
decoration: BoxDecoration(
borderRadius:
BorderRadius.circular(ScreenUtil().setWidth(10))),
height: ScreenUtil().setWidth(height * 2),
child: Column(
children: [
InkWell(
onTap: () {
Navigator.pop(context);
},
child: Align(
alignment: Alignment.centerRight,
child: Container(
padding: EdgeInsets.fromLTRB(
ScreenUtil().setWidth(40),
ScreenUtil().setWidth(40),
ScreenUtil().setWidth(40),
ScreenUtil().setWidth(10)),
child: Image.asset(
'assets/close.png',
width: ScreenUtil().setWidth(32),
height: ScreenUtil().setWidth(32),
),
),
height: ScreenUtil().setWidth(height * 2),
child: Column(
children: [
InkWell(
onTap: () {
Navigator.pop(context);
},
child: Align(
alignment: Alignment.centerRight,
child: Container(
padding: EdgeInsets.fromLTRB(
ScreenUtil().setWidth(40),
ScreenUtil().setWidth(40),
ScreenUtil().setWidth(40),
ScreenUtil().setWidth(10)),
child: Image.asset(
'assets/close.png',
width: ScreenUtil().setWidth(32),
height: ScreenUtil().setWidth(32),
),
),
Center(
child: Text(title,
style: TextStyle(
fontSize: ScreenUtil().setSp(34),
fontWeight: FontWeight.bold,
color: MyColours.color_353535)),
),
VEmptyView(40),
Padding(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(60)),
child: GridView.builder(
padding:
),
),
Center(
child: Text(title,
style: TextStyle(
fontSize: ScreenUtil().setSp(34),
fontWeight: FontWeight.bold,
color: MyColours.color_353535)),
),
VEmptyView(40),
Padding(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(60)),
child: GridView.builder(
padding:
EdgeInsets.only(top: ScreenUtil().setWidth(20)),
shrinkWrap: true,
cacheExtent: ScreenUtil().setWidth(0),
itemCount: tempMndList.length,
gridDelegate:
shrinkWrap: true,
cacheExtent: ScreenUtil().setWidth(0),
itemCount: tempMndList.length,
gridDelegate:
SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3,
childAspectRatio: 80 / 36,
mainAxisSpacing:
ScreenUtil().setWidth(15 * 2),
ScreenUtil().setWidth(15 * 2),
crossAxisSpacing:
ScreenUtil().setWidth(38 * 2)),
itemBuilder: (BuildContext context, int index) {
// locationState = state;
return CustomButton(
onTap: () {
// state(() {
for (var item in tempMndList) {
item['select'] = false;
if (item['title'] ==
tempMndList[index]['title']) {
item['select'] = true;
widget.detailEntity.is_set_ddate = '1';
_enterModel.isSetDate = "1";
_enterModel.ddateStr =
item['title'];
}
}
// });
_enterModel.notifyListeners();
Navigator.pop(context);
},
width: 80,
height: 36,
dateText: tempMndList[index]['title'].toString(),
dayText: '',
isSelect: tempMndList[index]['select'],
);
}))
],
),
));
ScreenUtil().setWidth(38 * 2)),
itemBuilder: (BuildContext context, int index) {
// locationState = state;
return CustomButton(
onTap: () {
// state(() {
for (var item in tempMndList) {
item['select'] = false;
if (item['title'] ==
tempMndList[index]['title']) {
item['select'] = true;
widget.detailEntity.is_set_ddate = '1';
_enterModel.isSetDate = "1";
_enterModel.ddateStr = item['title'];
}
}
// });
_enterModel.notifyListeners();
Navigator.pop(context);
},
width: 80,
height: 36,
dateText: tempMndList[index]['title'].toString(),
dayText: '',
isSelect: tempMndList[index]['select'],
);
}))
],
),
));
});
});
}
Widget _callButton(
{GestureTapCallback onPress,
content,
hasLeftBorder = true,
isSelect = false}) {
content,
hasLeftBorder = true,
isSelect = false}) {
return InkWell(
onTap: onPress,
child: Container(
... ... @@ -724,8 +686,8 @@ class _EnterPageState extends State<EnterPage> {
width: ScreenUtil().setWidth(2)),
left: hasLeftBorder
? BorderSide(
color: MyColours.color_6AB6B9,
width: ScreenUtil().setWidth(2))
color: MyColours.color_6AB6B9,
width: ScreenUtil().setWidth(2))
: BorderSide.none,
right: BorderSide(
color: MyColours.color_6AB6B9,
... ... @@ -761,8 +723,8 @@ class _EnterPageState extends State<EnterPage> {
Expanded(
child: SingleChildScrollView(
child: Column(
children: [_topWidget(), _middleWidget(), _bottomWidget()],
))),
children: [_topWidget(), _middleWidget(), _bottomWidget()],
))),
Container(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(40),
... ... @@ -775,8 +737,7 @@ class _EnterPageState extends State<EnterPage> {
content: "录入预订",
state: 2,
onPress: () async {
String name =
_enterModel.nameController.text.trim();
String name = _enterModel.nameController.text.trim();
if (ObjectUtil.isEmpty(name)) {
Utils.showToast("请填写客户姓名");
return;
... ... @@ -786,8 +747,7 @@ class _EnterPageState extends State<EnterPage> {
return;
}
SunReserveInfoModel _model =
await _enterModel
.setReserveInfo(context);
await _enterModel.setReserveInfo(context);
if (ObjectUtil.isNotEmpty(_model.row) ||
ObjectUtil.isNotEmpty(_model.row.id)) {
print('录入成功');
... ... @@ -795,10 +755,11 @@ class _EnterPageState extends State<EnterPage> {
bus.emit("refresh_detail");
String ddate_solt = '';
if (_model.row.isSetDdate == '1') {
String createtime = _model.row.ddate.toString() + '000';
String createtime =
_model.row.ddate.toString() + '000';
DateTime createTime =
DateTime.fromMillisecondsSinceEpoch(
int.parse(createtime));
DateTime.fromMillisecondsSinceEpoch(
int.parse(createtime));
ddate_solt = DateUtil.formatDate(createTime,
format: DateFormats.h_m);
} else {
... ... @@ -811,14 +772,20 @@ class _EnterPageState extends State<EnterPage> {
}
}
List<dynamic> tableinfo =
convert.jsonDecode(_model.row.tableinfo);
convert.jsonDecode(_model.row.tableinfo);
print(tableinfo);
String _nameStr = _model.row.name;
if (tableinfo.length > 1) {
_nameStr = _model.row.name + '等${tableinfo.length}桌';
}
NavigatorUtil.goInvicationPage(context, _model.row.id,
_nameStr, _model.row.ddate, ddate_solt,_model.row.phone,
NavigatorUtil.goInvicationPage(
context,
_model.row.id,
_nameStr,
_model.row.ddate,
ddate_solt,
_model.row.phone,
_model.row.ddateSolt,
replace: true);
} else {
Utils.showToast("录入预订订单失败,请重试!");
... ... @@ -848,7 +815,7 @@ class CustomButton extends StatefulWidget {
Key key,
this.dateText,
this.dayText,
this.isEnable=true,
this.isEnable = true,
this.isSelect,
this.fontSize = 34,
this.isImage = false,
... ... @@ -878,112 +845,121 @@ class _ButtonState extends State<CustomButton> {
width: ScreenUtil().setWidth(widget.width * 2),
height: ScreenUtil().setWidth(widget.height * 2),
decoration: BoxDecoration(
color: !widget.isEnable?MyColours.color_999999:widget.isSelect ? MyColours.color_199095 : Colors.white,
color: !widget.isEnable
? MyColours.color_999999
: widget.isSelect
? MyColours.color_199095
: Colors.white,
borderRadius: BorderRadius.circular(ScreenUtil().setWidth(10)),
border: Border.all(
color: !widget.isEnable?MyColours.color_999999:MyColours.color_199095,
color: !widget.isEnable
? MyColours.color_999999
: MyColours.color_199095,
width: ScreenUtil().setWidth(2))),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
widget.isTextFiled
? Container(
alignment: Alignment.center,
// color: Colors.red,
width: ScreenUtil().setWidth(114),
height: ScreenUtil().setWidth(50),
// padding: EdgeInsets.zero,
child: TextField(
controller: widget.model.numController,
maxLines: 1,
inputFormatters: [
LengthLimitingTextInputFormatter(3),
WhitelistingTextInputFormatter.digitsOnly
],
//光标颜色
cursorColor: widget.isSelect
? Colors.white
: MyColours.color_199095,
//输入文本的样式
style: TextStyle(
fontSize: ScreenUtil().setSp(30),
color: widget.isSelect
? Colors.white
: MyColours.color_199095),
// controller: _cancelController,
focusNode: _cancelNode,
textAlignVertical: TextAlignVertical.bottom,
decoration: InputDecoration(
// fillColor: Colors.lightGreenAccent,
// filled: true,
border: OutlineInputBorder(borderSide: BorderSide.none),
hintText: "更多",
hintStyle: TextStyle(
color: widget.isSelect
? Colors.white
: MyColours.color_199095,
fontSize: ScreenUtil().setSp(30),
),
// contentPadding: EdgeInsets.only(
// bottom: ScreenUtil().setWidth(30)), //ios 17
// border: InputBorder.none,
),
onChanged: (value) {
bool isThird = true;
for (int i = 0;
i < widget.model.personNumList.length;
i++) {
widget.model.personNumList[i]['isSelect'] = false;
if (widget.model.personNumList[i]['dateText'] ==
value) {
widget.model.personNumList[i]['isSelect'] = true;
isThird = false;
}
}
if (isThird) {
widget.model.personNumList[5]['isSelect'] = true;
widget.model.personNumList[5]['dateText'] = value;
} else {
widget.model.personNumList[5]['dateText'] = '更多';
}
widget.model.notifyListeners();
},
onEditingComplete: () {
_cancelNode.unfocus();
int ddate = Utils.getDdate(widget.model.dateList);
String ddateSolt = Utils.getDdateSolt(widget.model.sunDateList);
String pnum = Utils.getPnum(widget.model.personNumList);
widget.model.getNewTableList(context, '${ddate}',
ddateSolt, pnum, widget.model.tableList);
},
keyboardType: TextInputType.number,
),
)
alignment: Alignment.center,
// color: Colors.red,
width: ScreenUtil().setWidth(114),
height: ScreenUtil().setWidth(50),
// padding: EdgeInsets.zero,
child: TextField(
controller: widget.model.numController,
maxLines: 1,
inputFormatters: [
LengthLimitingTextInputFormatter(3),
WhitelistingTextInputFormatter.digitsOnly
],
//光标颜色
cursorColor: widget.isSelect
? Colors.white
: MyColours.color_199095,
//输入文本的样式
style: TextStyle(
fontSize: ScreenUtil().setSp(30),
color: widget.isSelect
? Colors.white
: MyColours.color_199095),
// controller: _cancelController,
focusNode: _cancelNode,
textAlignVertical: TextAlignVertical.bottom,
decoration: InputDecoration(
// fillColor: Colors.lightGreenAccent,
// filled: true,
border: OutlineInputBorder(borderSide: BorderSide.none),
hintText: "更多",
hintStyle: TextStyle(
color: widget.isSelect
? Colors.white
: MyColours.color_199095,
fontSize: ScreenUtil().setSp(30),
),
// contentPadding: EdgeInsets.only(
// bottom: ScreenUtil().setWidth(30)), //ios 17
// border: InputBorder.none,
),
onChanged: (value) {
bool isThird = true;
for (int i = 0;
i < widget.model.personNumList.length;
i++) {
widget.model.personNumList[i]['isSelect'] = false;
if (widget.model.personNumList[i]['dateText'] ==
value) {
widget.model.personNumList[i]['isSelect'] = true;
isThird = false;
}
}
if (isThird) {
widget.model.personNumList[5]['isSelect'] = true;
widget.model.personNumList[5]['dateText'] = value;
} else {
widget.model.personNumList[5]['dateText'] = '更多';
}
widget.model.notifyListeners();
},
onEditingComplete: () {
_cancelNode.unfocus();
int ddate = Utils.getDdate(widget.model.dateList);
String ddateSolt =
Utils.getDdateSolt(widget.model.sunDateList);
String pnum = Utils.getPnum(widget.model.personNumList);
widget.model.getNewTableList(context, '${ddate}',
ddateSolt, pnum, widget.model.tableList);
},
keyboardType: TextInputType.number,
),
)
: Text(widget.dateText,
style: TextStyle(
fontWeight: widget.isImage && widget.dateText == "其他"
? FontWeight.normal
: FontWeight.bold,
color: !widget.isEnable?MyColours.color_666666:widget.isSelect
? MyColours.color_fefefe
: MyColours.color_199095,
fontSize: ScreenUtil().setSp(widget.fontSize))),
style: TextStyle(
fontWeight: widget.isImage && widget.dateText == "其他"
? FontWeight.normal
: FontWeight.bold,
color: !widget.isEnable
? MyColours.color_666666
: widget.isSelect
? MyColours.color_fefefe
: MyColours.color_199095,
fontSize: ScreenUtil().setSp(widget.fontSize))),
widget.isImage && !widget.isTextFiled
? HEmptyView(20)
: Container(),
widget.isImage
? Image.asset(widget.isSelect ? imgStrSelect : imgStrNormal,
width: ScreenUtil().setWidth(36))
width: ScreenUtil().setWidth(36))
: Text(widget.dayText,
style: TextStyle(
fontWeight: FontWeight.bold,
color: widget.isSelect
? MyColours.color_fefefe
: MyColours.color_199095,
fontSize: ScreenUtil().setSp(30)))
style: TextStyle(
fontWeight: FontWeight.bold,
color: widget.isSelect
? MyColours.color_fefefe
: MyColours.color_199095,
fontSize: ScreenUtil().setSp(30)))
],
),
),
... ...
... ... @@ -1370,6 +1370,7 @@ class _HomeEnterPageState extends State<HomeEnterPage> {
_model.row.ddate,
ddate_solt,
_model.row.phone,
_model.row.ddateSolt,
replace: false);
//今天 明天 其他天
String tempTime = _homeEnterModel.ddateStr;
... ...
... ... @@ -31,9 +31,10 @@ class InvicationPage extends StatefulWidget {
final String ddate;
final String ddateStr;
final String phone;
final String dateSolt;
InvicationPage(
this.rid, this.tableInfo, this.ddate, this.ddateStr, this.phone);
InvicationPage(this.rid, this.tableInfo, this.ddate, this.ddateStr,
this.phone, this.dateSolt);
@override
State<StatefulWidget> createState() {
... ... @@ -50,9 +51,9 @@ class InvicationPageState extends State<InvicationPage> {
double couponHeight = 140.0;
CouponProvider couponProvider;
BaseIndoProvider _baseIndoProvider;
String name = '填写姓名';
String position = '填写职位';
String phone = '填写电话';
String name = '';
String position = '经理';
String phone = '';
String qiniuUrl = '';
final GlobalKey key = new GlobalKey();
final GlobalKey globalKey = GlobalKey();
... ... @@ -71,6 +72,7 @@ class InvicationPageState extends State<InvicationPage> {
dateTime =
DateTime.fromMillisecondsSinceEpoch(int.parse(widget.ddate) * 1000);
user = Provider.of<UserModel>(context, listen: false).user;
dateTimeStr =
"${dateTime.year}/${Utils.addZeroNumber(dateTime.month)}/${Utils.addZeroNumber(dateTime.day)} 星期${Utils.formatWeekDayNum(dateTime.weekday)} ${widget.ddateStr}";
}
... ... @@ -83,6 +85,34 @@ class InvicationPageState extends State<InvicationPage> {
bool success = await _baseIndoProvider.getSellerPhotoById(context, params);
}
//客户经理添加/修改基本信息
_setCustomerActivityBaseinfo() async {
Map<String, String> params = {
'sellerid': Provider.of<UserModel>(context, listen: false).user.sellerid,
"uid": Provider.of<UserModel>(context, listen: false).user.openid,
"name": user.sellername,
"photo": 'http://nosqn.colorcun.com/yd_person.png',
"position": '经理',
};
if (user.userphone != null) {
params['phone'] = user.userphone;
}
bool isSuccess =
await _baseIndoProvider.setCustomerActivityBaseinfo(context, params);
// _baseIndoProvider.baseInfoSunModel = null;
if (isSuccess) {
name = user.sellername;
qiniuUrl = 'http://nosqn.colorcun.com/yd_person.png';
// _uploadImageProvider.erweima.qiniuUrl =
// _baseIndoProvider.baseInfoSunModel.qrcode;
phone = user.userphone != null ? user.userphone : '填写电话';
position = '经理';
qiniuUrl = 'http://nosqn.colorcun.com/yd_person.png';
setState(() {});
}
}
_getCustomerActivityBaseinfo() async {
Map<String, String> params = {
'sellerid': Provider.of<UserModel>(context, listen: false).user.sellerid,
... ... @@ -95,7 +125,11 @@ class InvicationPageState extends State<InvicationPage> {
qiniuUrl = _baseIndoProvider.baseInfoSunModel.photo;
// _uploadImageProvider.erweima.qiniuUrl =
// _baseIndoProvider.baseInfoSunModel.qrcode;
phone = _baseIndoProvider.baseInfoSunModel.phone;
phone = _baseIndoProvider.baseInfoSunModel.phone != null
? _baseIndoProvider.baseInfoSunModel.phone
: '填写电话';
position = _baseIndoProvider.baseInfoSunModel.position;
setState(() {});
} else {
... ... @@ -103,6 +137,7 @@ class InvicationPageState extends State<InvicationPage> {
// position = '请填写职位';
// phone = '请填写电话';
// qiniuUrl = '';
_setCustomerActivityBaseinfo();
}
}
... ... @@ -342,19 +377,14 @@ class InvicationPageState extends State<InvicationPage> {
padding: EdgeInsets.only(
left: ScreenUtil()
.setWidth(70)),
child: qiniuUrl == ''
? Image.asset(
Utils.getImgPath(
'yd_person'),
width: ScreenUtil()
.setWidth(143 * 2),
height: ScreenUtil()
.setWidth(190 * 2))
: Image.network(qiniuUrl,
width: ScreenUtil()
.setWidth(143 * 2),
height: ScreenUtil()
.setWidth(190 * 2)),
child: Image.network(
qiniuUrl == ''
? 'http://nosqn.colorcun.com/yd_person.png'
: qiniuUrl,
width: ScreenUtil()
.setWidth(143 * 2),
height: ScreenUtil()
.setWidth(190 * 2)),
),
HEmptyView(10),
Spacer(),
... ... @@ -389,12 +419,8 @@ class InvicationPageState extends State<InvicationPage> {
textAlign:
TextAlign.right,
style: TextStyle(
color: name ==
'填写姓名'
? MyColours
.color_999999
: MyColours
.color_333333,
color: MyColours
.color_333333,
fontSize:
ScreenUtil()
.setSp(
... ... @@ -452,11 +478,8 @@ class InvicationPageState extends State<InvicationPage> {
textAlign:
TextAlign.right,
style: TextStyle(
color: position == '填写职位'
? MyColours
.color_999999
: MyColours
.color_333333,
color: MyColours
.color_333333,
fontSize:
ScreenUtil()
.setSp(
... ... @@ -727,37 +750,42 @@ class InvicationPageState extends State<InvicationPage> {
isBold: false,
onPressed: () async {
// Uint8List image = await _getImage();
if (ObjectUtil.isEmpty(
_baseIndoProvider.baseInfoSunModel)) {
Utils.showToast('请输入个人资料');
return;
}
print(widget.rid);
print(Provider.of<UserModel>(context, listen: false)
.user
.openid);
// if (ObjectUtil.isEmpty(
// _baseIndoProvider.baseInfoSunModel)) {
// Utils.showToast('请输入个人资料');
// return;
// }
// if (ObjectUtil.isEmpty(
// _baseIndoProvider.baseInfoSunModel.name)) {
// Utils.showToast('请填写您的姓名');
// return;
// }
if (ObjectUtil.isEmpty(
_baseIndoProvider.baseInfoSunModel.name)) {
Utils.showToast('请填写您的姓名');
return;
}
if (ObjectUtil.isEmpty(
_baseIndoProvider.baseInfoSunModel.phone)) {
_baseIndoProvider.baseInfoSunModel) ||
ObjectUtil.isEmpty(
_baseIndoProvider.baseInfoSunModel.phone)) {
Utils.showToast('请填写您的联系电话');
return;
}
if (ObjectUtil.isEmpty(
_baseIndoProvider.baseInfoSunModel.position)) {
Utils.showToast('请填写您在餐厅中的职位');
return;
}
if (ObjectUtil.isEmpty(
_baseIndoProvider.baseInfoSunModel.phone)) {
Utils.showToast('请上传您的头像');
return;
}
if (ObjectUtil.isEmpty(
_baseIndoProvider.baseInfoSunModel.qrcode)) {
Utils.showToast('请上传您的微信二维码');
return;
}
// if (ObjectUtil.isEmpty(
// _baseIndoProvider.baseInfoSunModel.position)) {
// Utils.showToast('请填写您在餐厅中的职位');
// return;
// }
// if (ObjectUtil.isEmpty(
// _baseIndoProvider.baseInfoSunModel.phone)) {
// Utils.showToast('请上传您的头像');
// return;
// }
// if (ObjectUtil.isEmpty(
// _baseIndoProvider.baseInfoSunModel.qrcode)) {
// Utils.showToast('请上传您的微信二维码');
// return;
// }
if (!couponProvider.hasModify &&
couponProvider.coupons.length > 0) {
Map<String, String> params = {
... ... @@ -814,6 +842,19 @@ class InvicationPageState extends State<InvicationPage> {
return;
}
if (!couponProvider.sendSMS) {
String dateSoltStr = '';
if (widget.dateSolt == '1') {
dateSoltStr = '早餐';
} else if (widget.dateSolt == '2') {
dateSoltStr = '午餐';
} else if (widget.dateSolt == '3') {
dateSoltStr = '晚餐';
}
DateTime dateTimeTemp =
DateTime.fromMillisecondsSinceEpoch(
int.parse(widget.ddate) * 1000);
String dateTimeStrTemp =
"${Utils.addZeroNumber(dateTimeTemp.month)}月${Utils.addZeroNumber(dateTimeTemp.day)}日";
Map<String, String> params = {
"id": widget.rid,
"uid": Provider.of<UserModel>(context,
... ... @@ -821,9 +862,25 @@ class InvicationPageState extends State<InvicationPage> {
.user
.openid,
"phone": widget.phone,
"Strtext": user.sellername +
_baseIndoProvider.baseInfoSunModel.name
// "Strtext": user.sellername +
// dateTimeStrTemp +
// dateSoltStr +
// ',' +
// '餐厅经理' +
// _baseIndoProvider.baseInfoSunModel.name +
// '已为您安排在' +
// widget.tableInfo.replaceAll("\n", "")
};
if (ObjectUtil.isNotEmpty(
_baseIndoProvider.baseInfoSunModel) &&
ObjectUtil.isNotEmpty(_baseIndoProvider
.baseInfoSunModel.name)) {
params['Strtext'] = user.sellername +
_baseIndoProvider.baseInfoSunModel.name;
} else {
params['Strtext'] = user.sellername;
}
bool success = await couponProvider
.sendSMSWxSendSms(context, params);
print(success);
... ...
... ... @@ -4,6 +4,7 @@ import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/screenutil.dart';
import 'package:one_key/models/upload_img_model.dart';
import 'package:one_key/models/user.dart';
import 'package:one_key/pages/online_check/photo_view_wiget.dart';
import 'package:one_key/pages/online_check/progress.dart';
import 'package:one_key/provider/base_info_provider.dart';
... ... @@ -89,15 +90,32 @@ class _BaseInfoPageState extends State<BaseInfoPage> {
//客户经理添加/修改基本信息
_setCustomerActivityBaseinfo() async {
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
User user = Provider.of<UserModel>(context, listen: false).user;
Map<String, String> params = {
'sellerid': Provider.of<UserModel>(context, listen: false).user.sellerid,
"uid": Provider.of<UserModel>(context, listen: false).user.openid,
"name": _nameController.text.trim(),
"photo": _uploadImageProvider.touxiang.qiniuUrl,
"phone": _phoneController.text.trim(),
"position": _positionController.text,
"qrcode": _uploadImageProvider.erweima.qiniuUrl,
'sellerid': user.sellerid,
"uid": user.openid,
"name": _nameController.text.trim().length == 0
? user.sellername
: _nameController.text.trim(),
"photo": _uploadImageProvider.touxiang.qiniuUrl.trim().length == 0
? 'http://nosqn.colorcun.com/yd_person.png'
: _uploadImageProvider.touxiang.qiniuUrl,
"position": _positionController.text.trim().length == 0
? '经理'
: _positionController.text,
};
if (_phoneController.text.trim().length == 0) {
if (user.userphone != null) {
params['phone'] = user.userphone;
}
} else {
params['phone'] = _phoneController.text.trim();
}
if (_uploadImageProvider.erweima.qiniuUrl != null &&
_uploadImageProvider.erweima.qiniuUrl != '') {
params['qrcode'] = _uploadImageProvider.erweima.qiniuUrl;
}
if (_baseIndoProvider.baseInfoSunModel != null) {
params['id'] = _baseIndoProvider.baseInfoSunModel.id;
}
... ... @@ -414,31 +432,6 @@ class _BaseInfoPageState extends State<BaseInfoPage> {
ScreenUtil().setWidth(40), ScreenUtil().setWidth(40)),
child: RoundButton(
onPressed: () {
if (_uploadImageProvider.touxiang.qiniuUrl
.trim()
.length ==
0) {
Utils.showToast('请上传头像');
return;
}
if (_nameController.text.trim().length == 0) {
Utils.showToast('请填写您的姓名');
return;
}
if (_phoneController.text.trim().length == 0) {
Utils.showToast('请填写您的联系电话');
return;
}
if (_positionController.text.trim().length == 0) {
Utils.showToast('请填写您在餐厅中担任的职位');
return;
}
if (_uploadImageProvider.erweima.qiniuUrl.trim().length ==
0) {
Utils.showToast('请上传二维码');
return;
}
//接口
_setCustomerActivityBaseinfo();
},
... ...
... ... @@ -269,6 +269,19 @@ class MyPageState extends State<MyPage> with WidgetsBindingObserver {
// ),
VEmptyView(40),
// MyItem(
// title: "我的员工",
// content: "",
// callback: () {
// Utils.goMiniProgramZm(context, "roomtype/roomtype");
// },
// ),
// MyDivider(
// double.infinity,
// ScreenUtil().setHeight(1),
// color: MyColours.color_f3f3f3,
// ),
MyItem(
title: "线上券创建",
content: '',
... ...
... ... @@ -28,7 +28,8 @@ class NotebookItemState extends State<NoteBookItem> {
widget.notebook.tableinfoStr,
widget.notebook.ddate,
widget.notebook.ddateStr,
widget.notebook.phone);
widget.notebook.phone,
widget.notebook.ddate_solt);
}
}
... ...
... ... @@ -70,6 +70,7 @@ class UserModel with ChangeNotifier {
"morning": "",
"noon": "",
"night": "",
'userphone':user['phone']
};
await saveUserInfo(User.fromJson(userMap));
return getSellerInfo(
... ... @@ -101,6 +102,7 @@ class UserModel with ChangeNotifier {
user['morning'] = daily['morning'];
user['noon'] = daily['noon'];
user['night'] = daily['night'];
await saveUserInfo(User.fromJson(user));
App.sp.setBool("isLogin", true);
App.sp.setString("is_call_tel", seller['is_call_tel'].toString());
... ...
... ... @@ -70,11 +70,17 @@ class NavigatorUtil {
}
/// 邀请函
static void goInvicationPage(BuildContext context, String rid,
String tableInfo, String ddate, String ddateStr, String phone,
static void goInvicationPage(
BuildContext context,
String rid,
String tableInfo,
String ddate,
String ddateStr,
String phone,
String ddate_solt,
{bool replace = false}) {
_navigateTo(context,
"${Routes.invication}?rid=$rid&tableInfo=${FluroConvertUtils.fluroCnParamsEncode(tableInfo)}&ddate=$ddate&ddateStr=${FluroConvertUtils.fluroCnParamsEncode(ddateStr)}&phone=$phone",
"${Routes.invication}?rid=$rid&tableInfo=${FluroConvertUtils.fluroCnParamsEncode(tableInfo)}&ddate=$ddate&ddateStr=${FluroConvertUtils.fluroCnParamsEncode(ddateStr)}&phone=$phone&ddate_solt=$ddate_solt",
replace: replace);
}
... ...
... ... @@ -135,9 +135,11 @@ var handleInvicationHandler = new Handler(
String ddateStr =
FluroConvertUtils.fluroCnParamsDecode(params["ddateStr"].first);
String phone = params["phone"].first;
String ddate_solt = params["ddate_solt"].first;
return ChangeNotifierProvider<BaseIndoProvider>(
create: (_) => BaseIndoProvider(),
child: InvicationPage(rid, tableInfo, ddate, ddateStr, phone));
child:
InvicationPage(rid, tableInfo, ddate, ddateStr, phone, ddate_solt));
});
// 发短信
... ...
... ... @@ -49,7 +49,7 @@ packages:
name: args
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.6.0"
version: "2.1.1"
async:
dependency: transitive
description:
... ... @@ -91,7 +91,7 @@ packages:
name: build_daemon
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.4"
version: "2.1.10"
build_resolvers:
dependency: transitive
description:
... ... @@ -119,21 +119,21 @@ packages:
name: built_collection
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.3.2"
version: "5.1.0"
built_value:
dependency: transitive
description:
name: built_value
url: "https://pub.flutter-io.cn"
source: hosted
version: "7.1.0"
version: "8.0.6"
cached_network_image:
dependency: "direct main"
description:
name: cached_network_image
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.3.3"
version: "2.4.1"
characters:
dependency: transitive
description:
... ... @@ -154,7 +154,7 @@ packages:
name: checked_yaml
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.2"
version: "1.0.4"
chewie:
dependency: "direct main"
description:
... ... @@ -168,7 +168,7 @@ packages:
name: cli_util
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.2.0"
version: "0.3.0"
clock:
dependency: transitive
description:
... ... @@ -182,7 +182,7 @@ packages:
name: code_builder
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.5.0"
version: "3.7.0"
collection:
dependency: transitive
description:
... ... @@ -196,7 +196,7 @@ packages:
name: common_utils
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.1"
version: "1.2.4"
connectivity:
dependency: "direct main"
description:
... ... @@ -210,14 +210,14 @@ packages:
name: connectivity_for_web
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.3.1+2"
version: "0.3.1+4"
connectivity_macos:
dependency: transitive
description:
name: connectivity_macos
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.1.0+5"
version: "0.1.0+7"
connectivity_platform_interface:
dependency: transitive
description:
... ... @@ -273,14 +273,14 @@ packages:
name: decimal
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.3.5"
version: "1.2.0"
device_info:
dependency: "direct main"
description:
name: device_info
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.4.2+9"
version: "0.4.2+10"
device_info_platform_interface:
dependency: transitive
description:
... ... @@ -322,21 +322,21 @@ packages:
name: ffi
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.1.3"
version: "1.1.2"
file:
dependency: transitive
description:
name: file
url: "https://pub.flutter-io.cn"
source: hosted
version: "6.1.0"
version: "6.1.1"
fixnum:
dependency: transitive
description:
name: fixnum
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.10.11"
version: "1.0.0"
fluro:
dependency: "direct main"
description:
... ... @@ -355,7 +355,7 @@ packages:
name: flutter_app_badger
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.2"
version: "1.2.0"
flutter_blurhash:
dependency: transitive
description:
... ... @@ -512,14 +512,14 @@ packages:
name: intl
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.16.1"
version: "0.17.0"
io:
dependency: transitive
description:
name: io
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.3.4"
version: "0.3.5"
js:
dependency: transitive
description:
... ... @@ -554,7 +554,7 @@ packages:
name: logging
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.11.4"
version: "1.0.1"
matcher:
dependency: transitive
description:
... ... @@ -575,14 +575,14 @@ packages:
name: mime
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.9.7"
version: "1.0.0"
nested:
dependency: transitive
description:
name: nested
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.0.4"
version: "1.0.0"
octo_image:
dependency: transitive
description:
... ... @@ -610,7 +610,7 @@ packages:
name: package_info
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.4.3"
version: "0.4.3+4"
path:
dependency: transitive
description:
... ... @@ -638,7 +638,7 @@ packages:
name: path_provider
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.6.22"
version: "1.6.28"
path_provider_linux:
dependency: transitive
description:
... ... @@ -652,21 +652,21 @@ packages:
name: path_provider_macos
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.0.4+4"
version: "0.0.4+8"
path_provider_platform_interface:
dependency: transitive
description:
name: path_provider_platform_interface
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.3"
version: "1.0.4"
path_provider_windows:
dependency: transitive
description:
name: path_provider_windows
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.0.4+1"
version: "0.0.5"
pedantic:
dependency: transitive
description:
... ... @@ -729,7 +729,7 @@ packages:
name: pool
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.4.0"
version: "1.5.0"
process:
dependency: transitive
description:
... ... @@ -743,21 +743,21 @@ packages:
name: provider
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.3.2+2"
version: "4.3.3"
pub_semver:
dependency: transitive
description:
name: pub_semver
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.4.4"
version: "2.0.0"
pubspec_parse:
dependency: transitive
description:
name: pubspec_parse
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.1.5"
version: "0.1.8"
qiniu_flutter_sdk:
dependency: "direct main"
description:
... ... @@ -778,14 +778,14 @@ packages:
name: quiver
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.4+1"
version: "2.1.5"
rational:
dependency: transitive
description:
name: rational
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.3.8"
version: "1.2.1"
rxdart:
dependency: transitive
description:
... ... @@ -813,21 +813,21 @@ packages:
name: shared_preferences
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.5.12+2"
version: "0.5.12+4"
shared_preferences_linux:
dependency: transitive
description:
name: shared_preferences_linux
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.0.2+2"
version: "0.0.2+4"
shared_preferences_macos:
dependency: transitive
description:
name: shared_preferences_macos
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.0.1+10"
version: "0.0.1+11"
shared_preferences_platform_interface:
dependency: transitive
description:
... ... @@ -848,7 +848,7 @@ packages:
name: shared_preferences_windows
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.0.1+1"
version: "0.0.2+3"
shelf:
dependency: transitive
description:
... ... @@ -862,7 +862,7 @@ packages:
name: shelf_web_socket
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.2.3"
version: "0.2.4+1"
sign_in_with_apple:
dependency: "direct main"
description:
... ... @@ -876,7 +876,7 @@ packages:
name: simple_gesture_detector
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.1.4"
version: "0.1.6"
sky_engine:
dependency: transitive
description: flutter
... ... @@ -902,14 +902,14 @@ packages:
name: sqflite
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.1+2"
version: "1.3.2+4"
sqflite_common:
dependency: transitive
description:
name: sqflite_common
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.2+1"
version: "1.0.3+3"
stack_trace:
dependency: transitive
description:
... ... @@ -930,7 +930,7 @@ packages:
name: stream_transform
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.0.20"
version: "2.0.0"
string_scanner:
dependency: transitive
description:
... ... @@ -951,7 +951,7 @@ packages:
name: table_calendar
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.3.0"
version: "2.3.3"
term_glyph:
dependency: transitive
description:
... ... @@ -972,7 +972,7 @@ packages:
name: timing
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.1.1+2"
version: "0.1.1+3"
tpns_flutter_plugin:
dependency: "direct main"
description:
... ... @@ -995,42 +995,42 @@ packages:
name: url_launcher
url: "https://pub.flutter-io.cn"
source: hosted
version: "5.7.6"
version: "5.7.10"
url_launcher_linux:
dependency: transitive
description:
name: url_launcher_linux
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.0.1+3"
version: "0.0.1+4"
url_launcher_macos:
dependency: transitive
description:
name: url_launcher_macos
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.0.1+8"
version: "0.0.1+9"
url_launcher_platform_interface:
dependency: transitive
description:
name: url_launcher_platform_interface
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.8"
version: "1.0.9"
url_launcher_web:
dependency: transitive
description:
name: url_launcher_web
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.1.4+1"
version: "0.1.5+3"
url_launcher_windows:
dependency: transitive
description:
name: url_launcher_windows
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.0.1+1"
version: "0.0.1+3"
uuid:
dependency: transitive
description:
... ... @@ -1086,14 +1086,14 @@ packages:
name: watcher
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.9.7+15"
version: "1.0.0"
web_socket_channel:
dependency: "direct main"
description:
name: web_socket_channel
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.0"
version: "1.2.0"
webview_flutter:
dependency: "direct main"
description:
... ... @@ -1107,7 +1107,7 @@ packages:
name: win32
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.7.3"
version: "2.0.5"
xdg_directories:
dependency: transitive
description:
... ... @@ -1121,7 +1121,7 @@ packages:
name: yaml
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.2.1"
version: "3.1.0"
sdks:
dart: ">=2.12.0 <3.0.0"
flutter: ">=2.0.0"
... ...