Commit 33a8aff457be3d9fbe0b357bf4abfb16b20b8486

Authored by wdn127929
1 parent 35239094

预订信息展示UI + ok

  1 +import 'package:flutter/material.dart';
  2 +import 'package:flutter_screenutil/flutter_screenutil.dart';
  3 +import 'package:one_key/utils/utils.dart';
  4 +import 'package:one_key/widgets/MyDivider.dart';
  5 +import 'package:one_key/widgets/h_empty_view.dart';
  6 +import 'package:one_key/widgets/system_app_bar.dart';
  7 +import 'package:one_key/widgets/v_empty_view.dart';
  8 +import 'package:provider/provider.dart';
  9 +
  10 +import '../../../../models/get_seller_info_model.dart';
  11 +import '../../../../provider/marketing_center_provider.dart';
  12 +import '../../../../provider/store_base_info_provider.dart';
  13 +import '../../../../provider/user_model.dart';
  14 +import '../../../../res/colors.dart';
  15 +import '../../../../utils/screen_util.dart';
  16 +import '../../../../widgets/round_button.dart';
  17 +import '../../personnel_type/base_info_personnal_page.dart';
  18 +
  19 +/***
  20 + *
  21 + * 预订信息模块
  22 + */
  23 +
  24 +class BookInfoPage extends StatefulWidget {
  25 + BookInfoPage({Key key}) : super(key: key);
  26 +
  27 + @override
  28 + _BookInfoPageState createState() => _BookInfoPageState();
  29 +}
  30 +
  31 +class _BookInfoPageState extends State<BookInfoPage> {
  32 + TextEditingController parkingIncoC = TextEditingController();
  33 + FocusNode parkingIncoNode = FocusNode();
  34 +
  35 + String date; //日期
  36 + String dsolt; //餐段
  37 + String pnum; //人数
  38 + String address; //地址
  39 + String sellername; //店铺名称
  40 + String sellerphone; //商家联系电话
  41 + String userphone; //联系电话
  42 + String username; //昵称
  43 + MarketingCenterProvider marketingCenterProvider;
  44 + String tableInfo; //包间信息
  45 +
  46 + StoreBaseIndoProvider _baseIndoProvider;
  47 + bool addManager = false;
  48 + bool addParking = false;
  49 +
  50 + @override
  51 + void initState() {
  52 + super.initState();
  53 +
  54 + WidgetsBinding.instance.addPostFrameCallback((_) async {
  55 + _initData(context);
  56 +
  57 + await marketingCenterProvider.getTableList(context);
  58 + await _getStoreBaseinfo();
  59 + });
  60 + }
  61 +
  62 + Widget _item(String title, {bool select, GestureTapCallback onTap}) {
  63 + return InkWell(
  64 + onTap: onTap,
  65 + child: Container(
  66 + decoration: BoxDecoration(
  67 + border: Border(
  68 + bottom: BorderSide(
  69 + color: MyColours.color_E7E7E7, width: w(0.5)))),
  70 + margin: EdgeInsets.only(left: w(16)),
  71 + padding: EdgeInsets.only(top: w(12), bottom: w(12), right: w(16)),
  72 + child: Row(
  73 + children: [
  74 + Text(
  75 + title,
  76 + style: TextStyle(
  77 + color: MyColours.color_515151,
  78 + fontSize: ScreenUtil().setWidth(32)),
  79 + ),
  80 + Spacer(),
  81 + Container(
  82 + padding:
  83 + EdgeInsets.symmetric(horizontal: w(7), vertical: w(4)),
  84 + child: Image.asset(
  85 + Utils.getImgPath(select ? 'swich_on' : 'swich_off'),
  86 + width: w(44),
  87 + ),
  88 + )
  89 + ],
  90 + )));
  91 + }
  92 +
  93 + //初始化时间
  94 + _initData(BuildContext context) async {
  95 + UserModel userModel = Provider.of<UserModel>(context, listen: false);
  96 + sellername = userModel.user.sellername;
  97 + address = userModel.user.sellerAddr;
  98 + userphone = userModel.user.userphone;
  99 + sellerphone = userModel.user.sellerphone;
  100 + username = userModel.user.nickName ?? userModel.user.account;
  101 +
  102 + DateTime dateTime = DateTime.now();
  103 +
  104 + date = Utils.returnYMDandLunarCalendar(DateTime.now(), context);
  105 +
  106 + String morning =
  107 + userModel.user.morning.isEmpty ? "00:00-00:00" : userModel.user.morning;
  108 + String noon =
  109 + userModel.user.noon.isEmpty ? "00:00-00:00" : userModel.user.noon;
  110 + String night =
  111 + userModel.user.night.isEmpty ? "00:00-00:00" : userModel.user.night;
  112 +
  113 + if (dateTime.isBefore(DateTime.parse(dateTime.year.toString() +
  114 + "-" +
  115 + Utils.addZeroNumber(dateTime.month) +
  116 + "-" +
  117 + Utils.addZeroNumber(dateTime.day) +
  118 + " " +
  119 + morning.split("-")[1] +
  120 + ":00"))) {
  121 + //未过早市
  122 + dsolt = '午餐';
  123 + } else if (dateTime.isAfter(DateTime.parse(dateTime.year.toString() +
  124 + "-" +
  125 + Utils.addZeroNumber(dateTime.month) +
  126 + "-" +
  127 + Utils.addZeroNumber(dateTime.day) +
  128 + " " +
  129 + morning.split("-")[1] +
  130 + ":00")) &&
  131 + dateTime.isBefore(DateTime.parse(dateTime.year.toString() +
  132 + "-" +
  133 + Utils.addZeroNumber(dateTime.month) +
  134 + "-" +
  135 + Utils.addZeroNumber(dateTime.day) +
  136 + " " +
  137 + noon.split("-")[1] +
  138 + ":00"))) {
  139 + //过了早市,未过午市
  140 + dsolt = '晚餐';
  141 + } else if (dateTime.isAfter(DateTime.parse(dateTime.year.toString() +
  142 + "-" +
  143 + Utils.addZeroNumber(dateTime.month) +
  144 + "-" +
  145 + Utils.addZeroNumber(dateTime.day) +
  146 + " " +
  147 + noon.split("-")[1] +
  148 + ":00")) &&
  149 + dateTime.isBefore(DateTime.parse(dateTime.year.toString() +
  150 + "-" +
  151 + Utils.addZeroNumber(dateTime.month) +
  152 + "-" +
  153 + Utils.addZeroNumber(dateTime.day) +
  154 + " " +
  155 + night.split("-")[1] +
  156 + ":00"))) {
  157 + //过了午市,未过晚市
  158 + dsolt = '早餐';
  159 +
  160 + //日期增加一天
  161 + date = Utils.returnYMDandLunarCalendar(
  162 + dateTime.add(Duration(days: 1)), context);
  163 + } else {
  164 + //过了晚市
  165 + dsolt = '早餐';
  166 + //日期增加一天
  167 + date = Utils.returnYMDandLunarCalendar(
  168 + dateTime.add(Duration(days: 1)), context);
  169 + }
  170 + setState(() {});
  171 + }
  172 +
  173 + ///获取店铺信息
  174 + _getStoreBaseinfo() async {
  175 + GetSellerInfoSunModel itemModel =
  176 + await _baseIndoProvider.getSellerById(context);
  177 + if (itemModel != null) {
  178 + address = itemModel.data.mapAddress + itemModel.data.realAddress;
  179 + setState(() {});
  180 + // _introductionController.text = itemModel.data.sellerdesc;
  181 +
  182 + // // _uploadImageProvider.notifyListeners();
  183 + // _countName = _nameController.text.trim().length;
  184 + // _countAddress = _addressController.text.trim().length;
  185 + // if (itemModel.data.sellerTel.contains(',')) {
  186 + // List<String> list = itemModel.data.sellerTel.split(',');
  187 + // if (list.length == 2) {
  188 + // _phoneController.text = list[0];
  189 + // _phoneController2.text = list[1];
  190 + // onePhone = false;
  191 + // } else {
  192 + // _phoneController.text = '';
  193 + // _phoneController2.text = '';
  194 + // onePhone = true;
  195 + // }
  196 + // } else {
  197 + // _phoneController.text = itemModel.data.sellerTel;
  198 + // onePhone = true;
  199 + // }
  200 + // mapAddress = {
  201 + // "address": itemModel.data.mapAddress,
  202 + // 'lat': itemModel.data.lat,
  203 + // 'lng': itemModel.data.long,
  204 + // };
  205 + // setState(() {});
  206 + }
  207 + }
  208 +
  209 + _itemTitleAndSubTtile(String title, String subtitle) {
  210 + return Row(
  211 + crossAxisAlignment: CrossAxisAlignment.start,
  212 + children: [
  213 + Text('【${title}】',
  214 + style:
  215 + TextStyle(color: MyColours.color_000000, fontSize: font(14))),
  216 + HEmptyView(10),
  217 + Expanded(
  218 + child: Text('${subtitle}',
  219 + style: TextStyle(
  220 + color: MyColours.color_000000, fontSize: font(14)))),
  221 + ],
  222 + );
  223 + }
  224 +
  225 + @override
  226 + Widget build(BuildContext context) {
  227 + marketingCenterProvider =
  228 + Provider.of<MarketingCenterProvider>(context, listen: true);
  229 + _baseIndoProvider =
  230 + Provider.of<StoreBaseIndoProvider>(context, listen: false);
  231 + return Scaffold(
  232 + backgroundColor: MyColours.color_ffffff,
  233 + appBar: SystemAppBar(
  234 + '预订信息展示',
  235 + onTap: () {
  236 + Navigator.pop(context);
  237 + },
  238 + ),
  239 + body: Column(
  240 + children: [
  241 + Expanded(
  242 + child: SingleChildScrollView(
  243 + child: Column(children: [
  244 + _item('附加餐厅经理名片', select: addManager, onTap: () {
  245 + setState(() {
  246 + addManager = !addManager;
  247 + });
  248 + }),
  249 + VEmptyView(24),
  250 + _item('附加停车信息', select: addParking, onTap: () {
  251 + setState(() {
  252 + addParking = !addParking;
  253 + });
  254 + }),
  255 + VEmptyView(24),
  256 + //输入框
  257 + addParking
  258 + ? Container(
  259 + width: double.infinity,
  260 + margin: EdgeInsets.symmetric(
  261 + horizontal: ScreenUtil().setWidth(40)),
  262 + padding: EdgeInsets.symmetric(
  263 + horizontal: ScreenUtil().setWidth(40),
  264 + vertical: ScreenUtil().setWidth(20)),
  265 + alignment: Alignment.topLeft,
  266 + decoration: BoxDecoration(
  267 + color: MyColours.color_ffffff,
  268 + border: Border.all(
  269 + color: MyColours.color_DBDBDB,
  270 + width: ScreenUtil().setWidth(2)),
  271 + borderRadius:
  272 + BorderRadius.circular(ScreenUtil().setWidth(20))),
  273 + child: TextField(
  274 + controller: parkingIncoC,
  275 + focusNode: parkingIncoNode,
  276 + style: TextStyle(
  277 + color: MyColours.color_515151,
  278 + fontSize: ScreenUtil().setSp(28),
  279 + textBaseline: TextBaseline.alphabetic),
  280 + textAlignVertical: TextAlignVertical.center,
  281 + maxLines: 5,
  282 + maxLength: 38,
  283 + decoration: InputDecoration(
  284 + hintText: "点击录入停车信息,最多38个汉字。",
  285 + hintStyle: TextStyle(
  286 + color: MyColours.color_999999,
  287 + fontSize: ScreenUtil().setSp(28),
  288 + ),
  289 + contentPadding: EdgeInsets.zero,
  290 + border:
  291 + OutlineInputBorder(borderSide: BorderSide.none),
  292 + ),
  293 + keyboardType: TextInputType.text,
  294 + onChanged: (value) {
  295 + setState(() {
  296 + // currentRemark = value ?? "";
  297 + });
  298 + }),
  299 + )
  300 + : SizedBox(),
  301 + addParking ? VEmptyView(24) : SizedBox(),
  302 + addParking
  303 + ? Padding(
  304 + padding: EdgeInsets.symmetric(horizontal: w(20)),
  305 + child: MyDivider(
  306 + double.infinity,
  307 + w(0.5),
  308 + color: MyColours.color_DBDBDB,
  309 + ))
  310 + : SizedBox(),
  311 + VEmptyView(24),
  312 + Container(
  313 + alignment: Alignment.centerLeft,
  314 + padding: EdgeInsets.only(
  315 + left: w(16), top: w(12), bottom: w(12), right: w(16)),
  316 + child: Text(
  317 + '效果预览',
  318 + style: TextStyle(
  319 + color: MyColours.color_515151,
  320 + fontSize: ScreenUtil().setWidth(32)),
  321 + ),
  322 + ),
  323 + VEmptyView(24),
  324 + Container(
  325 + width: double.infinity,
  326 + margin: EdgeInsets.symmetric(horizontal: w(10)),
  327 + padding: EdgeInsets.symmetric(horizontal: w(8)),
  328 + decoration: BoxDecoration(
  329 + border: Border(
  330 + left: BorderSide(
  331 + width: w(2), color: MyColours.color_EEAE74))),
  332 + child: Column(
  333 + crossAxisAlignment: CrossAxisAlignment.start,
  334 + children: [
  335 + Text(
  336 + '尊敬的贵宾,您好!',
  337 + style: TextStyle(
  338 + color: MyColours.color_000000, fontSize: font(14)),
  339 + ),
  340 + VEmptyView(10),
  341 + Text('非常感谢您选择【${sellername}】!',
  342 + style: TextStyle(
  343 + color: MyColours.color_000000, fontSize: font(14))),
  344 + VEmptyView(30),
  345 + _itemTitleAndSubTtile('日期', '${date}'),
  346 + VEmptyView(10),
  347 + _itemTitleAndSubTtile('餐段', '${dsolt}'),
  348 + VEmptyView(10),
  349 + marketingCenterProvider.tableOuterList.length > 0 &&
  350 + marketingCenterProvider
  351 + .tableOuterList[0].list.length >
  352 + 0
  353 + ? _itemTitleAndSubTtile('包间',
  354 + '${marketingCenterProvider.tableOuterList[0].name}${marketingCenterProvider.tableOuterList[0].list[0].name}}')
  355 + : SizedBox(),
  356 + VEmptyView(10),
  357 + marketingCenterProvider.tableOuterList.length > 0 &&
  358 + marketingCenterProvider
  359 + .tableOuterList[0].list.length >
  360 + 0
  361 + ? _itemTitleAndSubTtile('人数',
  362 + '${marketingCenterProvider.tableOuterList[0].list[0].tableNum}')
  363 + : SizedBox(),
  364 + VEmptyView(10),
  365 + _itemTitleAndSubTtile('地址', '${address}'),
  366 + VEmptyView(10),
  367 + addParking
  368 + ? _itemTitleAndSubTtile('停车', '${parkingIncoC.text}')
  369 + : SizedBox(),
  370 + addParking ? VEmptyView(10) : SizedBox(),
  371 + _itemTitleAndSubTtile('联系', '${sellerphone}'),
  372 + VEmptyView(20),
  373 + addManager
  374 + ? Row(
  375 + children: [
  376 + HEmptyView(72),
  377 + ClipRRect(
  378 + borderRadius: BorderRadius.circular(r(35)),
  379 + child: Image.network(
  380 + 'https://www.ssfiction.com/wp-content/uploads/2020/08/20200805_5f2b1669e9a24.jpg',
  381 + fit: BoxFit.cover,
  382 + width: w(70),
  383 + height: w(70),
  384 + ),
  385 + ),
  386 + Spacer(),
  387 + Column(
  388 + crossAxisAlignment: CrossAxisAlignment.start,
  389 + children: [
  390 + Text(
  391 + '专属服务:${username}',
  392 + style: TextStyle(
  393 + color: MyColours.color_999999,
  394 + fontWeight: FontWeight.bold,
  395 + fontSize: font(12)),
  396 + ),
  397 + VEmptyView(16),
  398 + Text(
  399 + '专属服务:${userphone}',
  400 + style: TextStyle(
  401 + color: MyColours.color_999999,
  402 + fontWeight: FontWeight.bold,
  403 + fontSize: font(12)),
  404 + ),
  405 + ],
  406 + ),
  407 + HEmptyView(6),
  408 + Column(
  409 + crossAxisAlignment: CrossAxisAlignment.start,
  410 + children: [
  411 + RoundButton(
  412 + width: w(72),
  413 + height: w(22),
  414 + text: '拨打电话',
  415 + gradientStart: MyColours.color_ffffff,
  416 + gradientEnd: MyColours.color_ffffff,
  417 + borderColor: MyColours.color_0143A3,
  418 + textColor: MyColours.color_0143A3,
  419 + radius: r(11),
  420 + fontSize: 24,
  421 + isBold: true,
  422 + onPressed: () {},
  423 + ),
  424 + VEmptyView(16),
  425 + RoundButton(
  426 + width: w(72),
  427 + height: w(22),
  428 + text: '复制微信号',
  429 + gradientStart: MyColours.color_ffffff,
  430 + gradientEnd: MyColours.color_ffffff,
  431 + borderColor: MyColours.color_0143A3,
  432 + textColor: MyColours.color_0143A3,
  433 + radius: r(11),
  434 + fontSize: 24,
  435 + isBold: true,
  436 + onPressed: () {},
  437 + ),
  438 + ],
  439 + )
  440 + ],
  441 + )
  442 + : SizedBox(),
  443 + addManager ? VEmptyView(10) : SizedBox(),
  444 + Text('欢迎垂询,恭候光临!',
  445 + style: TextStyle(
  446 + color: MyColours.color_000000, fontSize: font(14))),
  447 + ],
  448 + ),
  449 + ),
  450 + VEmptyView(20),
  451 + Container(
  452 + width: double.infinity,
  453 + margin: EdgeInsets.symmetric(horizontal: w(20)),
  454 + padding:
  455 + EdgeInsets.symmetric(horizontal: w(15), vertical: w(12)),
  456 + decoration: BoxDecoration(
  457 + color: MyColours.color_d9d9d9,
  458 + borderRadius: BorderRadius.circular(r(5))),
  459 + child: Row(
  460 + children: [
  461 + Image.asset(
  462 + Utils.getImgPath('location_blue'),
  463 + width: w(26),
  464 + ),
  465 + HEmptyView(28),
  466 + Expanded(
  467 + child: Column(
  468 + crossAxisAlignment: CrossAxisAlignment.start,
  469 + children: [
  470 + Text('${sellername}',
  471 + style: TextStyle(
  472 + color: MyColours.color_000000,
  473 + fontWeight: FontWeight.bold,
  474 + fontSize: font(14))),
  475 + VEmptyView(10),
  476 + Text('${address}',
  477 + style: TextStyle(
  478 + height: 1.3,
  479 + color: MyColours.color_000000,
  480 + fontSize: font(14))),
  481 + ],
  482 + ))
  483 + ],
  484 + ),
  485 + ),
  486 + VEmptyView(16)
  487 + ]),
  488 + )),
  489 + Container(
  490 + color: MyColours.color_ffffff,
  491 + padding: EdgeInsets.only(
  492 + left: w(45), right: w(45), top: w(12), bottom: w(25)),
  493 + child: RoundButton(
  494 + text: '保存',
  495 + gradientStart: MyColours.color_199095,
  496 + gradientEnd: MyColours.color_199095,
  497 + // borderColor: MyColours.color_999999,
  498 + radius: r(5),
  499 + fontSize: 34,
  500 + height: w(40),
  501 + isBold: true,
  502 + onPressed: () {},
  503 + ),
  504 + )
  505 + ],
  506 + ),
  507 + );
  508 + }
  509 +}
@@ -228,7 +228,7 @@ class _FirstImagePageState extends State<FirstImagePage> { @@ -228,7 +228,7 @@ class _FirstImagePageState extends State<FirstImagePage> {
228 focusNode: sloganNode, 228 focusNode: sloganNode,
229 cursorColor: MyColours.color_F8F9FD, 229 cursorColor: MyColours.color_F8F9FD,
230 230
231 - // autofocus: true, 231 + // autofocuzs: true,
232 232
233 style: TextStyle( 233 style: TextStyle(
234 fontSize: font(36), 234 fontSize: font(36),
@@ -146,7 +146,9 @@ class _MarketingCenterHomePageState extends State<MarketingCenterHomePage> { @@ -146,7 +146,9 @@ class _MarketingCenterHomePageState extends State<MarketingCenterHomePage> {
146 _item('首图形象展示', onTap: () { 146 _item('首图形象展示', onTap: () {
147 NavigatorUtil.goFirstImagePage(context); 147 NavigatorUtil.goFirstImagePage(context);
148 }), 148 }),
149 - _item('预订信息模块', onTap: () {}), 149 + _item('预订信息模块', onTap: () {
  150 + NavigatorUtil.goBookInfoPage(context);
  151 + }),
150 _item('店铺介绍展示', onTap: () {}), 152 _item('店铺介绍展示', onTap: () {}),
151 _item('主厨介绍展示', onTap: () {}), 153 _item('主厨介绍展示', onTap: () {}),
152 _item('招牌菜展示', onTap: () {}), 154 _item('招牌菜展示', onTap: () {}),
1 import 'package:flutter/material.dart'; 1 import 'package:flutter/material.dart';
  2 +import 'package:one_key/provider/user_model.dart';
  3 +import 'package:provider/provider.dart';
2 4
3 -class MarketingCenterProvider extends ChangeNotifier {} 5 +import '../models/tableOuter.dart';
  6 +import 'choose_table_model.dart';
  7 +
  8 +class MarketingCenterProvider extends ChangeNotifier {
  9 + List<TableOuter> tableOuterList = []; //区域-桌位列表
  10 + //获取桌位列表
  11 + getTableList(context, {needLoading = true}) async {
  12 + UserModel userModel = Provider.of<UserModel>(context, listen: false);
  13 + Map<String, String> params = {"sellerid": userModel.user.sellerid};
  14 + ChooseTableModel _chooseTableModel = ChooseTableModel();
  15 + tableOuterList = await _chooseTableModel.getTableList(context, params,
  16 + needLoading: needLoading);
  17 + notifyListeners();
  18 + }
  19 +}
@@ -1402,4 +1402,12 @@ class NavigatorUtil { @@ -1402,4 +1402,12 @@ class NavigatorUtil {
1402 }) { 1402 }) {
1403 return _navigateTo(context, "${Routes.first_image_page}", replace: replace); 1403 return _navigateTo(context, "${Routes.first_image_page}", replace: replace);
1404 } 1404 }
  1405 +
  1406 + ///预订安排通知定制------预订信息展示
  1407 + static Future<dynamic> goBookInfoPage(
  1408 + BuildContext context, {
  1409 + replace = false,
  1410 + }) {
  1411 + return _navigateTo(context, "${Routes.book_info_page}", replace: replace);
  1412 + }
1405 } 1413 }
@@ -177,6 +177,7 @@ import '../pages/my/feast_manage/feast_setmeal_manage_edit_page.dart'; @@ -177,6 +177,7 @@ import '../pages/my/feast_manage/feast_setmeal_manage_edit_page.dart';
177 import '../pages/my/feast_manage/feast_type_page.dart'; 177 import '../pages/my/feast_manage/feast_type_page.dart';
178 import '../pages/my/feast_manage/feast_wine_manage_edit_page.dart'; 178 import '../pages/my/feast_manage/feast_wine_manage_edit_page.dart';
179 import '../pages/my/feast_manage/feast_wine_manage_page.dart'; 179 import '../pages/my/feast_manage/feast_wine_manage_page.dart';
  180 +import '../pages/my/marketing_center/book_notification/book_info_page.dart';
180 import '../pages/my/marketing_center/book_notification/first_image_page.dart'; 181 import '../pages/my/marketing_center/book_notification/first_image_page.dart';
181 import '../pages/my/marketing_center/marketing_center_home_page.dart'; 182 import '../pages/my/marketing_center/marketing_center_home_page.dart';
182 import '../pages/my/plan_dish/final_plan_dish_page.dart'; 183 import '../pages/my/plan_dish/final_plan_dish_page.dart';
@@ -2294,7 +2295,7 @@ var marketingCenterHomePageHandle = new Handler( @@ -2294,7 +2295,7 @@ var marketingCenterHomePageHandle = new Handler(
2294 child: MarketingCenterHomePage()); 2295 child: MarketingCenterHomePage());
2295 }); 2296 });
2296 2297
2297 -//我的----营销中心 2298 +//我的----首图形象展示
2298 var firstImagePageHandle = new Handler( 2299 var firstImagePageHandle = new Handler(
2299 handlerFunc: (BuildContext context, Map<dynamic, List<Object>> params) { 2300 handlerFunc: (BuildContext context, Map<dynamic, List<Object>> params) {
2300 // String idstr = params["idstr"].first; 2301 // String idstr = params["idstr"].first;
@@ -2303,3 +2304,17 @@ var firstImagePageHandle = new Handler( @@ -2303,3 +2304,17 @@ var firstImagePageHandle = new Handler(
2303 return ChangeNotifierProvider<MarketingCenterProvider>( 2304 return ChangeNotifierProvider<MarketingCenterProvider>(
2304 create: (_) => MarketingCenterProvider(), child: FirstImagePage()); 2305 create: (_) => MarketingCenterProvider(), child: FirstImagePage());
2305 }); 2306 });
  2307 +
  2308 +//我的----营销中心-预订信息展示
  2309 +var bookInfoPageHandle = new Handler(
  2310 + handlerFunc: (BuildContext context, Map<dynamic, List<Object>> params) {
  2311 + // String idstr = params["idstr"].first;
  2312 + // NotebookDetail detailEntity = NotebookDetail.fromJson(json
  2313 + // .decode(FluroConvertUtils.fluroCnParamsDecode(params["detail"].first)));
  2314 + return ChangeNotifierProvider<MarketingCenterProvider>(
  2315 + create: (_) => MarketingCenterProvider(),
  2316 + child: ChangeNotifierProvider<ChooseTableModel>(
  2317 + create: (_) => ChooseTableModel(),
  2318 + child: ChangeNotifierProvider<StoreBaseIndoProvider>(
  2319 + create: (_) => StoreBaseIndoProvider(), child: BookInfoPage())));
  2320 +});
@@ -192,6 +192,7 @@ class Routes { @@ -192,6 +192,7 @@ class Routes {
192 static String marketing_center_home_page = 192 static String marketing_center_home_page =
193 "/marketing_center_home_page"; //我的---营销中心 193 "/marketing_center_home_page"; //我的---营销中心
194 static String first_image_page = "/first_image_page"; //预订安排通知定制------首图形象展示 194 static String first_image_page = "/first_image_page"; //预订安排通知定制------首图形象展示
  195 + static String book_info_page = "/book_info_page"; //预订安排通知定制------预订信息展示
195 196
196 static void configureRoutes(FluroRouter router) { 197 static void configureRoutes(FluroRouter router) {
197 router.notFoundHandler = new Handler( 198 router.notFoundHandler = new Handler(
@@ -377,10 +378,8 @@ class Routes { @@ -377,10 +378,8 @@ class Routes {
377 router.define(marketing_center_home_page, 378 router.define(marketing_center_home_page,
378 handler: marketingCenterHomePageHandle); 379 handler: marketingCenterHomePageHandle);
379 380
380 - router.define(first_image_page,  
381 - handler: firstImagePageHandle); 381 + router.define(first_image_page, handler: firstImagePageHandle);
382 382
383 -  
384 - 383 + router.define(book_info_page, handler: bookInfoPageHandle);
385 } 384 }
386 } 385 }
@@ -39,6 +39,14 @@ import 'package:image_cropper/image_cropper.dart'; @@ -39,6 +39,14 @@ import 'package:image_cropper/image_cropper.dart';
39 typedef BookTimeSetCallback = void Function(bool needChange); 39 typedef BookTimeSetCallback = void Function(bool needChange);
40 40
41 class Utils { 41 class Utils {
  42 + ///2023-03-11 二月二十
  43 + static String returnYMDandLunarCalendar(DateTime day, BuildContext context) {
  44 + String date =
  45 + "${day.year}-${Utils.addZeroNumber(day.month)}-${Utils.addZeroNumber(day.day)} ";
  46 + date += Utils.lunarCalendarHolidays(day);
  47 + return date;
  48 + }
  49 +
42 //判定是否为数字 50 //判定是否为数字
43 static bool isNumeric(String s) { 51 static bool isNumeric(String s) {
44 if (s == null) { 52 if (s == null) {