Commit a684a0bf85872765676d01a16d338b9e5e1981a0

Authored by wdn127929
1 parent 488e2858

海外版合并5.4.4 (dart 3.0)

... ... @@ -218,7 +218,7 @@ class DetailModelAllSunModel {
date += "后天 ";
}
date += "周${Utils.formatWeekDayNum(day.weekday)}";
date += "周${Utils.formatWeekDayNum(day.weekday,context)}";
String? time = Utils.lunarCalendarHolidays(day);
date += ' ${time}';
date += ')';
... ...
... ... @@ -262,7 +262,7 @@ class NotebookDetail {
date += "后天 ";
}
date += "周${Utils.formatWeekDayNum(day.weekday)}";
date += "周${Utils.formatWeekDayNum(day.weekday,context)}";
String? time = Utils.lunarCalendarHolidays(day);
date += ' ${time}';
date += ')';
... ...
... ... @@ -10,8 +10,6 @@ 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 '../../generated/l10n.dart';
class CouponCreateSelectTypePage extends StatefulWidget {
CouponCreateSelectTypePage({Key? key}) : super(key: key);
... ... @@ -69,40 +67,8 @@ class _CouponCreateSelectTypePageState
child: Row(
children: [
Image.asset(
<<<<<<< HEAD
Utils.getImgPath(selectF
? 'coupon_select_type_user'
: 'coupon_select_type_user_un'),
width: ScreenUtil().setWidth(70 * 2),
),
HEmptyView(70),
Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'${S.of(context).create_for_me_only}',
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: ScreenUtil().setSp(36),
color: selectF
? MyColours.color_ffffff
: MyColours.color_999999),
),
VEmptyView(16),
Text(
'创建后仅我可发放该优惠券',
style: TextStyle(
fontSize: ScreenUtil().setSp(24),
color: selectF
? MyColours.color_ffffff
: MyColours.color_BFC4D4),
),
],
=======
Utils.getImgPath(selectF ? 'free' : 'free_un'),
width: ScreenUtil().setWidth(50 * 2),
>>>>>>> v5.4.4+
),
HEmptyView(56),
Expanded(
... ... @@ -178,32 +144,6 @@ class _CouponCreateSelectTypePageState
),
HEmptyView(56),
Expanded(
<<<<<<< HEAD
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'${S.of(context).create_for_entire_shop}',
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: ScreenUtil().setSp(36),
color: !selectF
? MyColours.color_ffffff
: MyColours.color_999999),
),
VEmptyView(16),
Text(
'创建后所有员工均可发放该优惠券',
style: TextStyle(
fontSize: ScreenUtil().setSp(24),
color: !selectF
? MyColours.color_ffffff
: MyColours.color_BFC4D4),
),
],
)),
=======
child: Text(
'付费优惠券',
style: TextStyle(
... ... @@ -214,13 +154,12 @@ class _CouponCreateSelectTypePageState
: MyColours.color_999999),
),
),
>>>>>>> v5.4.4+
],
),
)),
VEmptyView(112),
RoundButton(
text: '${S.of(context).create_now}',
text: '立即创建',
gradientStart: MyColours.color_ffffff,
gradientEnd: MyColours.color_ffffff,
borderColor: MyColours.color_438E93,
... ...
... ... @@ -19,7 +19,6 @@ import 'package:one_key/widgets/system_app_bar.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import '../../generated/l10n.dart';
import '../../provider/base_info_provider.dart';
import '../../utils/screen_util.dart';
import '../../widgets/page_exception.dart';
... ... @@ -113,7 +112,7 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
Spacer(),
Text(hintText,
style: TextStyle(
color: hintText == '${S.of(context).click_to_select}'
color: hintText == '点击选择'
? MyColours.color_999999
: MyColours.color_515151,
fontSize: ScreenUtil().setSp(32),
... ... @@ -195,7 +194,7 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
);
}
///是否${S.of(context).activate_now}
///是否立即启用
Widget _canUse(String title, bool swich) {
return Container(
padding: EdgeInsets.symmetric(vertical: ScreenUtil().setWidth(14)),
... ... @@ -388,12 +387,6 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
children: [
VEmptyView(56),
_item(
<<<<<<< HEAD
'${S.of(context).coupon_type}',
couponProvider.couponSunModel.isType == '1'
? '${S.of(context).shop_coupons}'
: '我的优惠券'),
=======
'券类型',
couponProvider.couponSunModel!.isType == '1'
? '店铺优惠券'
... ... @@ -405,7 +398,6 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
'3'
? '免费代金券'
: '付费优惠券'),
>>>>>>> v5.4.4+
Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
... ... @@ -418,13 +410,8 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
Column(
children: [
_canUse(
<<<<<<< HEAD
'${S.of(context).redeemable}',
couponProvider.couponSunModel.isExamine ==
=======
'是否核销',
couponProvider.couponSunModel!.isExamine ==
>>>>>>> v5.4.4+
'1'
? true
: false),
... ... @@ -435,11 +422,7 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
VEmptyView(24),
],
),
<<<<<<< HEAD
_item('${S.of(context).coupon_name}', couponProvider.couponSunModel.aname),
=======
_item('券名称', couponProvider.couponSunModel!.aname!),
>>>>>>> v5.4.4+
Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
... ... @@ -465,17 +448,6 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_item(
<<<<<<< HEAD
'${S.of(context).coupon_use}',
couponProvider.couponSunModel.use.isCash
? '${S.of(context).cash_voucher}'
: couponProvider
.couponSunModel.use.isDiscount
? '${S.of(context).discount_voucher}'
: couponProvider
.couponSunModel.use.isDish
? '${S.of(context).dish_voucher}'
=======
'券用途',
couponProvider.couponSunModel!.use!.isCash
? '代金券'
... ... @@ -485,7 +457,6 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
: couponProvider
.couponSunModel!.use!.isDish
? '菜品券'
>>>>>>> v5.4.4+
: ''),
Container(
height: ScreenUtil().setWidth(2),
... ... @@ -493,24 +464,14 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
),
VEmptyView(24),
_item(
<<<<<<< HEAD
couponProvider.couponSunModel.use.isCash
? '${S.of(context).amount}'
=======
couponProvider.couponSunModel!.use!.isCash
? '金额'
>>>>>>> v5.4.4+
: couponProvider
.couponSunModel!.use!.isDiscount
? '折扣率'
: couponProvider
<<<<<<< HEAD
.couponSunModel.use.isDish
? S.of(context).dishes
=======
.couponSunModel!.use!.isDish
? '菜品'
>>>>>>> v5.4.4+
: '',
couponProvider.couponSunModel!.use!.isCash
? '${couponProvider.couponSunModel!.use!.cash}元'
... ... @@ -537,20 +498,6 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
color: MyColours.color_E7E7E7,
),
VEmptyView(24),
<<<<<<< HEAD
_item(
'${S.of(context).selling_price}',
'${couponProvider.couponSunModel.price}元' ??
''),
Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
),
VEmptyView(24),
],
),
_item('${S.of(context).coupon_requirements}', couponProvider.couponSunModel.desc),
=======
],
),
_item(
... ... @@ -560,18 +507,13 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
'2'
? couponProvider.couponSunModel!.desc??''
: '消费满${couponProvider.couponSunModel!.desc}元可用'),
>>>>>>> v5.4.4+
Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
),
VEmptyView(24),
_item(
<<<<<<< HEAD
'${S.of(context).validity_from}',
=======
'活动开始于',
>>>>>>> v5.4.4+
Utils.getDateStrFromJiekou(
couponProvider.couponSunModel!.stime)),
Container(
... ... @@ -580,11 +522,7 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
),
VEmptyView(24),
_item(
<<<<<<< HEAD
'${S.of(context).validity_to}',
=======
'活动结束于',
>>>>>>> v5.4.4+
Utils.getDateStrFromJiekou(
couponProvider.couponSunModel!.etime)),
Container(
... ... @@ -627,16 +565,6 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
),
VEmptyView(24),
_item(
<<<<<<< HEAD
'${S.of(context).usage_limit}',
couponProvider.couponSunModel.expDate.isNone
? '${S.of(context).none}'
: couponProvider.couponSunModel.expDate
.isBirthday
? '${S.of(context).members_birthday}'
: couponProvider.couponSunModel
.expDate.isWeek
=======
'使用限制',
couponProvider.couponSunModel!.expDate!.isNone
? '无'
... ... @@ -645,7 +573,6 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
? '会员生日当天'
: couponProvider.couponSunModel!
.expDate!.isWeek
>>>>>>> v5.4.4+
? '每周指定日期餐段可用'
: ''),
if (couponProvider
... ... @@ -790,22 +717,13 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
),
VEmptyView(24),
_item(
'${S.of(context).who_can_issue}',
'谁可以发放',
couponProvider
.couponSunModel!.nickNameShow!),
Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
),
<<<<<<< HEAD
VEmptyView(24),
_item(
'${S.of(context).total_issuance_limit}',
couponProvider
.couponSunModel.grantNum ??
''),
=======
>>>>>>> v5.4.4+
// _select(
// '谁可以发放',
// '查看',
... ... @@ -836,16 +754,10 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
couponProvider.couponSunModel!.explain != ''
? VEmptyView(24)
: SizedBox(),
<<<<<<< HEAD
couponProvider.couponSunModel.explain != null &&
couponProvider.couponSunModel.explain != ''
? _item('${S.of(context).coupon_description}', '')
=======
couponProvider.couponSunModel!.explain != null &&
couponProvider.couponSunModel!.explain != ''
? _item('券说明',
couponProvider.couponSunModel!.explain??'')
>>>>>>> v5.4.4+
: SizedBox(),
Container(
height: ScreenUtil().setWidth(2),
... ... @@ -873,13 +785,8 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
// ),
// VEmptyView(24),
_canUse(
<<<<<<< HEAD
'${S.of(context).activate_now}',
couponProvider.couponSunModel.status == '1'
=======
'立即启用',
couponProvider.couponSunModel!.status == '1'
>>>>>>> v5.4.4+
? true
: false),
VEmptyView(24),
... ... @@ -956,37 +863,6 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
),
if (couponProvider.couponSunModel!.liteQrcode != null)
HEmptyView(30),
<<<<<<< HEAD
RoundButton(
text: '${S.of(context).reuse}',
width: w(100),
gradientStart: MyColours.color_ffffff,
gradientEnd: MyColours.color_ffffff,
borderColor: MyColours.color_438E93,
textColor: MyColours.color_438E93,
height: ScreenUtil().setWidth(80),
radius: ScreenUtil().setWidth(14),
isBold: true,
fontSize: 28,
onPressed: () async {
//${S.of(context).reuse},跳转至编辑页面
bool needRefresh =
await NavigatorUtil.goCouponEditPage(context,
isMine:
couponProvider.couponSunModel.isType ==
'1'
? false
: true,
couponSunModel: couponProvider.couponSunModel);
if(needRefresh != null &&needRefresh){
if (Navigator.canPop(context)) {
Navigator.pop(context);
}
}
},
),
=======
if (couponProvider.couponSunModel!.isType == '3' ||
couponProvider.couponSunModel!.isType == '4')
RoundButton(
... ... @@ -1018,11 +894,10 @@ class _CouponDetailPageState extends State<CouponDetailPage> {
}
},
),
>>>>>>> v5.4.4+
HEmptyView(30),
Expanded(
child: RoundButton(
text: '${S.of(context).share_with_customer}',
text: '分享给客户',
height: ScreenUtil().setWidth(80),
radius: ScreenUtil().setWidth(14),
isBold: false,
... ...
... ... @@ -21,7 +21,6 @@ import 'package:one_key/widgets/system_app_bar.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import '../../generated/l10n.dart';
import '../../models/coupon_model.dart';
import '../../models/filter_btn_model.dart';
import '../../models/upload_img_model.dart';
... ... @@ -204,8 +203,6 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
}
});
<<<<<<< HEAD
=======
if (widget.couponSunModel != null) {
_couponNameEditControl.text = widget.couponSunModel!.aname ?? "";
_couponRequireEditControl.text = widget.couponSunModel!.desc ?? "";
... ... @@ -264,60 +261,8 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
}
}
>>>>>>> v5.4.4+
WidgetsBinding.instance.addPostFrameCallback((_) {
// _couponNetworkData(0);
fromDate = '${S.of(context).click_to_select}'; //有效期开始时间
endDate = '${S.of(context).click_to_select}'; //有效期结束时间
if (widget.couponSunModel != null) {
_couponNameEditControl.text = widget.couponSunModel.aname;
_couponRequireEditControl.text = widget.couponSunModel.desc;
_couponExplainEditControl.text = widget.couponSunModel.explain;
DateTime dateTimes = DateTime.fromMillisecondsSinceEpoch(
int.parse(widget.couponSunModel.stime.toString()) * 1000);
fromDate = DateUtil.formatDate(dateTimes, format: DateFormats.y_mo_d);
DateTime dateTimee = DateTime.fromMillisecondsSinceEpoch(
int.parse(widget.couponSunModel.etime.toString()) * 1000);
endDate = DateUtil.formatDate(dateTimee, format: DateFormats.y_mo_d);
swichState = widget.couponSunModel.status == '1' ? true : false;
if (widget.isMine) {
//${S.of(context).my_coupons}
} else {
//店铺
swichHexiao = widget.couponSunModel.isExamine == '1' ? true : false;
_priceControl.text = widget.couponSunModel.price;
money = widget.couponSunModel.use.isCash;
dish = widget.couponSunModel.use.isDish;
discount = widget.couponSunModel.use.isDiscount;
moneyControl.text = widget.couponSunModel.use.cash;
discountControl.text = widget.couponSunModel.use.discount;
dishControl.text = widget.couponSunModel.use.dish;
if (widget.couponSunModel.use.images.length > 0) {
widget.couponSunModel.use.images.forEach((element) {
UploadImgModel uploadImgModel = UploadImgModel();
uploadImgModel.qiniuUrl = element;
uploadImgModel.process = 1;
img.add(uploadImgModel);
imgAll.add(element); //初始化数据,同步数据库数据
});
}
limitNone = widget.couponSunModel.expDate.isNone ? true : false;
limitBirthday =
widget.couponSunModel.expDate.isBirthday ? true : false;
limitWeek = widget.couponSunModel.expDate.isWeek ? true : false;
weekShow = widget.couponSunModel.expDate.weekShow ?? '点击设置可用日期';
weekData = widget.couponSunModel.expDate.weekData ?? [];
uids = widget.couponSunModel.uidList;
_limitNumControl.text = widget.couponSunModel.grantNum;
}
}
if (weekData.length == 0) {
_initWeekData();
}
... ... @@ -363,14 +308,13 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
FilterBtnModel filterBtnModel = FilterBtnModel();
filterBtnModel.selectNoon = false;
filterBtnModel.selectNig = false;
filterBtnModel.title = S.of(context).sunday;
filterBtnModel.title = '周日';
weekData.add(filterBtnModel);
for (int i = 1; i < 7; i++) {
FilterBtnModel filterBtnModel = FilterBtnModel();
filterBtnModel.selectNoon = false;
filterBtnModel.selectNig = false;
filterBtnModel.title =
Utils.getWeekLocal('周${Utils.formatWeekDayNum(i)}', context);
filterBtnModel.title = '周${Utils.formatWeekDayNum(i,context)}';
weekData.add(filterBtnModel);
}
FilterBtnModel filterBtnModel1 = FilterBtnModel();
... ... @@ -390,15 +334,10 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
"uid": Provider.of<UserModel>(context, listen: false).user!.openid,
"aname": _couponNameEditControl.text.trim(),
"desc": _couponRequireEditControl.text.trim(),
"stime": fromDate == '${S.of(context).click_to_select}'
"stime": fromDate == '点击选择'
? ""
<<<<<<< HEAD
: '${(DateUtil.getDateMsByTimeStr(from) / 1000).floor()}',
"etime": endDate == '${S.of(context).click_to_select}'
=======
: '${(DateUtil.getDateMsByTimeStr(from)! / 1000).floor()}',
"etime": endDate == '点击选择'
>>>>>>> v5.4.4+
? ''
: '${(DateUtil.getDateMsByTimeStr(end)! / 1000).floor()}',
"explain": _couponExplainEditControl.text,
... ... @@ -521,7 +460,7 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
// cursorColor:
// widget.isSelect ? Colors.white : MyColours.color_199095,
//输入文本的样式
inputFormatters: title == '${S.of(context).coupon_name}'
inputFormatters: title == '券名称'
? [LengthLimitingTextInputFormatter(15)]
: title == '券金额' ||
title == '领取后有效天数' ||
... ... @@ -677,7 +616,7 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
Spacer(),
Text(hintText,
style: TextStyle(
color: hintText == '${S.of(context).click_to_select}'
color: hintText == '点击选择'
? MyColours.color_999999
: MyColours.color_515151,
fontSize: ScreenUtil().setSp(32),
... ... @@ -694,7 +633,7 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
);
}
///${S.of(context).coupon_description}
///券说明
Widget _explain(String title, String hintText) {
return Container(
// height: ScreenUtil().setWidth(380),
... ... @@ -774,14 +713,9 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
);
}
<<<<<<< HEAD
///是否${S.of(context).activate_now}
Widget _canUse(String title, bool swich, GestureTapCallback onTap) {
=======
///是否立即启用
Widget _canUse(String title, bool swich, GestureTapCallback onTap,
{bool isBig = true}) {
>>>>>>> v5.4.4+
return InkWell(
onTap: onTap,
child: Container(
... ... @@ -949,38 +883,6 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
child: Column(
children: [
VEmptyView(56),
<<<<<<< HEAD
_item(
'${S.of(context).coupon_type}',
widget.isMine
? '${S.of(context).my_coupons}'
: '${S.of(context).shop_coupons}'),
Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
),
VEmptyView(24),
widget.isMine
? SizedBox()
: _canUse('${S.of(context).redeemable}',
swichHexiao, () {
setState(() {
swichHexiao = !swichHexiao;
});
}),
widget.isMine
? SizedBox()
: Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
),
widget.isMine ? SizedBox() : VEmptyView(24),
_textfield(
'${S.of(context).coupon_name}',
'例:9折券/200元代金券/菜品券',
_couponNameEditControl,
_nameFocusNode),
=======
// _item('券类型', widget.isMine ? '我的优惠券' : '店铺优惠券'),
// Container(
// height: ScreenUtil().setWidth(2),
... ... @@ -1003,7 +905,6 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
// widget.isMine ? SizedBox() : VEmptyView(24),
_textfield('券名称', '点击输入券名称',
_couponNameEditControl, _nameFocusNode),
>>>>>>> v5.4.4+
Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
... ... @@ -1025,34 +926,13 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
if (!widget.isMine)
Column(
children: [
<<<<<<< HEAD
//${S.of(context).selling_price}
_textfield(
'${S.of(context).selling_price}',
'默认0元,可以免费发放',
_priceControl,
_priceFocusNode,
textInputType:
TextInputType.numberWithOptions(
decimal: true)),
Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
),
// VEmptyView(24),
//${S.of(context).coupon_use}
VEmptyView(56),
=======
// VEmptyView(24),
//券用途
>>>>>>> v5.4.4+
Container(
alignment: Alignment.centerLeft,
child: Text(
'${S.of(context).coupon_use}',
'券用途',
style: TextStyle(
color: Color.fromRGBO(0, 0, 0, 0.9),
fontWeight: FontWeight.bold,
... ... @@ -1063,8 +943,7 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
Row(
children: [
HEmptyView(30),
_itemRadioWidget(money,
'${S.of(context).cash_voucher}',
_itemRadioWidget(money, '代金券',
onTap: () {
if (!money) {
setState(() {
... ... @@ -1076,8 +955,7 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
}
}),
Spacer(),
_itemRadioWidget(discount,
'${S.of(context).discount_voucher}',
_itemRadioWidget(discount, '折扣券',
onTap: () {
if (!discount) {
setState(() {
... ... @@ -1089,8 +967,7 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
}
}),
Spacer(),
_itemRadioWidget(dish,
'${S.of(context).dish_voucher}',
_itemRadioWidget(dish, '菜品券',
onTap: () {
if (!dish) {
setState(() {
... ... @@ -1106,11 +983,8 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
VEmptyView(30),
if (money)
_textfieldSelect(
'${S.of(context).amount}:',
'点击输入代金券金额',
moneyControl,
moneyFocusNode,
_textfieldSelect('金额:', '点击输入代金券金额',
moneyControl, moneyFocusNode,
subtitle: '元',
textInputType: TextInputType
.numberWithOptions()),
... ... @@ -1275,29 +1149,15 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
VEmptyView(48),
],
),
<<<<<<< HEAD
_textfield(
'${S.of(context).coupon_requirements}',
'例:无门槛/满2000元',
_couponRequireEditControl,
_requireFocusNode),
=======
_textfield('消费要求(0为无门槛)', '点击输入最低消费金额需求',
_couponRequireEditControl, _requireFocusNode),
>>>>>>> v5.4.4+
Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
),
VEmptyView(24),
<<<<<<< HEAD
_select(
'${S.of(context).validity_from}', fromDate,
() {
=======
_select('活动开始于', fromDate, () {
>>>>>>> v5.4.4+
FocusScope.of(context)
.requestFocus(FocusNode()); //点击空白处隐藏键盘
//弹出时间选择器
... ... @@ -1331,12 +1191,7 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
color: MyColours.color_E7E7E7,
),
VEmptyView(24),
<<<<<<< HEAD
_select('${S.of(context).validity_to}', endDate,
() {
=======
_select('活动结束于', endDate, () {
>>>>>>> v5.4.4+
FocusScope.of(context)
.requestFocus(FocusNode()); //点击空白处隐藏键盘
//弹出时间选择器
... ... @@ -1454,127 +1309,6 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
),
child: Column(
children: [
<<<<<<< HEAD
//${S.of(context).usage_limit}
VEmptyView(24),
Container(
alignment: Alignment.centerLeft,
child: Text(
'${S.of(context).usage_limit}',
style: TextStyle(
color: Color.fromRGBO(0, 0, 0, 0.9),
fontWeight: FontWeight.bold,
fontSize: ScreenUtil().setSp(32)),
),
),
VEmptyView(40),
Row(
children: [
HEmptyView(30),
_itemRadioWidget(
limitNone, '${S.of(context).none}',
onTap: () {
if (!limitNone) {
setState(() {
limitNone = true;
limitWeek = false;
limitBirthday = false;
});
}
}),
Spacer(),
_itemRadioWidget(limitWeek,
'${S.of(context).weekly}',
onTap: () {
if (!limitWeek) {
setState(() {
limitWeek = true;
limitNone = false;
limitBirthday = false;
});
}
}),
Spacer(),
_itemRadioWidget(limitBirthday,
'${S.of(context).members_birthday}',
onTap: () {
if (!limitBirthday) {
setState(() {
limitBirthday = true;
limitNone = false;
limitWeek = false;
});
}
}),
HEmptyView(30),
],
),
if (limitWeek) VEmptyView(30),
if (limitWeek)
_select1(weekShow, '', () async {
FocusScope.of(context).requestFocus(
FocusNode()); //点击空白处隐藏键盘
//弹出时间选择器
// showPickerDateTime(context);
showDateSelWidget = false;
List<FilterBtnModel> data = await DialogUtil
.openCoponsWeekSelectModalBottomSheet(
context, weekData);
if (data != null) {
//改变了
weekData = [];
weekData.addAll(data);
weekShow = '';
String noonStr = '午餐:';
String nightStr = '晚餐:';
weekData.forEach((element) {
if (element.selectNoon) {
noonStr += '${element.title} ';
}
if (element.selectNig) {
nightStr += '${element.title} ';
}
});
if (noonStr.endsWith(' ')) {
noonStr = noonStr.substring(
0, noonStr.length - 1);
}
if (nightStr.endsWith(' ')) {
nightStr = nightStr.substring(
0, nightStr.length - 1);
}
if (noonStr == '午餐:' &&
nightStr == '晚餐:') {
weekShow = '点击设置可用日期';
} else {
if (noonStr != '午餐:' &&
nightStr != '晚餐:') {
weekShow =
noonStr + '\n' + nightStr;
} else if (noonStr != '午餐:') {
weekShow = noonStr;
} else {
weekShow = nightStr;
}
}
setState(() {});
}
}),
limitWeek ? VEmptyView(22) : VEmptyView(48),
Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
),
VEmptyView(48),
=======
_canUse('领取当日可用', isSameDay, () {
setState(() {
isSameDay = !isSameDay;
... ... @@ -1605,7 +1339,6 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
isAppointment = !isAppointment;
});
}, isBig: false),
>>>>>>> v5.4.4+
],
),
),
... ... @@ -1781,14 +1514,8 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
widget.isMine ? VEmptyView(48) : VEmptyView(24),
widget.isMine
? SizedBox()
<<<<<<< HEAD
: _select('${S.of(context).who_can_issue}',
S.of(context).edit, () async {
Map temp = await NavigatorUtil
=======
: _select('谁可以发放', '编辑', () async {
Map? temp = await NavigatorUtil
>>>>>>> v5.4.4+
.goCouponToPersonnalPage(
context, uids);
if (temp != null &&
... ... @@ -1802,26 +1529,6 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
),
<<<<<<< HEAD
widget.isMine ? SizedBox() : VEmptyView(24),
widget.isMine
? SizedBox()
: _textfield(
'${S.of(context).total_issuance_limit}',
'点击输入总数量限制',
_limitNumControl,
_limitNumFocusNode,
textInputType: TextInputType.number),
widget.isMine
? SizedBox()
: Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
),
widget.isMine ? SizedBox() : VEmptyView(24),
_explain('${S.of(context).coupon_description}',
'例:可用包间,停车免费,不与店内其他活动共享等'),
=======
widget.isMine ? SizedBox() : VEmptyView(48),
_textfield('发放总量限制', '点击输入总数量限制',
_limitNumControl, _limitNumFocusNode,
... ... @@ -1832,11 +1539,8 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
),
VEmptyView(24),
_explain('券说明', '例:可用包间,停车免费,不与店内其他活动共享等'),
>>>>>>> v5.4.4+
VEmptyView(20),
_canUse(
'${S.of(context).activate_now}', swichState,
() {
_canUse('立即启用', swichState, () {
setState(() {
swichState = !swichState;
});
... ... @@ -1861,7 +1565,7 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
}
if (can) {
if (_couponNameEditControl.text.trim().length == 0) {
Utils.showToast('请填写${S.of(context).coupon_name}');
Utils.showToast('请填写券名称');
return;
}
if (_priceControl.text.trim().length == 0) {
... ... @@ -1921,27 +1625,8 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
return;
}
}
<<<<<<< HEAD
if (_couponRequireEditControl.text.trim().length == 0) {
Utils.showToast('请填写券要求');
return;
}
if (fromDate == '${S.of(context).click_to_select}') {
Utils.showToast('请选择有效期起始时间');
return;
}
if (endDate == '${S.of(context).click_to_select}') {
Utils.showToast('请选择有效期结束时间');
return;
}
if (DateUtil.getDateTime(endDate)
.compareTo(DateUtil.getDateTime(fromDate)) <
0) {
Utils.showToast('有效期结束时间不能早于起始时间');
=======
if (_limitNumControl.text.trim().length == 0) {
Utils.showToast('请填写发放总量限制');
>>>>>>> v5.4.4+
return;
}
// bool isNumber = Utils.isInteger(
... ... @@ -1962,15 +1647,9 @@ class _CouponEidtPageState extends State<CouponEidtPage> {
_createNewCoupon();
}
},
<<<<<<< HEAD
text: '${S.of(context).create_now}',
fontSize: 24,
isBold: false,
=======
text: '立即创建',
fontSize: 32,
isBold: true,
>>>>>>> v5.4.4+
height: ScreenUtil().setWidth(37 * 2),
width: ScreenUtil().setWidth(130 * 2),
radius: ScreenUtil().setWidth(22),
... ...
... ... @@ -11,8 +11,6 @@ import 'package:one_key/widgets/h_empty_view.dart';
import 'package:one_key/widgets/round_button.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import '../../generated/l10n.dart';
class CouponItemF extends StatefulWidget {
final String? from;
final VoidCallback? onPressed;
... ... @@ -61,75 +59,6 @@ class _CouponItemFState extends State<CouponItemF> {
5,
context);
}
<<<<<<< HEAD
return Column(children: [
Stack(
alignment: widget.from == 'select'
? Alignment.centerLeft
: AlignmentDirectional.topStart,
children: [
InkWell(
onTap: widget.onPressed,
child: Container(
// width: ScreenUtil().setWidth(610),
margin: EdgeInsets.fromLTRB(
ScreenUtil().setWidth(40),
ScreenUtil().setWidth(0),
ScreenUtil().setWidth(40),
ScreenUtil().setWidth(0)),
decoration: BoxDecoration(
color: MyColours.color_ffffff,
boxShadow: [
BoxShadow(
spreadRadius: ScreenUtil().setWidth(2),
color: Color.fromRGBO(0, 0, 0, 0.25),
offset: Offset(0, ScreenUtil().setWidth(8)),
blurRadius: ScreenUtil().setWidth(8))
],
borderRadius: BorderRadius.all(
Radius.circular(ScreenUtil().setWidth(16)),
),
),
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
height: ScreenUtil().setWidth(40),
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(24)),
decoration: BoxDecoration(
color: widget.from == 'history'
? MyColours.color_BFC4D4
: notSelect
? sunModel.isType == '1'
? sunModel.isMarking
? MyColours.color_00A870
: MyColours.color_438E93
: MyColours.color_ED7B2F
: MyColours.color_999999,
borderRadius: BorderRadius.only(
topLeft:
Radius.circular(ScreenUtil().setWidth(16)),
topRight: Radius.circular(
ScreenUtil().setWidth(16)))),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
sunModel.isType == '1'
? sunModel.isExamine == '1'
? '店铺优惠券(核销)'
: '${S.of(context).shop_coupons}'
: '${S.of(context).my_coupons}',
style: TextStyle(
color: MyColours.color_ffffff,
fontSize: ScreenUtil().setSp(24)),
),
InkWell(
onTap: widget.onPressedSwich,
child: Text(
=======
return InkWell(
onTap: widget.onPressed,
child: Column(children: [
... ... @@ -205,7 +134,6 @@ class _CouponItemFState extends State<CouponItemF> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
>>>>>>> v5.4.4+
sunModel.isType == '1'
? '付费优惠券'
: sunModel.isType == '2'
... ...
... ... @@ -20,7 +20,6 @@ import 'package:provider/provider.dart';
import 'package:barcode_scan2/barcode_scan2.dart';
import '../../app.dart';
import '../../generated/l10n.dart';
import '../../provider/marketing_center_provider.dart';
import '../../utils/dialog_util.dart';
import '../../utils/misc.dart';
... ... @@ -220,24 +219,17 @@ class _CouponPageState extends State<CouponPage> with TickerProviderStateMixin {
tabs: [
Tab(
text: S.of(context).all,
text: "全部",
),
Tab(
<<<<<<< HEAD
text: "${S.of(context).shop_coupons}",
),
Tab(
text:"${S.of(context).my_coupons}" ,
=======
text: "免费代金券",
),
Tab(
text: "付费优惠券",
>>>>>>> v5.4.4+
),
Tab(
text:"${S.of(context).redemption_records}",
text: "核销记录",
)
],
indicatorColor: MyColours.color_438E93,
... ... @@ -307,13 +299,8 @@ class _CouponPageState extends State<CouponPage> with TickerProviderStateMixin {
tabController!.index == 3
? Expanded(
child: RoundButton(
<<<<<<< HEAD
text: S.of(context).scan_to_redeem,
width: tabController.index == 3
=======
text: '扫码核销付费券',
width: tabController!.index == 3
>>>>>>> v5.4.4+
? double.infinity
: w(218),
gradientStart: MyColours.color_ffffff,
... ... @@ -330,13 +317,8 @@ class _CouponPageState extends State<CouponPage> with TickerProviderStateMixin {
),
)
: RoundButton(
<<<<<<< HEAD
text: S.of(context).scan_to_redeem,
width: w(100),
=======
text: '扫码核销付费券',
width: w(218),
>>>>>>> v5.4.4+
gradientStart: MyColours.color_ffffff,
gradientEnd: MyColours.color_ffffff,
borderColor: MyColours.color_438E93,
... ... @@ -353,11 +335,7 @@ class _CouponPageState extends State<CouponPage> with TickerProviderStateMixin {
if (tabController!.index != 3)
Expanded(
child: RoundButton(
<<<<<<< HEAD
text: '${S.of(context).create_new_coupon}',
=======
text: '创建新券',
>>>>>>> v5.4.4+
height: ScreenUtil().setWidth(80),
radius: ScreenUtil().setWidth(14),
isBold: true,
... ...
... ... @@ -16,7 +16,6 @@ import 'package:one_key/widgets/v_empty_view.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:provider/provider.dart';
import '../../generated/l10n.dart';
import '../../models/coupon_model.dart';
import '../../models/user.dart';
import '../../res/colors.dart';
... ... @@ -98,13 +97,8 @@ class _CouponPosterPageState extends State<CouponPosterPage> {
@override
Widget build(BuildContext context) {
<<<<<<< HEAD
User user = Provider.of<UserModel>(context, listen: false).user;
String times = '${S.of(context).operating_hours}:';
=======
User user = Provider.of<UserModel>(context, listen: false).user!;
String times = '营业时间:';
>>>>>>> v5.4.4+
if (user.morning != "") {
times += user.morning!;
}
... ... @@ -433,7 +427,7 @@ class _CouponPosterPageState extends State<CouponPosterPage> {
HEmptyView(30),
Expanded(
child: RoundButton(
text: '${S.of(context).share_with_customer}',
text: '分享给客户',
height: ScreenUtil().setWidth(80),
radius: ScreenUtil().setWidth(14),
isBold: false,
... ...
... ... @@ -17,8 +17,6 @@ import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
// import 'package:sendsms/sendsms.dart';
import '../../generated/l10n.dart';
class CouponSelectPage extends StatefulWidget {
final String? from;
final bool? hasModify;
... ... @@ -119,7 +117,7 @@ class _CouponSelectPageState extends State<CouponSelectPage> {
// color: Colors.red,
alignment: Alignment.center,
child: Text(
'${S.of(context).select_all}',
'全选',
style: TextStyle(
color: MyColours.color_199095,
fontSize: ScreenUtil().setSp(34)),
... ...
... ... @@ -7,11 +7,7 @@ import 'package:one_key/widgets/page_exception.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:provider/provider.dart';
<<<<<<< HEAD
import '../../generated/l10n.dart';
=======
import '../../constant/state.dart';
>>>>>>> v5.4.4+
import '../../models/coupon_model.dart';
import '../../models/recharge_list_model.dart';
import '../../provider/coupon_provider.dart';
... ... @@ -267,65 +263,6 @@ class _CouponSettingPageState extends State<CouponSettingPage> {
bool select = false,
VoidCallback? onPressedSelect,
}) {
<<<<<<< HEAD
return Container(
margin: EdgeInsets.only(left: w(21), top: w(12), right: w(21)),
child: Column(
children: [
InkWell(
onTap: onPressedSelect,
child: Row(
children: [
Image.asset(
Utils.getImgPath(select ? 'f_select' : 'f_select_not'),
width: w(20),
),
HEmptyView(20),
Text(
S.of(context).recommend_in_store_coupon_promotions,
style: TextStyle(
fontSize: font(14), color: MyColours.color_515151),
),
Spacer(),
RoundButton(
text: S.of(context).select_promotion,
width: w(72),
height: w(22),
gradientStart: MyColours.color_ffffff,
gradientEnd: MyColours.color_ffffff,
borderColor: MyColours.color_438E93,
textColor: MyColours.color_438E93,
radius: r(11),
fontSize: 24,
isBold: true,
onPressed: onPressed,
)
],
)),
VEmptyView(20),
ListView.builder(
shrinkWrap: true,
controller: controller,
itemCount: couponDataList.length,
itemBuilder: (BuildContext context, int index) {
CouponSunModel couponData = couponDataList[index];
return _markingCuponItem(
couponData.aname,
_getCouponsDesc(couponData),
couponData.price ?? '',
couponData.use != null && couponData.use.isCash
? '${(double.parse(couponData.price) / double.parse(couponData.use.cash)) * 10}折'
: '',
'${S.of(context).switch_promotion}',
select: isCoupon, onPressedSelect: () {
setState(() {
isCoupon = !isCoupon;
});
});
})
],
),
=======
return Column(
children: [
Container(
... ... @@ -396,7 +333,6 @@ class _CouponSettingPageState extends State<CouponSettingPage> {
// });
})
],
>>>>>>> v5.4.4+
);
}
... ... @@ -560,69 +496,6 @@ class _CouponSettingPageState extends State<CouponSettingPage> {
return Scaffold(
backgroundColor: MyColours.color_ffffff,
appBar: SystemAppBar('优惠券设置'),
<<<<<<< HEAD
body: Column(
children: [
Expanded(
child: SingleChildScrollView(
controller: controller,
child: Column(
children: [
_headItem(S.of(context).marketing_promotions_in_reservation_schedule),
VEmptyView(24),
couponProvider.couponListSelect != null &&
couponProvider.couponListSelect.length > 0
? _markingCupon(
select: isCoupon,
onPressedSelect: () {
setState(() {
isCoupon = !isCoupon;
});
},
onPressed: () async {
//切换活动
Map temp =
await NavigatorUtil.goMarkingCouponSelectPage(
context, {'object': couponDataList});
if (temp != null && temp['coupon'] != null) {
couponDataList = temp['coupon'];
setState(() {});
}
})
: (couponProvider.couponListSelect == null ||
couponProvider.couponListSelect.length == 0)
? _markingItem(
S.of(context).recommend_in_store_coupon_promotions,
'当前没有可用优惠券,请创建优惠券后再来尝试。',
select: false,
)
: SizedBox(),
],
),
),
),
Container(
color: MyColours.color_ffffff,
padding: EdgeInsets.only(
left: w(45), right: w(45), top: w(12), bottom: w(25)),
child: RoundButton(
text: S.of(context).save,
gradientStart: MyColours.color_199095,
gradientEnd: MyColours.color_199095,
// borderColor: MyColours.color_999999,
radius: r(5),
fontSize: 34,
height: w(40),
isBold: true,
onPressed: () async {
_setCouponShow();
},
),
)
],
));
=======
body: Consumer<CouponProvider>(builder: (context, model, _) {
if (pageStateSetting != PageState.Success) {
return ExceptionPage(
... ... @@ -730,6 +603,5 @@ class _CouponSettingPageState extends State<CouponSettingPage> {
);
}
}));
>>>>>>> v5.4.4+
}
}
... ...
... ... @@ -12,8 +12,6 @@ import 'package:one_key/widgets/system_app_bar.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import '../../generated/l10n.dart';
class CouponToPersonnalPage extends StatefulWidget {
final String? uids;
final bool onlyShow;
... ... @@ -33,9 +31,8 @@ class _CouponToPersonnalPageState extends State<CouponToPersonnalPage> {
void initState() {
// TODO: implement initState
super.initState();
titleList = ['管理员', '店长', '客户经理', '收银员', '服务员', '前台', '迎宾'];
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
titleList = ['${S.of(context).administrator}', '${S.of(context).shop_manager}', '${S.of(context).customer_manager}', '${S.of(context).cashier}', '${S.of(context).waiter}', '${S.of(context).front_desk}', '迎宾'];
_getAuthUserLists(showLoading: false);
});
... ... @@ -386,26 +383,6 @@ class _CouponToPersonnalPageState extends State<CouponToPersonnalPage> {
bool select = false;
if (personnelProvider.dataMap != null) {
<<<<<<< HEAD
if (title == '${S.of(context).administrator}') {
data = personnelProvider.dataMap.admin.listdata;
select = personnelProvider.dataMap.admin.select;
} else if (title == '${S.of(context).shop_manager}') {
data = personnelProvider.dataMap.shopowner.listdata;
select = personnelProvider.dataMap.shopowner.select;
} else if (title == '${S.of(context).customer_manager}') {
data = personnelProvider.dataMap.manager.listdata;
select = personnelProvider.dataMap.manager.select;
} else if (title == '${S.of(context).cashier}') {
data = personnelProvider.dataMap.cashier.listdata;
select = personnelProvider.dataMap.cashier.select;
} else if (title == '${S.of(context).waiter}') {
data = personnelProvider.dataMap.waiter.listdata;
select = personnelProvider.dataMap.waiter.select;
} else if (title == '${S.of(context).front_desk}') {
data = personnelProvider.dataMap.reception.listdata;
select = personnelProvider.dataMap.reception.select;
=======
if (title == '管理员') {
data = personnelProvider.dataMap!.admin!.listdata;
select = personnelProvider.dataMap!.admin!.select;
... ... @@ -428,7 +405,6 @@ class _CouponToPersonnalPageState extends State<CouponToPersonnalPage> {
personnelProvider.dataMap!.reception!.listdata;
select =
personnelProvider.dataMap!.reception!.select;
>>>>>>> v5.4.4+
} else if (title == '迎宾') {
data = personnelProvider.dataMap!.welcome!.listdata;
select = personnelProvider.dataMap!.welcome!.select;
... ... @@ -444,74 +420,41 @@ class _CouponToPersonnalPageState extends State<CouponToPersonnalPage> {
return;
}
if (personnelProvider.dataMap != null) {
<<<<<<< HEAD
if (title == '${S.of(context).administrator}') {
personnelProvider.dataMap.admin.select =
=======
if (title == '管理员') {
personnelProvider.dataMap!.admin!.select =
>>>>>>> v5.4.4+
!personnelProvider
.dataMap!.admin!.select;
select = personnelProvider
<<<<<<< HEAD
.dataMap.admin.select;
} else if (title == '${S.of(context).shop_manager}') {
=======
.dataMap!.admin!.select;
} else if (title == '店长') {
>>>>>>> v5.4.4+
personnelProvider
.dataMap!.shopowner!.select =
!personnelProvider
.dataMap!.shopowner!.select;
select = personnelProvider
<<<<<<< HEAD
.dataMap.shopowner.select;
} else if (title == '${S.of(context).customer_manager}') {
personnelProvider.dataMap.manager.select =
=======
.dataMap!.shopowner!.select;
} else if (title == '客户经理') {
personnelProvider
.dataMap!.manager!.select =
>>>>>>> v5.4.4+
!personnelProvider
.dataMap!.manager!.select;
select = personnelProvider
<<<<<<< HEAD
.dataMap.manager.select;
} else if (title == '${S.of(context).cashier}') {
personnelProvider.dataMap.cashier.select =
=======
.dataMap!.manager!.select;
} else if (title == '收银员') {
personnelProvider
.dataMap!.cashier!.select =
>>>>>>> v5.4.4+
!personnelProvider
.dataMap!.cashier!.select;
select = personnelProvider
<<<<<<< HEAD
.dataMap.cashier.select;
} else if (title == '${S.of(context).waiter}') {
personnelProvider.dataMap.waiter.select =
=======
.dataMap!.cashier!.select;
} else if (title == '服务员') {
personnelProvider
.dataMap!.waiter!.select =
>>>>>>> v5.4.4+
!personnelProvider
.dataMap!.waiter!.select;
select = personnelProvider
<<<<<<< HEAD
.dataMap.waiter.select;
} else if (title == '${S.of(context).front_desk}') {
=======
.dataMap!.waiter!.select;
} else if (title == '前台') {
>>>>>>> v5.4.4+
personnelProvider
.dataMap!.reception!.select =
!personnelProvider
... ... @@ -573,7 +516,7 @@ class _CouponToPersonnalPageState extends State<CouponToPersonnalPage> {
),
HEmptyView(10),
Text(
'${S.of(context).select_all}',
'全选',
style: TextStyle(
fontSize: ScreenUtil()
.setWidth(28),
... ... @@ -616,35 +559,10 @@ class _CouponToPersonnalPageState extends State<CouponToPersonnalPage> {
personnelProvider.dataMap!.select =
false;
if (personnelProvider.dataMap != null) {
if (title == '${S.of(context).administrator}') {
if (title == '管理员') {
personnelProvider
.dataMap!.admin!.select = false;
select = personnelProvider
<<<<<<< HEAD
.dataMap.admin.select;
} else if (title == '${S.of(context).shop_manager}') {
personnelProvider.dataMap.shopowner
.select = false;
select = personnelProvider
.dataMap.shopowner.select;
} else if (title == '${S.of(context).customer_manager}') {
personnelProvider
.dataMap.manager.select = false;
select = personnelProvider
.dataMap.manager.select;
} else if (title == '${S.of(context).cashier}') {
personnelProvider
.dataMap.cashier.select = false;
select = personnelProvider
.dataMap.cashier.select;
} else if (title == '${S.of(context).waiter}') {
personnelProvider
.dataMap.waiter.select = false;
select = personnelProvider
.dataMap.waiter.select;
} else if (title == '${S.of(context).front_desk}') {
personnelProvider.dataMap.reception
=======
.dataMap!.admin!.select;
} else if (title == '店长') {
personnelProvider.dataMap!
... ... @@ -653,7 +571,6 @@ class _CouponToPersonnalPageState extends State<CouponToPersonnalPage> {
.dataMap!.shopowner!.select;
} else if (title == '客户经理') {
personnelProvider.dataMap!.manager!
>>>>>>> v5.4.4+
.select = false;
select = personnelProvider
.dataMap!.manager!.select;
... ... @@ -681,29 +598,10 @@ class _CouponToPersonnalPageState extends State<CouponToPersonnalPage> {
}
} else {
if (personnelProvider.dataMap != null) {
if (title == '${S.of(context).administrator}') {
if (title == '管理员') {
personnelProvider
.dataMap!.admin!.select = true;
select = personnelProvider
<<<<<<< HEAD
.dataMap.admin.select;
} else if (title == '${S.of(context).shop_manager}') {
personnelProvider.dataMap.shopowner
.select = true;
select = personnelProvider
.dataMap.shopowner.select;
} else if (title == '${S.of(context).customer_manager}') {
personnelProvider
.dataMap.manager.select = true;
select = personnelProvider
.dataMap.manager.select;
} else if (title == '${S.of(context).cashier}') {
personnelProvider
.dataMap.cashier.select = true;
select = personnelProvider
.dataMap.cashier.select;
} else if (title == '${S.of(context).waiter}') {
=======
.dataMap!.admin!.select;
} else if (title == '店长') {
personnelProvider.dataMap!
... ... @@ -721,15 +619,9 @@ class _CouponToPersonnalPageState extends State<CouponToPersonnalPage> {
select = personnelProvider
.dataMap!.cashier!.select;
} else if (title == '服务员') {
>>>>>>> v5.4.4+
personnelProvider
.dataMap!.waiter!.select = true;
select = personnelProvider
<<<<<<< HEAD
.dataMap.waiter.select;
} else if (title == '${S.of(context).front_desk}') {
personnelProvider.dataMap.reception
=======
.dataMap!.waiter!.select;
} else if (title == '前台') {
personnelProvider.dataMap!
... ... @@ -738,7 +630,6 @@ class _CouponToPersonnalPageState extends State<CouponToPersonnalPage> {
.dataMap!.reception!.select;
} else if (title == '迎宾') {
personnelProvider.dataMap!.welcome!
>>>>>>> v5.4.4+
.select = true;
select = personnelProvider
.dataMap!.welcome!.select;
... ... @@ -797,7 +688,7 @@ class _CouponToPersonnalPageState extends State<CouponToPersonnalPage> {
widget.onlyShow
? SizedBox()
: RoundButton(
text: S.of(context).save,
text: '保存',
width: ScreenUtil().setWidth(130 * 2),
height: ScreenUtil().setWidth(37 * 2),
radius: ScreenUtil().setWidth(22),
... ...
... ... @@ -19,7 +19,6 @@ import 'package:one_key/widgets/system_app_bar.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import '../../generated/l10n.dart';
import '../../models/IsExamineModel.dart';
import '../../utils/screen_util.dart';
import '../../widgets/page_exception.dart';
... ... @@ -87,7 +86,7 @@ class _CouponVerificationDetailPageState
Spacer(),
Text(hintText,
style: TextStyle(
color: hintText == '${S.of(context).click_to_select}'
color: hintText == '点击选择'
? MyColours.color_999999
: MyColours.color_515151,
fontSize: ScreenUtil().setSp(32),
... ... @@ -238,17 +237,10 @@ class _CouponVerificationDetailPageState
children: [
VEmptyView(56),
_item(
<<<<<<< HEAD
'${S.of(context).coupon_type}',
widget.isExamineSunModel.type == '1'
? '${S.of(context).shop_coupons}'
: '${S.of(context).my_coupons}'),
=======
'券类型',
widget.isExamineSunModel!.type == '1'
? '店铺优惠券'
: '我的优惠券'),
>>>>>>> v5.4.4+
Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
... ... @@ -261,11 +253,7 @@ class _CouponVerificationDetailPageState
),
VEmptyView(24),
_item(
<<<<<<< HEAD
'${S.of(context).coupon_name}', widget.isExamineSunModel.rechargeName ?? ""),
=======
'券名称', widget.isExamineSunModel!.rechargeName ?? ""),
>>>>>>> v5.4.4+
Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
... ... @@ -273,28 +261,20 @@ class _CouponVerificationDetailPageState
VEmptyView(24),
_item(
<<<<<<< HEAD
'${S.of(context).selling_price}', '${widget.isExamineSunModel.price ?? ''}元'),
=======
'销售价', '${widget.isExamineSunModel!.price ?? ''}元'),
>>>>>>> v5.4.4+
Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
),
VEmptyView(24),
<<<<<<< HEAD
_item('${S.of(context).coupon_requirements}', widget.isExamineSunModel.desc ?? ''),
=======
_item('券要求', widget.isExamineSunModel!.desc ?? ''),
>>>>>>> v5.4.4+
Container(
height: ScreenUtil().setWidth(2),
color: MyColours.color_E7E7E7,
),
VEmptyView(24),
_item(
'${S.of(context).validity_from}',
'有效期从',
Utils.getDateStrFromJiekou(
widget.isExamineSunModel!.stime)),
Container(
... ... @@ -303,7 +283,7 @@ class _CouponVerificationDetailPageState
),
VEmptyView(24),
_item(
'${S.of(context).validity_to}',
'有效期至',
Utils.getDateStrFromJiekou(
widget.isExamineSunModel!.etime)),
... ... @@ -314,21 +294,12 @@ class _CouponVerificationDetailPageState
),
VEmptyView(24),
_item(
<<<<<<< HEAD
'${S.of(context).usage_limit}',
widget.isExamineSunModel.expDate.isNone
? '${S.of(context).none}'
: widget.isExamineSunModel.expDate.isBirthday
? '${S.of(context).members_birthday}'
: widget.isExamineSunModel.expDate.isWeek
=======
'使用限制',
widget.isExamineSunModel!.expDate!.isNone
? '无'
: widget.isExamineSunModel!.expDate!.isBirthday
? '会员生日当天'
: widget.isExamineSunModel!.expDate!.isWeek
>>>>>>> v5.4.4+
? '每周指定日期餐段可用'
: ''),
if (widget.isExamineSunModel!.expDate!.isWeek)
... ... @@ -406,15 +377,9 @@ class _CouponVerificationDetailPageState
widget.isExamineSunModel!.explain != ''
? VEmptyView(24)
: SizedBox(),
<<<<<<< HEAD
widget.isExamineSunModel.explain != null &&
widget.isExamineSunModel.explain != ''
? _item('${S.of(context).coupon_description}', '')
=======
widget.isExamineSunModel!.explain != null &&
widget.isExamineSunModel!.explain != ''
? _item('券说明', '')
>>>>>>> v5.4.4+
: SizedBox(),
Container(
height: ScreenUtil().setWidth(2),
... ...
... ... @@ -18,7 +18,6 @@ import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import '../../constant/state.dart';
import '../../generated/l10n.dart';
import '../../utils/event_bus.dart';
import '../../utils/screen_util.dart';
import '../../widgets/page_exception.dart';
... ... @@ -148,7 +147,7 @@ class _VerificationCouponPageState extends State<VerificationCouponPage> {
}
});
//获取当前是周几
String weekday = '周${Utils.formatWeekDayNum(DateTime.now().weekday)}';
String weekday = '周${Utils.formatWeekDayNum(DateTime.now().weekday,context)}';
if ((currTimeIndex == 2 && noonWeek.contains(weekday)) ||
(currTimeIndex == 3 && nightWeek.contains(weekday))) {
//可用
... ... @@ -212,7 +211,7 @@ class _VerificationCouponPageState extends State<VerificationCouponPage> {
'优惠券详情',
onTap: () {
if (Navigator.canPop(context)) {
Navigator.pop(context);
Navigator.pop(context);
}
},
),
... ... @@ -242,23 +241,6 @@ class _VerificationCouponPageState extends State<VerificationCouponPage> {
_item(
model.orderRechargeByidSunModel!.activity!.use ==
null
<<<<<<< HEAD
? '${S.of(context).coupon_name}'
: '${S.of(context).coupon_use}',
model.orderRechargeByidSunModel.activity.use ==
null
? model.orderRechargeByidSunModel.activity
.aname
: model.orderRechargeByidSunModel.activity
.use.isCash
? '${S.of(context).cash_voucher}'
: model.orderRechargeByidSunModel
.activity.use.isDiscount
? '${S.of(context).discount_voucher}'
: model.orderRechargeByidSunModel
.activity.use.isDish
? '${S.of(context).dish_voucher}'
=======
? '券名称'
: '券用途',
model.orderRechargeByidSunModel!.activity!.use ==
... ... @@ -274,7 +256,6 @@ class _VerificationCouponPageState extends State<VerificationCouponPage> {
: model.orderRechargeByidSunModel!
.activity!.use!.isDish
? '菜品券'
>>>>>>> v5.4.4+
: '',
textColor: MyColours.color_438E93,
fontSize: 20),
... ... @@ -307,15 +288,8 @@ class _VerificationCouponPageState extends State<VerificationCouponPage> {
: model.orderRechargeByidSunModel!
.activity!.use!.isDish
? model
<<<<<<< HEAD
.orderRechargeByidSunModel
.activity
.use
.dish
=======
.orderRechargeByidSunModel!
.activity!.use!.dish!
>>>>>>> v5.4.4+
: '',
textColor: MyColours.color_438E93,
fontSize: 20),
... ... @@ -327,13 +301,8 @@ class _VerificationCouponPageState extends State<VerificationCouponPage> {
),
VEmptyView(24),
_item(
<<<<<<< HEAD
'${S.of(context).coupon_requirements}',
model.orderRechargeByidSunModel.activity.desc ??
=======
'券要求',
model.orderRechargeByidSunModel!.activity!.desc ??
>>>>>>> v5.4.4+
''),
Container(
height: ScreenUtil().setWidth(2),
... ... @@ -341,7 +310,7 @@ class _VerificationCouponPageState extends State<VerificationCouponPage> {
),
VEmptyView(24),
_item(
'${S.of(context).validity_from}',
'有效期从',
Utils.getDateStrFromJiekou(model
.orderRechargeByidSunModel!.activity!.stime)),
Container(
... ... @@ -350,7 +319,7 @@ class _VerificationCouponPageState extends State<VerificationCouponPage> {
),
VEmptyView(24),
_item(
'${S.of(context).validity_to}',
'有效期至',
Utils.getDateStrFromJiekou(model
.orderRechargeByidSunModel!.activity!.etime)),
// widget.couponSunModel.isType == '1'
... ... @@ -408,17 +377,6 @@ class _VerificationCouponPageState extends State<VerificationCouponPage> {
),
VEmptyView(24),
_item(
<<<<<<< HEAD
'${S.of(context).usage_limit}',
model.orderRechargeByidSunModel.activity
.expDate.isNone
? '${S.of(context).none}'
: model.orderRechargeByidSunModel
.activity.expDate.isBirthday
? '${S.of(context).members_birthday}'
: model.orderRechargeByidSunModel
.activity.expDate.isWeek
=======
'使用限制',
model.orderRechargeByidSunModel!.activity!
.expDate!.isNone
... ... @@ -428,7 +386,6 @@ class _VerificationCouponPageState extends State<VerificationCouponPage> {
? '会员生日当天'
: model.orderRechargeByidSunModel!
.activity!.expDate!.isWeek
>>>>>>> v5.4.4+
? model
.orderRechargeByidSunModel!
.activity!
... ... @@ -442,13 +399,8 @@ class _VerificationCouponPageState extends State<VerificationCouponPage> {
),
VEmptyView(24),
_item(
<<<<<<< HEAD
'${S.of(context).coupon_description}',
model.orderRechargeByidSunModel.activity
=======
'券说明',
model.orderRechargeByidSunModel!.activity!
>>>>>>> v5.4.4+
.explain ??
''),
... ... @@ -511,8 +463,6 @@ class _VerificationCouponPageState extends State<VerificationCouponPage> {
limitStr = '当前券只有生日可用,请核实后核销。';
}
DialogUtil.cupertinoAlertDialog(context,
lTitle: S.of(context).cancel,
rTitle: S.of(context).confirm,
textAlign: TextAlign.left,
content: '${limitStr}确定要核销当前优惠券吗?核销使用后,该券不能再次使用。',
rCallback: () async {
... ...
<<<<<<< HEAD
import 'dart:async';
// import 'package:amap_map_fluttify/amap_map_fluttify.dart';
import 'package:contacts_service/contacts_service.dart';
=======
import 'dart:async';
import 'package:amap_map_fluttify/amap_map_fluttify.dart';
>>>>>>> v5.4.4+
// import 'package:amap_map_fluttify/amap_map_fluttify.dart';
import 'package:contacts_service/contacts_service.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
... ... @@ -44,22 +39,14 @@ class MapChoicePointPage extends StatefulWidget {
}
class _MapChoicePointPageState extends State<MapChoicePointPage> {
<<<<<<< HEAD
final Completer<GoogleMapController> _controller =
Completer<GoogleMapController>();
// List<Poi> poiList;
static List<PoiModel> list = new List();
static List<PoiModel> list = [];
// static List<PoiModel> searchlist = new List();
PoiModel poiModel;
=======
AmapController? _controller;
List<Poi>? poiList;
static List<PoiModel?> list = [];
static List<PoiModel> searchlist = [];
PoiModel? poiModel;
>>>>>>> v5.4.4+
late PoiModel poiModel;
String keyword = "";
String? address = "";
String address = "";
bool isloading = true;
double latitude = 39.684670899;
... ... @@ -73,26 +60,18 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
final Places.GoogleMapsPlaces _places =
Places.GoogleMapsPlaces(apiKey: Constant.googleKey);
Places.PlacesSearchResponse _placesSearch;
late Places.PlacesSearchResponse _placesSearch;
// final _controllerKeywords = TextEditingController();
@override
void initState() {
super.initState();
<<<<<<< HEAD
if (widget.long != null && widget.long != '' && widget.long != 'null') {
longitude = double.parse(widget.long);
}
if (widget.lat != null && widget.lat != '' && widget.lat != 'null') {
latitude = double.parse(widget.lat);
=======
if (widget.long != null && widget.long != ''&&widget.long != 'null') {
longitude = double.parse(widget.long!);
}
if (widget.lat != null && widget.lat != ''&&widget.lat != 'null') {
if (widget.lat != null && widget.lat != '' && widget.lat != 'null') {
latitude = double.parse(widget.lat!);
>>>>>>> v5.4.4+
}
_kGooglePlex = CameraPosition(
... ... @@ -105,7 +84,7 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
});
}
Future<bool> checkLocationPermission() async {
Future<bool> checkLocationPermission() async {
PermissionStatus permissionStatus = await Permission.location.status;
if (permissionStatus == PermissionStatus.granted) {
return true;
... ... @@ -172,7 +151,6 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
// App.sp.setString("lng", "118.17630045");
} else {
<<<<<<< HEAD
if (widget.long == null ||
widget.long == '' ||
widget.long == 'null') {
... ... @@ -190,14 +168,6 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
_loadData(LatLng(latitude, longitude));
// _controller.setCenterCoordinate(
// LatLng(location.latLng.latitude, location.latLng.longitude));
=======
if (widget.long == null || widget.long == ''||widget.long == 'null') {
latitude = location.latLng!.latitude;
longitude = location.latLng!.longitude;
if (_controller != null) {
_controller!.setCenterCoordinate(
LatLng(location.latLng!.latitude, location.latLng!.longitude));
>>>>>>> v5.4.4+
}
setState(() {});
... ... @@ -278,7 +248,7 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
text: keyword,
selection: TextSelection.fromPosition(TextPosition(
affinity: TextAffinity.downstream,
offset: keyword.length)),
offset: keyword?.length ?? 0)),
// 保持光标在最后
)),
decoration: InputDecoration(
... ... @@ -341,7 +311,6 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
height: 300,
child: Stack(
children: <Widget>[
<<<<<<< HEAD
GoogleMap(
// markers: ,
mapType: MapType.normal,
... ... @@ -364,31 +333,6 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
onCameraMove: (position) {
// _loadData(LatLng(
// position.target.latitude, position.target.longitude));
=======
AmapView(
showZoomControl: false,
centerCoordinate: LatLng(latitude, longitude),
maskDelay: Duration(milliseconds: 500),
zoomLevel: 16,
onMapCreated: (controller) async {
_controller = controller;
_controller!
.setCenterCoordinate(LatLng(latitude, longitude));
// if (await requestPermission(PermissionGroup.location)) {
// await controller.showMyLocation(true);
// await controller?.showLocateControl(true);
// final latLng = await _controller?.getLocation(
// delay: Duration(seconds: 2));
// await enableFluttifyLog(false); // 关闭log
// _loadData(latLng);
// } else {
// //无权限
// _showLocPemWidget();
// }
},
onMapMoveEnd: (MapMove move) async {
_loadData(move.coordinate!);
>>>>>>> v5.4.4+
},
),
// showZoomControl: false,
... ... @@ -439,7 +383,7 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
itemCount: list.length,
itemBuilder: (BuildContext context, int position) {
print("itemBuilder" + list.length.toString());
PoiModel item = list[position]!;
PoiModel item = list[position];
return InkWell(
child: Column(
children: <Widget>[
... ... @@ -470,7 +414,7 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
EdgeInsets.only(top: 5, bottom: 5, left: 18),
alignment: Alignment.centerLeft,
child: Text(
item.address!,
item.address,
style: TextStyle(
fontSize: 14,
color: Color(0xFF646464),
... ... @@ -487,19 +431,11 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
// LatLng(item.latLng.latitude, item.latLng.longitude),
// zoomLevel: 16);
if (Navigator.canPop(context)) {
<<<<<<< HEAD
Navigator.pop(context, {
'address': item.address,
'lat': item.latLng.latitude.toString(),
'lng': item.latLng.longitude.toString()
});
=======
Navigator.pop(context, {
'address': item.address,
'lat': item.latLng!.latitude.toString(),
'lng': item.latLng!.longitude.toString()
});
>>>>>>> v5.4.4+
}
},
);
... ... @@ -551,7 +487,7 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
// ReGeocode reGeocodeList = await AmapSearch.instance.searchReGeocode(
// latLng,
// );
address = place.street;
address = place.street ??'';
// // print(await reGeocodeList.toFutureString());
// address = reGeocodeList.formatAddress;
... ... @@ -585,7 +521,6 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
// /通过经纬度,获取当前位置的地理位置
list.clear();
list.add(poiModel);
<<<<<<< HEAD
for (var poi in response.results) {
String title = await poi.name;
// String cityName = await poi.cityName;
... ... @@ -594,19 +529,10 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
// LatLng latLng = await poi.;
// String bussniss = poi.businessArea;
LatLng latLng =
LatLng(poi.geometry.location.lat, poi.geometry.location.lng);
LatLng(poi.geometry!.location.lat, poi.geometry!.location.lng);
List<Placemark> placemarks =
await placemarkFromCoordinates(latLng.latitude, latLng.longitude);
Placemark place = placemarks[0];
=======
for (var poi in poiList) {
String? title = await poi.title;
String? cityName = await poi.cityName;
String? provinceName = await poi.provinceName;
String? address = await poi.address;
LatLng? latLng = await poi.latLng;
String? bussniss = poi.businessArea;
>>>>>>> v5.4.4+
// print('Address: ${place.name}, ${place.locality}, ${place.country}');
// address = '${place.administrativeArea}, ${place.locality}, ${place.subLocality},${place.thoroughfare},${place.subThoroughfare}';
... ... @@ -615,7 +541,7 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
// ReGeocode reGeocodeList = await AmapSearch.instance.searchReGeocode(
// latLng,
// );
String address = place.street;
String address = place.street ??'';
list.add(new PoiModel(title.toString(), address.toString(), latLng));
}
... ... @@ -638,27 +564,14 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
);
list.clear();
list.add(poiModel);
<<<<<<< HEAD
for (var poi in response.results) {
String title = await poi.name;
// LatLng latLng = await poi.latLng;
// String cityName = await poi.cityName;
// String provinceName = await poi.provinceName;
String address = await poi.formattedAddress??'';
LatLng latLng = LatLng(poi.geometry.location.lat,poi.geometry.location.lng);
LatLng latLng = LatLng(poi.geometry!.location.lat,poi.geometry!.location.lng);
list.add(new PoiModel(title.toString(), address.toString(), latLng));
=======
for (var poi in poiList) {
String? title = await poi.title;
LatLng? latLng = await poi.latLng;
String? cityName = await poi.cityName;
String? provinceName = await poi.provinceName;
String? address = await poi.address;
list.add(new PoiModel(
title.toString(),
provinceName.toString() + cityName.toString() + address.toString(),
latLng));
>>>>>>> v5.4.4+
}
setState(() {
isloading = false;
... ... @@ -668,9 +581,10 @@ class _MapChoicePointPageState extends State<MapChoicePointPage> {
}
class PoiModel {
LatLng? latLng;
LatLng latLng;
String title;
String? address;
String address;
PoiModel(this.title, this.address, this.latLng);
}
... ...
... ... @@ -783,11 +783,7 @@ class _EditReserverPageState extends State<EditReserverPage> {
)
: SizedBox(),
RoundButton(
<<<<<<< HEAD
text: widget.needBtn ? S.of(context).save_only : S.of(context).save,
=======
text: widget.needBtn! ? '仅保存' : '保存',
>>>>>>> v5.4.4+
fontSize: 28,
isBold: false,
height: ScreenUtil().setWidth(70),
... ...
... ... @@ -1207,31 +1207,17 @@ class _NoteBookChangeFPageState extends State<NoteBookChangeFPage> {
_addNameSuffix(userHistoryEntity.rname, _nameSuffix());
if (userHistoryEntity.rname == null || userHistoryEntity.rname == '') {
nameStr = _notebookDetailChangeModel.nameController.text;
<<<<<<< HEAD
if (nameStr.endsWith(S.of(context).ms)) {
nameStr = nameStr.replaceAll(S.of(context).ms, '');
if (nameStr!.endsWith(S.of(context).ms)) {
nameStr = nameStr!.replaceAll(S.of(context).ms, '');
}
if (nameStr.endsWith(S.of(context).mr)) {
nameStr = nameStr.replaceAll(S.of(context).mr, '');
if (nameStr!.endsWith(S.of(context).mr)) {
nameStr = nameStr!.replaceAll(S.of(context).mr, '');
}
if (nameStr.endsWith(S.of(context).company)) {
nameStr = nameStr.replaceAll(S.of(context).company, '');
if (nameStr!.endsWith(S.of(context).company)) {
nameStr = nameStr!.replaceAll(S.of(context).company, '');
}
if (nameStr.endsWith(S.of(context).vip)) {
nameStr = nameStr.replaceAll(S.of(context).vip, '');
=======
if (nameStr!.endsWith('女士')) {
nameStr = nameStr!.replaceAll('女士', '');
}
if (nameStr!.endsWith('先生')) {
nameStr = nameStr!.replaceAll('先生', '');
}
if (nameStr!.endsWith('公司')) {
nameStr = nameStr!.replaceAll('公司', '');
}
if (nameStr!.endsWith('贵宾')) {
nameStr = nameStr!.replaceAll('贵宾', '');
>>>>>>> v5.4.4+
if (nameStr!.endsWith(S.of(context).vip)) {
nameStr = nameStr!.replaceAll(S.of(context).vip, '');
}
} else {
nameStr = userHistoryEntity.rname;
... ... @@ -1404,11 +1390,7 @@ class _NoteBookChangeFPageState extends State<NoteBookChangeFPage> {
child: Scaffold(
backgroundColor: Colors.white,
appBar: SystemAppBar(
<<<<<<< HEAD
widget.detailEntity.id == "-1" ? "录入订座信息" : S.of(context).change_reservation, onTap: () {
=======
widget.detailEntity!.id == "-1" ? "录入订座信息" : "变更预订", onTap: () {
>>>>>>> v5.4.4+
widget.detailEntity!.id == "-1" ? "录入订座信息" : S.of(context).change_reservation, onTap: () {
if (Navigator.canPop(context)) {
Navigator.pop(context);
}
... ...
... ... @@ -241,11 +241,7 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> {
width: w(1),
))),
child: Text(
<<<<<<< HEAD
Utils.getDsoltLocal(element.mname,context),
=======
element.mname!,
>>>>>>> v5.4.4+
Utils.getDsoltLocal(element.mname!,context),
style: TextStyle(
color: '${currTimeIndex}' == element.ddateSolt
? MyColours.color_F8F9FD
... ... @@ -377,7 +373,7 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> {
date += ' ';
date += Utils.lunarCalendarHolidays(day)!;
date += ' ';
date += Utils.getWeekLocal("星期${Utils.formatWeekDayNum(day.weekday)}", context);
date += Utils.getWeekLocal("星期${Utils.formatWeekDayNum(day.weekday,context)}", context);
return date;
}
... ... @@ -726,31 +722,17 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> {
_addNameSuffix(userHistoryEntity.rname, _nameSuffix());
if (userHistoryEntity.rname == null || userHistoryEntity.rname == '') {
nameStr = _notebookDetailChangeModel.nameController.text;
<<<<<<< HEAD
if (nameStr.endsWith(S.of(context).ms)) {
nameStr = nameStr.replaceAll(S.of(context).ms, '');
if (nameStr!.endsWith(S.of(context).ms)) {
nameStr = nameStr!.replaceAll(S.of(context).ms, '');
}
if (nameStr.endsWith(S.of(context).mr)) {
nameStr = nameStr.replaceAll(S.of(context).mr, '');
if (nameStr!.endsWith(S.of(context).mr)) {
nameStr = nameStr!.replaceAll(S.of(context).mr, '');
}
if (nameStr.endsWith(S.of(context).company)) {
nameStr = nameStr.replaceAll(S.of(context).company,'');
if (nameStr!.endsWith(S.of(context).company)) {
nameStr = nameStr!.replaceAll(S.of(context).company,'');
}
if (nameStr.endsWith(S.of(context).vip)) {
nameStr = nameStr.replaceAll(S.of(context).vip, '');
=======
if (nameStr!.endsWith('女士')) {
nameStr = nameStr!.replaceAll('女士', '');
}
if (nameStr!.endsWith('先生')) {
nameStr = nameStr!.replaceAll('先生', '');
}
if (nameStr!.endsWith('公司')) {
nameStr = nameStr!.replaceAll('公司', '');
}
if (nameStr!.endsWith('贵宾')) {
nameStr = nameStr!.replaceAll('贵宾', '');
>>>>>>> v5.4.4+
if (nameStr!.endsWith(S.of(context).vip)) {
nameStr = nameStr!.replaceAll(S.of(context).vip, '');
}
} else {
nameStr = userHistoryEntity.rname;
... ... @@ -1932,16 +1914,9 @@ class _NoteBookChangeFPageOnlyState extends State<NoteBookChangeFPageOnly> {
_notebookDetailChangeModel
.phoneController,
focusNode: _phoneNode,
<<<<<<< HEAD
inputFormatters: <
TextInputFormatter>[
// LengthLimitingTextInputFormatter(
// 11) //限制长度
=======
inputFormatters: <TextInputFormatter>[
LengthLimitingTextInputFormatter(
11) //限制长度
>>>>>>> v5.4.4+
],
// textAlignVertical: TextAlignVertical.top,
decoration: InputDecoration(
... ...
... ... @@ -249,12 +249,8 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
reserveDepositList =
detailModel!.detailModelAllSunModel!.reserveDepositInfo;
remarkImgs = [];
<<<<<<< HEAD
server =
detailModel.detailModelAllSunModel.serveName ?? S.of(context).modify;
=======
server = detailModel!.detailModelAllSunModel!.serveName ?? '修改';
>>>>>>> v5.4.4+
detailModel!.detailModelAllSunModel!.serveName ?? S.of(context).modify;
serveruid = detailModel!.detailModelAllSunModel!.serveUid;
... ... @@ -1612,19 +1608,11 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
///底部弹框,设置时间30分钟间隔布局
_showDateChooseWidget(BuildContext context) async {
<<<<<<< HEAD
String title = S.of(context).breakfast;
if (detailModel.detailModelAllSunModel.ddateSolt == '2') {
title = S.of(context).lunch;
} else if (detailModel.detailModelAllSunModel.ddateSolt == '3') {
title = S.of(context).dinner;
=======
String title = '早餐';
if (detailModel!.detailModelAllSunModel!.ddateSolt == '2') {
title = '午餐';
title = S.of(context).lunch;
} else if (detailModel!.detailModelAllSunModel!.ddateSolt == '3') {
title = '晚餐';
>>>>>>> v5.4.4+
title = S.of(context).dinner;
}
for (var itemSun in dailyList) {
... ... @@ -2784,19 +2772,12 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
// ),
// )),
RowMultiText(
<<<<<<< HEAD
S
.of(context)
.reservation_date,
detailModel
.detailModelAllSunModel
.ddateF(context),
=======
"预订日期",
detailModel!
.detailModelAllSunModel!
.ddateF,
>>>>>>> v5.4.4+
.ddateF(context),
textColor: MyColours
.color_515151)
]),
... ... @@ -2818,19 +2799,12 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
Expanded(
flex: 1,
child: RowMultiText(
<<<<<<< HEAD
S.of(context).time_slot,
Utils.getDsoltLocal(
detailModel
.detailModelAllSunModel
detailModel!
.detailModelAllSunModel!
.ddate_solt.trim(),
context),
=======
"时段",
detailModel!
.detailModelAllSunModel!
.ddate_solt,
>>>>>>> v5.4.4+
textColor: MyColours
.color_515151)),
HEmptyView(60),
... ... @@ -3183,15 +3157,9 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
.cusdem !=
''
? RowMultiText(
<<<<<<< HEAD
S.of(context).remarks,
detailModel
.detailModelAllSunModel
=======
"备注",
detailModel!
.detailModelAllSunModel!
>>>>>>> v5.4.4+
.cusdem,
textColor:
MyColours.color_515151)
... ... @@ -3919,16 +3887,11 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
],
),
<<<<<<< HEAD
RowMultiText(
S
.of(context)
.dedicated_manager,
'${detailModel.detailModelAllSunModel.placeOrderName ?? ''}',
=======
RowMultiText("专属经理",
'${detailModel!.detailModelAllSunModel!.placeOrderName ?? ''}',
>>>>>>> v5.4.4+
textColor: MyColours
.color_515151),
... ... @@ -4144,13 +4107,8 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
''))
? SizedBox()
: RowMultiText(
<<<<<<< HEAD
"${S.of(context).customer_name}",
detailModel.detailModelAllSunModel
=======
"客户姓名",
detailModel!.detailModelAllSunModel!
>>>>>>> v5.4.4+
.rnameStr ==
null
? ''
... ... @@ -4217,16 +4175,8 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
textColor: MyColours.color_515151,
textColorR: MyColours.color_438E93,
imageName: 'phone_detail')),
<<<<<<< HEAD
RowMultiText(
S
.of(context)
.dedicated_manager,
'${detailModel.detailModelAllSunModel.placeOrderName ?? ''}',
=======
RowMultiText("专属经理",
'${detailModel!.detailModelAllSunModel!.placeOrderName ?? ''}',
>>>>>>> v5.4.4+
textColor: MyColours
.color_515151),
(detailModel!.detailModelAllSunModel!
... ... @@ -5286,12 +5236,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
widget.uid ==
userModel.user!
.openid ||
<<<<<<< HEAD
(userModel.user
.role_name ==
=======
(userModel.user!.role_name ==
>>>>>>> v5.4.4+
'店长' &&
detailModel!
.detailModelAllSunModel!
... ... @@ -5384,12 +5329,7 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
widget.uid ==
userModel.user!
.openid ||
<<<<<<< HEAD
(userModel.user
.role_name ==
=======
(userModel.user!.role_name ==
>>>>>>> v5.4.4+
'店长' &&
detailModel!
.detailModelAllSunModel!
... ... @@ -5569,14 +5509,9 @@ class NotebookDetailPageState extends State<NotebookDetailPage> {
}
class TitleAndBtn extends StatelessWidget {
<<<<<<< HEAD
final String title;
final String titleZn;
final String content;
=======
final String? title;
final String? titleZn;
final String? content;
>>>>>>> v5.4.4+
// final List<String> list;
final NotebookDetailModel? detailModel;
final GestureTapCallback? callback;
... ... @@ -5640,15 +5575,9 @@ class TitleAndBtn extends StatelessWidget {
// HEmptyView(10),
InkWell(
onTap: () {
<<<<<<< HEAD
if (Utils.getAuthority(context, titleZn) ||
uid == userModel.user.openid) {
callback();
=======
if (Utils.getAuthority(context, title) ||
uid == userModel.user!.openid) {
callback!();
>>>>>>> v5.4.4+
}
},
child: Container(
... ... @@ -5658,13 +5587,8 @@ class TitleAndBtn extends StatelessWidget {
border: Border(
bottom: BorderSide(
width: ScreenUtil().setWidth(2),
<<<<<<< HEAD
color: (Utils.getAuthority(context, titleZn) ||
uid == userModel.user.openid)
=======
color: (Utils.getAuthority(context, title) ||
uid == userModel.user!.openid)
>>>>>>> v5.4.4+
? MyColours.color_199095
: MyColours.color_999999))),
child: Wrap(
... ... @@ -5679,13 +5603,8 @@ class TitleAndBtn extends StatelessWidget {
// decoration: TextDecoration.underline,
overflow: TextOverflow.ellipsis,
<<<<<<< HEAD
color: (Utils.getAuthority(context, titleZn) ||
uid == userModel.user.openid)
=======
color: (Utils.getAuthority(context, title) ||
uid == userModel.user!.openid)
>>>>>>> v5.4.4+
? MyColours.color_199095
: MyColours.color_999999,
fontSize: ScreenUtil().setSp(32)))
... ... @@ -5711,26 +5630,15 @@ class TitleAndBtn extends StatelessWidget {
}
class TitleAndTextfield extends StatefulWidget {
<<<<<<< HEAD
final BuildContext context;
final String title;
final String titleZn;
final String bookNum;
final List<String> pnumlist;
final NotebookDetailModel detailModel;
final String rid;
final TextEditingController controller;
final FocusNode focusNode;
=======
final BuildContext? context;
final String? title;
final String? titleZn;
final String? bookNum;
final List<String>? pnumlist;
final NotebookDetailModel? detailModel;
final String? rid;
final TextEditingController? controller;
final FocusNode? focusNode;
>>>>>>> v5.4.4+
final bool isPrice;
final VoidCallback? callback;
... ... @@ -5946,13 +5854,8 @@ class _TitleAndTextfieldState extends State<TitleAndTextfield>
bottom: BorderSide(
width: ScreenUtil().setWidth(2),
color:
<<<<<<< HEAD
Utils.getAuthority(context, widget.titleZn) ||
widget.uid == userModel.user.openid
=======
Utils.getAuthority(context, widget.title) ||
widget.uid == userModel.user!.openid
>>>>>>> v5.4.4+
? MyColours.color_199095
: MyColours.color_999999))),
child: IntrinsicWidth(
... ... @@ -5963,13 +5866,8 @@ class _TitleAndTextfieldState extends State<TitleAndTextfield>
// LengthLimitingTextInputFormatter(9),
// FilteringTextInputFormatter.digitsOnly
// ],
<<<<<<< HEAD
enabled: Utils.getAuthority(context, widget.titleZn) ||
widget.uid == userModel.user.openid,
=======
enabled: Utils.getAuthority(context, widget.title) ||
widget.uid == userModel.user!.openid,
>>>>>>> v5.4.4+
inputFormatters: widget.isPrice
? [
... ... @@ -5984,13 +5882,8 @@ class _TitleAndTextfieldState extends State<TitleAndTextfield>
//输入文本的样式
style: TextStyle(
fontSize: ScreenUtil().setSp(30),
<<<<<<< HEAD
color: Utils.getAuthority(context, widget.titleZn) ||
widget.uid == userModel.user.openid
=======
color: Utils.getAuthority(context, widget.title) ||
widget.uid == userModel.user!.openid
>>>>>>> v5.4.4+
? MyColours.color_199095
: MyColours.color_999999),
textAlign: TextAlign.right,
... ... @@ -5998,13 +5891,8 @@ class _TitleAndTextfieldState extends State<TitleAndTextfield>
decoration: InputDecoration(
hintText: S.of(context).modify,
hintStyle: TextStyle(
<<<<<<< HEAD
color: Utils.getAuthority(context, widget.titleZn) ||
widget.uid == userModel.user.openid
=======
color: Utils.getAuthority(context, widget.title) ||
widget.uid == userModel.user!.openid
>>>>>>> v5.4.4+
? MyColours.color_199095
: MyColours.color_999999,
fontSize: ScreenUtil().setSp(30),
... ...
... ... @@ -319,26 +319,6 @@ class _FeastBoardPageState extends State<FeastBoardPage> {
// color: MyColours.color_438E93),
outsideDaysVisible: false,
),
<<<<<<< HEAD
builders: CalendarBuilders(
dowWeekdayBuilder: (context, weekday) {
return Container(
color: MyColours.color_ffffff,
alignment: Alignment.center,
// margin:
// EdgeInsets.only(bottom: ScreenUtil().setWidth(20)),
padding: EdgeInsets.symmetric(
vertical: ScreenUtil().setWidth(15)),
child: Text(
Utils.getWeekLocal(weekday, context),
style: TextStyle(
color: MyColours.color_999999,
fontSize: ScreenUtil().setSp(32)),
),
);
},
dayBuilder: (context, date, _) {
=======
calendarBuilders: CalendarBuilders(
// weekNumberBuilder: (context, weekday) {
... ... @@ -357,7 +337,6 @@ class _FeastBoardPageState extends State<FeastBoardPage> {
// );
// },
defaultBuilder: (context, date, date2) {
>>>>>>> v5.4.4+
String keytemp = '${date.year}' +
'-' +
'${Utils.addZeroNumber(date.month)}' +
... ...
... ... @@ -236,27 +236,15 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
_getStaff(),
_getClassify(),
_getSetmeal()
<<<<<<< HEAD
]).then((results) {
print(results[0]);
if (results[0] && results[1] && results[2] && results[3]) {
//成功
if (widget.banquetDetail != null) {
menuSet.add(S.of(context).intent);
menuSet.add(S.of(context).select_table_1);
menuSet.add(S.of(context).deposit);
menuSet.add(S.of(context).contract);
=======
).wait;
>>>>>>> v5.4.4+
if (results.$1 && results.$2 && results.$3 && results.$4) {
//成功
if (widget.banquetDetail != null) {
menuSet.add('意向');
menuSet.add('选台');
menuSet.add('订金');
menuSet.add('签约');
menuSet.add(S.of(context).intent);
menuSet.add(S.of(context).select_table_1);
menuSet.add(S.of(context).deposit);
menuSet.add(S.of(context).contract);
//旧内容编辑
// ******意向******
... ... @@ -500,16 +488,9 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
// userModel.user.morning.isEmpty ? "00:00-00:00" : userModel.user.morning;
// noon = userModel.user.noon.isEmpty ? "00:00-00:00" : userModel.user.noon;
// night = userModel.user.night.isEmpty ? "00:00-00:00" : userModel.user.night;
<<<<<<< HEAD
storeBaseIndoProvider.dayDateData.forEach((element) {
xuantaiData[xuantaiSelIndex].dsoltList.add(dsoltModel(element.ddateSolt,
Utils.getDsoltLocal(element.mname.trim(), context)));
=======
storeBaseIndoProvider.dayDateData!.forEach((element) {
xuantaiData[xuantaiSelIndex]
.dsoltList
.add(dsoltModel(element.ddateSolt, element.mname));
>>>>>>> v5.4.4+
xuantaiData[xuantaiSelIndex].dsoltList.add(dsoltModel(element.ddateSolt,
Utils.getDsoltLocal(element.mname!.trim(), context)));
// if (element.ddateSolt == '1') {
// morning = element.mdate;
// } else if (element.ddateSolt == '2') {
... ... @@ -678,11 +659,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
'hasLeftBorder': false
},
{
<<<<<<< HEAD
'title': S.of(context).vip,
=======
'title': '贵宾',
>>>>>>> v5.4.4+
'title':S.of(context).vip,
'select': sexStr == '4' ? true : false,
'code': '4',
'hasLeftBorder': false
... ... @@ -697,15 +674,9 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
setState(() {
selectMenu = title;
});
<<<<<<< HEAD
if (title == S.of(context).contract) {
feastModel.pageStateBanquet = PageState.Loading;
feastModel.notifyListeners();
=======
if (title == '签约') {
feastModel!.pageStateBanquet = PageState.Loading;
feastModel!.notifyListeners();
>>>>>>> v5.4.4+
_getBanquetById();
}
}
... ... @@ -968,11 +939,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
// }
setState(() {});
}
<<<<<<< HEAD
}, cancelText: S.of(context).cancel,selecteds: [sexSelectIndex]).then((value) {});
=======
}, selecteds: [sexSelectIndex!]).then((value) {});
>>>>>>> v5.4.4+
},cancelText: S.of(context).cancel, selecteds: [sexSelectIndex!]).then((value) {});
},
child: Row(children: [
Text(
... ... @@ -1081,14 +1048,9 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
Utils.addZeroNumber(day.month) +
"-" +
Utils.addZeroNumber(day.day);
<<<<<<< HEAD
ymd +=
" (${Utils.getWeekLocal('周${Utils.formatWeekDayNum(day.weekday)}', context)} ";
ymd += Utils.lunarCalendarHolidays(day);
=======
ymd += " (周${Utils.formatWeekDayNum(day.weekday)} ";
ymd += Utils.lunarCalendarHolidays(day)!;
>>>>>>> v5.4.4+
" (${Utils.getWeekLocal('周${Utils.formatWeekDayNum(day.weekday,context)}', context)} ";
ymd += Utils.lunarCalendarHolidays(day) ??'';
ymd += ')';
return ymd;
}
... ... @@ -1217,35 +1179,9 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
// }
// }, calendarType: CalendarDatePicker2Type.single);
}),
<<<<<<< HEAD
_selectWidget(S.of(context).order_taker, jdShow, onTap: () {
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
DialogUtil.showSelectCusmanDialog(
context,
feastModel.sellerManageList.map((item) {
return item.title;
}).toList(), (value) {
if (value != null) {
setState(() {
jdSelIndex = value.first;
jdShow = feastModel.sellerManageList[jdSelIndex].title;
});
}
},
cancelText: '',
title: '选择经理',
selecteds: jdSelIndex == null ? [] : [jdSelIndex])
.then((value) {});
}),
_selectWidget(S.of(context).follower, gdShow, onTap: () {
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
if (feastModel.personnalList != null &&
feastModel.personnalList.length > 0) {
=======
_selectWidget('接单人', jdShow, onTap: () {
if (feastModel!.sellerManageList.length > 0) {
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
>>>>>>> v5.4.4+
DialogUtil.showSelectCusmanDialog(
context,
feastModel!.sellerManageList.map((item) {
... ... @@ -1290,15 +1226,11 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
Utils.showToast('暂时没有跟单人,请在我的-宴会管理-宴会员工去设置');
}
}),
<<<<<<< HEAD
_selectWidget(S.of(context).banquet_type, feastTypeShow, onTap: () {
=======
_selectWidget('宴会类型', feastTypeShow, onTap: () {
if (feastModel!.classifyData?.length == 0) {
Utils.showToast('暂无可选数据');
return;
}
>>>>>>> v5.4.4+
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
DialogUtil.showSelectCusmanDialog(
context,
... ... @@ -1826,13 +1758,8 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
outerloop:
for (int i = 0; i < xuantaiData.length; i++) {
SetXuanTaiModel element = xuantaiData[i];
<<<<<<< HEAD
String reserveOrder = element.reserveOrder;
String reserveOrder = element.reserveOrder??'';
if (element.dateTimeShowxt == S.of(context).please_select) {
=======
String? reserveOrder = element.reserveOrder;
if (element.dateTimeShowxt == '请选择') {
>>>>>>> v5.4.4+
Utils.showToast('请选择${reserveOrder}宴会日期');
canRequest = false;
break outerloop;
... ... @@ -3039,15 +2966,9 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
String dateData = '';
if (xuantaiData[xuantaiSelIndex]
.dateTimeShowxt !=
<<<<<<< HEAD
S.of(context).not_selected_yet) {
DateTime day =
xuantaiData[xuantaiSelIndex].dateTimext;
=======
'暂未选择') {
DateTime day = xuantaiData[xuantaiSelIndex]
.dateTimext!;
>>>>>>> v5.4.4+
String ymd = "${day.year}-" +
Utils.addZeroNumber(day.month) +
"-" +
... ... @@ -3643,13 +3564,7 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
djDBR = feastModel!.sellerManageList[djDBRIndex!].title;
});
}
<<<<<<< HEAD
},
cancelText: S.of(context).cancel,
selecteds: djDBRIndex == null ? [] : [djDBRIndex])
=======
}, selecteds: djDBRIndex == null ? [] : [djDBRIndex!])
>>>>>>> v5.4.4+
.then((value) {});
},
child: Row(
... ... @@ -3822,40 +3737,22 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
feastModel!
.banquetDetail!.basicInfo!.ddate!) *
1000))),
<<<<<<< HEAD
baseInfoItem('${S.of(context).banquet_type}:',
feastModel.banquetDetail.basicInfo.classify),
feastModel!.banquetDetail!.basicInfo!.classify),
baseInfoItem('${S.of(context).reserver}:',
'${feastModel.banquetDetail.basicInfo.rname} ${Utils.getSexLocal(feastModel.banquetDetail.basicInfo.sex,context)}'),
'${feastModel!.banquetDetail!.basicInfo!.rname} ${Utils.getSexLocal(feastModel!.banquetDetail!.basicInfo!.sex!,context)}'),
baseInfoItem('${S.of(context).number_of_sessions}:',
'共 ${feastModel.banquetDetail.sessionsInfo.length} 场'),
'共 ${feastModel!.banquetDetail!.sessionsInfo!.length} 场'),
baseInfoItem('${S.of(context).phone}:',
feastModel.banquetDetail.basicInfo.phone),
feastModel!.banquetDetail!.basicInfo!.phone),
baseInfoItem(
'${S.of(context).service_manager}:',
feastModel.banquetDetail.basicInfo.jiedan.nickName ??
feastModel.banquetDetail.basicInfo.jiedan.account),
feastModel!.banquetDetail!.basicInfo!.jiedan!.nickName ??
feastModel!.banquetDetail!.basicInfo!.jiedan!.account),
baseInfoItem(
'${S.of(context).remarks}:',
feastModel.banquetDetail.basicInfo.remark ??
feastModel!.banquetDetail!.basicInfo!.remark ??
'${S.of(context).none}'),
=======
baseInfoItem(
'宴会类型:', feastModel!.banquetDetail!.basicInfo!.classify),
baseInfoItem('预订人:',
'${feastModel!.banquetDetail!.basicInfo!.rname} ${feastModel!.banquetDetail!.basicInfo!.sex}'),
baseInfoItem('场次数量:',
'共 ${feastModel!.banquetDetail!.sessionsInfo!.length} 场'),
baseInfoItem(
'电话:', feastModel!.banquetDetail!.basicInfo!.phone),
baseInfoItem(
'服务经理:',
feastModel!.banquetDetail!.basicInfo!.jiedan!.nickName ??
feastModel!
.banquetDetail!.basicInfo!.jiedan!.account),
baseInfoItem('备注:',
feastModel!.banquetDetail!.basicInfo!.remark ?? '无'),
>>>>>>> v5.4.4+
],
))
],
... ... @@ -4750,15 +4647,9 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
)),
HEmptyView(12),
_textfield(
<<<<<<< HEAD
S.of(context).please_enter,
feastModel
.banquetDetail.contractInfo.contractFinalPriceC,
=======
'请输入',
feastModel!
.banquetDetail!.contractInfo!.contractFinalPriceC,
>>>>>>> v5.4.4+
null,
width: w(110)),
HEmptyView(24),
... ... @@ -4773,25 +4664,14 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
],
),
VEmptyView(48),
<<<<<<< HEAD
_titleAndtextfield('${S.of(context).customer_signatory}:',
feastModel.banquetDetail.contractInfo.customerC, null),
VEmptyView(48),
_titleAndtextfield('${S.of(context).shop_signatory}:',
feastModel.banquetDetail.contractInfo.storeC, null),
VEmptyView(48),
_titleAndtextfield('${S.of(context).contract_number}:',
feastModel.banquetDetail.contractInfo.numC, null),
=======
_titleAndtextfield('客户签约人:',
feastModel!.banquetDetail!.contractInfo!.customerC, null),
VEmptyView(48),
_titleAndtextfield('店方签约人:',
_titleAndtextfield('${S.of(context).shop_signatory}:',
feastModel!.banquetDetail!.contractInfo!.storeC, null),
VEmptyView(48),
_titleAndtextfield('合同编号:',
_titleAndtextfield('${S.of(context).contract_number}:',
feastModel!.banquetDetail!.contractInfo!.numC, null),
>>>>>>> v5.4.4+
VEmptyView(48),
Consumer<UploadImageProvider>(builder: (context, model, _) {
return ImgPickerFWidget(
... ... @@ -5050,14 +4930,9 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
isBoldContent: true,
lTitle: S.of(context).cancel,
contentColor: MyColours.color_E6000000,
<<<<<<< HEAD
rTitle: S.of(context).delete,
rCallback: () {
feastModel.banquetDetail.invoice = null;
=======
rTitle: "删除", rCallback: () {
feastModel!.banquetDetail!.invoice = null;
>>>>>>> v5.4.4+
setState(() {});
});
},
... ...
... ... @@ -8,12 +8,9 @@ import 'package:one_key/widgets/h_empty_view.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
<<<<<<< HEAD
import '../../constant/state.dart';
import '../../generated/l10n.dart';
=======
>>>>>>> v5.4.4+
import '../../provider/feast_model.dart';
import '../../provider/user_model.dart';
import '../../utils/screen_util.dart';
... ...
... ... @@ -518,15 +518,11 @@ class _FeastDepositPageState extends State<FeastDepositPage> {
.then((value) {});
}),
VEmptyView(66),
<<<<<<< HEAD
_selectWidget('${S.of(context).deposit_type}', depositType, onTap: () {
=======
_selectWidget('订金类型', depositType!, onTap: () {
_selectWidget('${S.of(context).deposit_type}', depositType!, onTap: () {
if (feastModel.depositData!.length == 0) {
Utils.showToast('暂无可选数据');
return;
}
>>>>>>> v5.4.4+
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
DialogUtil.showSelectCusmanDialog(
context,
... ...
... ... @@ -144,14 +144,8 @@ class _FeastDetailPageState extends State<FeastDetailPage> {
Utils.addZeroNumber(day.month) +
"-" +
Utils.addZeroNumber(day.day);
<<<<<<< HEAD
ymd +=
" ('${Utils.getWeekLocal('周${Utils.formatWeekDayNum(day.weekday)}', context)} ";
ymd += Utils.lunarCalendarHolidays(day);
=======
ymd += " (周${Utils.formatWeekDayNum(day.weekday)} ";
ymd += " (周${Utils.formatWeekDayNum(day.weekday,context)} ";
ymd += Utils.lunarCalendarHolidays(day)!;
>>>>>>> v5.4.4+
ymd += ')';
return ymd;
}
... ... @@ -192,35 +186,20 @@ class _FeastDetailPageState extends State<FeastDetailPage> {
feastModel.banquetDetail!.basicInfo!.ddate!) *
1000))),
baseInfoItem(
<<<<<<< HEAD
'${S.of(context).banquet_type}:', feastModel.banquetDetail.basicInfo.classify),
'${S.of(context).banquet_type}:', feastModel.banquetDetail!.basicInfo!.classify),
baseInfoItem('${S.of(context).reserver}:',
'${feastModel.banquetDetail.basicInfo.rname} ${Utils.getSexLocal(feastModel.banquetDetail.basicInfo.sex, context)}'),
'${feastModel.banquetDetail!.basicInfo!.rname} ${Utils.getSexLocal(feastModel.banquetDetail!.basicInfo!.sex!, context)}'),
baseInfoItem('${S.of(context).number_of_sessions}:',
'共 ${feastModel.banquetDetail.sessionsInfo.length} 场'),
baseInfoItem('${S.of(context).phone}:', feastModel.banquetDetail.basicInfo.phone),
baseInfoItem(
'${S.of(context).service_manager}:',
feastModel.banquetDetail.basicInfo.jiedan.nickName ??
feastModel.banquetDetail.basicInfo.jiedan.account),
baseInfoItem(
'${S.of(context).remarks}:',
feastModel.banquetDetail.basicInfo.remark ??
'${S.of(context).none}'),
=======
'宴会类型:', feastModel.banquetDetail!.basicInfo!.classify),
baseInfoItem('预订人:',
'${feastModel.banquetDetail!.basicInfo!.rname} ${feastModel.banquetDetail!.basicInfo!.sex}'),
baseInfoItem('场次数量:',
'共 ${feastModel.banquetDetail!.sessionsInfo!.length} 场'),
baseInfoItem('电话:', feastModel.banquetDetail!.basicInfo!.phone),
baseInfoItem('${S.of(context).phone}:', feastModel.banquetDetail!.basicInfo!.phone),
baseInfoItem(
'服务经理:',
'${S.of(context).service_manager}:',
feastModel.banquetDetail!.basicInfo!.jiedan!.nickName ??
feastModel.banquetDetail!.basicInfo!.jiedan!.account),
baseInfoItem(
'备注:', feastModel.banquetDetail!.basicInfo!.remark ?? '无'),
>>>>>>> v5.4.4+
'${S.of(context).remarks}:',
feastModel.banquetDetail!.basicInfo!.remark ??
'${S.of(context).none}'),
],
))
],
... ...
... ... @@ -80,19 +80,11 @@ start = S.of(context).no_limit;
"sid": Provider.of<UserModel>(context, listen: false).user!.sellerid,
'type': isFeastTime ? '2' : '1'
}; //
<<<<<<< HEAD
if (start != S.of(context).no_limit) {
pramas['rdate'] = _getRdate(dateTimeStart);
}
if (end != S.of(context).no_limit) {
pramas['edate'] = _getEdate(dateTimeEnd);
=======
if (start != '不限') {
pramas['rdate'] = _getRdate(dateTimeStart!);
}
if (end != '不限') {
if (end != S.of(context).no_limit) {
pramas['edate'] = _getEdate(dateTimeEnd!);
>>>>>>> v5.4.4+
}
bool success = await feastModel.getBanquetBeFollow(context, pramas) ;
... ...
... ... @@ -92,13 +92,8 @@ class _FeastPageState extends State<FeastPage> {
bool success = await feastModel.getBanquetByTime(context, pramas) ;
}
<<<<<<< HEAD
Widget upAndDown(String image, String title,String authority,{GestureTapCallback onTap}) {
Widget upAndDown(String image, String title,String authority,{GestureTapCallback ?onTap}) {
bool notDo = !Utils.getAuthority(context, authority);
=======
Widget upAndDown(String image, String title, {GestureTapCallback? onTap}) {
bool notDo = !Utils.getAuthority(context, title);
>>>>>>> v5.4.4+
return InkWell(
onTap: onTap,
... ...
... ... @@ -5,20 +5,23 @@ packages:
dependency: transitive
description:
name: _fe_analyzer_shared
sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a
url: "https://pub.flutter-io.cn"
source: hosted
version: "22.0.0"
version: "61.0.0"
analyzer:
dependency: transitive
description:
name: analyzer
sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.7.2"
version: "5.13.0"
args:
dependency: transitive
description:
name: args
sha256: c372bb384f273f0c2a8aaaa226dad84dc27c8519a691b888725dec59518ad53a
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.4.1"
... ... @@ -26,6 +29,7 @@ packages:
dependency: transitive
description:
name: async
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.11.0"
... ... @@ -33,6 +37,7 @@ packages:
dependency: transitive
description:
name: boolean_selector
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.1"
... ... @@ -40,48 +45,55 @@ packages:
dependency: transitive
description:
name: build
sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.3"
version: "2.4.1"
build_config:
dependency: transitive
description:
name: build_config
sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.4.7"
version: "1.1.2"
build_daemon:
dependency: transitive
description:
name: build_daemon
sha256: "5f02d73eb2ba16483e693f80bee4f088563a820e47d1027d4cdfe62b5bb43e65"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.10"
version: "4.0.0"
build_resolvers:
dependency: transitive
description:
name: build_resolvers
sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.4"
version: "2.4.2"
build_runner:
dependency: "direct dev"
description:
name: build_runner
sha256: "028819cfb90051c6b5440c7e574d1896f8037e3c96cf17aaeb054c9311cfbf4d"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.12.2"
version: "2.4.13"
build_runner_core:
dependency: transitive
description:
name: build_runner_core
sha256: "30859c90e9ddaccc484f56303931f477b1f1ba2bab74aa32ed5d6ce15870f8cf"
url: "https://pub.flutter-io.cn"
source: hosted
version: "6.1.12"
version: "7.2.8"
built_collection:
dependency: transitive
description:
name: built_collection
sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
url: "https://pub.flutter-io.cn"
source: hosted
version: "5.1.1"
... ... @@ -89,6 +101,7 @@ packages:
dependency: transitive
description:
name: built_value
sha256: "69acb7007eb2a31dc901512bfe0f7b767168be34cb734835d54c070bfa74c1b2"
url: "https://pub.flutter-io.cn"
source: hosted
version: "8.8.0"
... ... @@ -96,27 +109,23 @@ packages:
dependency: transitive
description:
name: checked_yaml
sha256: dd007e4fb8270916820a0d66e24f619266b60773cddd082c6439341645af2659
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.1"
cli_util:
dependency: transitive
description:
name: cli_util
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.3.5"
code_builder:
dependency: transitive
description:
name: code_builder
sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.7.0"
version: "4.10.1"
collection:
dependency: transitive
description:
name: collection
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.18.0"
... ... @@ -124,6 +133,7 @@ packages:
dependency: transitive
description:
name: convert
sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.1.1"
... ... @@ -131,6 +141,7 @@ packages:
dependency: "direct dev"
description:
name: coverage
sha256: ad538fa2e8f6b828d54c04a438af816ce814de404690136d3b9dfb3a436cd01c
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.3"
... ... @@ -138,6 +149,7 @@ packages:
dependency: transitive
description:
name: crypto
sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.0.2"
... ... @@ -145,13 +157,15 @@ packages:
dependency: transitive
description:
name: dart_style
sha256: "1efa911ca7086affd35f463ca2fc1799584fb6aa89883cf0af8e3664d6a02d55"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.1"
version: "2.3.2"
file:
dependency: transitive
description:
name: file
sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d"
url: "https://pub.flutter-io.cn"
source: hosted
version: "6.1.4"
... ... @@ -159,6 +173,7 @@ packages:
dependency: transitive
description:
name: fixnum
sha256: "04be3e934c52e082558cc9ee21f42f5c1cd7a1262f4c63cd0357c08d5bba81ec"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.1"
... ... @@ -166,13 +181,15 @@ packages:
dependency: transitive
description:
name: frontend_server_client
sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.3"
version: "3.2.0"
glob:
dependency: transitive
description:
name: glob
sha256: "4515b5b6ddb505ebdd242a5f2cc5d22d3d6a80013789debfbda7777f47ea308c"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.1"
... ... @@ -180,20 +197,23 @@ packages:
dependency: transitive
description:
name: graphs
sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.0"
version: "2.3.2"
http:
dependency: "direct main"
description:
name: http
sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.13.5"
version: "1.3.0"
http_multi_server:
dependency: transitive
description:
name: http_multi_server
sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.2.1"
... ... @@ -201,6 +221,7 @@ packages:
dependency: transitive
description:
name: http_parser
sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.0.2"
... ... @@ -208,6 +229,7 @@ packages:
dependency: transitive
description:
name: io
sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.4"
... ... @@ -215,6 +237,7 @@ packages:
dependency: transitive
description:
name: js
sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.6.5"
... ... @@ -222,20 +245,23 @@ packages:
dependency: "direct main"
description:
name: json_annotation
sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1"
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.1.0"
version: "4.9.0"
json_serializable:
dependency: "direct dev"
description:
name: json_serializable
sha256: ea1432d167339ea9b5bb153f0571d0039607a873d6e04e0117af043f14a1fd4b
url: "https://pub.flutter-io.cn"
source: hosted
version: "4.1.4"
version: "6.8.0"
logging:
dependency: transitive
description:
name: logging
sha256: "04094f2eb032cbb06c6f6e8d3607edcfcb0455e2bb6cbc010cb01171dcb64e6d"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.1"
... ... @@ -243,6 +269,7 @@ packages:
dependency: transitive
description:
name: matcher
sha256: "2e2c34e631f93410daa3ee3410250eadc77ac6befc02a040eda8a123f34e6f5a"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.12.11"
... ... @@ -250,6 +277,7 @@ packages:
dependency: "direct main"
description:
name: meta
sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.16.0"
... ... @@ -257,6 +285,7 @@ packages:
dependency: transitive
description:
name: mime
sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.4"
... ... @@ -264,6 +293,7 @@ packages:
dependency: transitive
description:
name: node_preamble
sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.2"
... ... @@ -271,6 +301,7 @@ packages:
dependency: transitive
description:
name: package_config
sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.0"
... ... @@ -278,6 +309,7 @@ packages:
dependency: transitive
description:
name: path
sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.8.3"
... ... @@ -285,6 +317,7 @@ packages:
dependency: "direct dev"
description:
name: pedantic
sha256: "67fc27ed9639506c856c840ccce7594d0bdcd91bc8d53d6e52359449a1d50602"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.11.1"
... ... @@ -292,6 +325,7 @@ packages:
dependency: transitive
description:
name: pool
sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.5.1"
... ... @@ -299,6 +333,7 @@ packages:
dependency: transitive
description:
name: pub_semver
sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.4"
... ... @@ -306,6 +341,7 @@ packages:
dependency: transitive
description:
name: pubspec_parse
sha256: "0e01f805457ef610ccaf8d18067596afc34107a27149778b06b2083edbc140c1"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.0"
... ... @@ -313,6 +349,7 @@ packages:
dependency: transitive
description:
name: shelf
sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.4.1"
... ... @@ -320,6 +357,7 @@ packages:
dependency: transitive
description:
name: shelf_packages_handler
sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.0.2"
... ... @@ -327,6 +365,7 @@ packages:
dependency: transitive
description:
name: shelf_static
sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.2"
... ... @@ -334,6 +373,7 @@ packages:
dependency: transitive
description:
name: shelf_web_socket
sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.4"
... ... @@ -341,13 +381,23 @@ packages:
dependency: transitive
description:
name: source_gen
sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.3"
version: "1.5.0"
source_helper:
dependency: transitive
description:
name: source_helper
sha256: "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.5"
source_map_stack_trace:
dependency: transitive
description:
name: source_map_stack_trace
sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.1"
... ... @@ -355,6 +405,7 @@ packages:
dependency: transitive
description:
name: source_maps
sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.10.12"
... ... @@ -362,6 +413,7 @@ packages:
dependency: transitive
description:
name: source_span
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.10.0"
... ... @@ -369,6 +421,7 @@ packages:
dependency: transitive
description:
name: stack_trace
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.11.1"
... ... @@ -376,6 +429,7 @@ packages:
dependency: transitive
description:
name: stream_channel
sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.1"
... ... @@ -383,6 +437,7 @@ packages:
dependency: transitive
description:
name: stream_transform
sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f"
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.0"
... ... @@ -390,6 +445,7 @@ packages:
dependency: transitive
description:
name: string_scanner
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.0"
... ... @@ -397,6 +453,7 @@ packages:
dependency: transitive
description:
name: term_glyph
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.1"
... ... @@ -404,27 +461,31 @@ packages:
dependency: "direct dev"
description:
name: test
sha256: "5301f54eb6fe945daa99bc8df6ece3f88b5ceaa6f996f250efdaaf63e22886be"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.18.1"
version: "1.23.1"
test_api:
dependency: transitive
description:
name: test_api
sha256: "6182294da5abf431177fccc1ee02401f6df30f766bc6130a0852c6b6d7ee6b2d"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.4.5"
version: "0.4.18"
test_core:
dependency: transitive
description:
name: test_core
sha256: d2e9240594b409565524802b84b7b39341da36dd6fd8e1660b53ad928ec3e9af
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.4.4"
version: "0.4.24"
timing:
dependency: transitive
description:
name: timing
sha256: c386d07d7f5efc613479a7c4d9d64b03710b03cfaa7e8ad5f2bfb295a1f0dfad
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.0"
... ... @@ -432,6 +493,7 @@ packages:
dependency: transitive
description:
name: typed_data
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.2"
... ... @@ -439,6 +501,7 @@ packages:
dependency: transitive
description:
name: vm_service
sha256: "35ef1bbae978d7158e09c98dcdfe8673b58a30eb53e82833cc027e0aab2d5213"
url: "https://pub.flutter-io.cn"
source: hosted
version: "7.5.0"
... ... @@ -446,13 +509,23 @@ packages:
dependency: transitive
description:
name: watcher
sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.2"
web:
dependency: transitive
description:
name: web
sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.0"
web_socket_channel:
dependency: transitive
description:
name: web_socket_channel
sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.4.0"
... ... @@ -460,6 +533,7 @@ packages:
dependency: transitive
description:
name: webkit_inspection_protocol
sha256: "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d"
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.0"
... ... @@ -467,8 +541,9 @@ packages:
dependency: transitive
description:
name: yaml
sha256: "23812a9b125b48d4007117254bca50abb6c712352927eece9e155207b1db2370"
url: "https://pub.flutter-io.cn"
source: hosted
version: "3.1.1"
sdks:
dart: ">=2.18.0 <3.0.0"
dart: ">=3.6.0 <4.0.0"
... ...
... ... @@ -7,13 +7,15 @@ environment:
sdk: ">=2.12.0 <3.0.0"
dependencies:
http: ^0.13.0
http: ^1.2.2
meta: ^1.3.0
json_annotation: ^4.0.0
dev_dependencies:
test: ^1.16.0
test: ^1.22.0
pedantic: ^1.10.0
build_runner: ^1.11.0
json_serializable: ^4.0.0
build_runner: ^2.3.3
json_serializable: ^6.6.2
coverage: ^1.0.0
... ...
... ... @@ -1110,6 +1110,13 @@ packages:
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.5.10"
google_maps_webservice:
dependency: "direct main"
description:
path: "library/google_maps_webservice-master"
relative: true
source: path
version: "0.0.20-nullsafety.5"
graphs:
dependency: transitive
description:
... ...
... ... @@ -231,9 +231,11 @@ dependencies:
calendar_date_picker2:
path: library/calendar_date_picker2-1.1.5
table_calendar:
path: library/table_calendar-3.1.3
path: library/table_calendar-3.1.3
azlistview_plus:
path: library/azlistview_plus-3.0.0
path: library/azlistview_plus-3.0.0
google_maps_webservice:
path: library/google_maps_webservice-master
... ... @@ -282,6 +284,7 @@ dependencies:
google_maps_flutter: ^2.10.0
geolocator: ^13.0.2
geocoding: ^3.0.0
# dependencies:
# google_maps_place_picker_mb: ^3.0.0
# flutter_swiper: ^1.1.6
... ...