Commit ef8f6dff62ef8a704714c8507571f1b83effcb5f

Authored by wdn127929
1 parent 93533c26

宴会

/**
* 宴会看板
*/
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:table_calendar/table_calendar.dart';
import '../../utils/utils.dart';
import '../../widgets/round_button.dart';
import '../../widgets/v_empty_view.dart';
import 'feast_board.item.dart';
class FeastBoardPage extends StatefulWidget {
FeastBoardPage({Key key}) : super(key: key);
@override
_FeastBoardPageState createState() => _FeastBoardPageState();
}
class _FeastBoardPageState extends State<FeastBoardPage> {
CalendarController _calendarController = CalendarController();
DateTime dateTimeNow; //当前日期
bool calendarShow = true; //日历展开
@override
void initState() {
// TODO: implement initState
super.initState();
dateTimeNow = DateTime.now();
Utils.changeStatusColor(color: MyColours.color_438E93);
}
//解析返回显示的日期
static String _parseDateDay(DateTime dateTime) {
DateTime now = DateTime.now();
if (Utils.isOneDay(dateTime, now)) {
return "今";
}
// else if (Utils.isOneDay(dateTime, now.add(Duration(days: 1)))) {
// return "明";
// } else if (Utils.isOneDay(dateTime, now.add(Duration(days: 2)))) {
// return "后";
// }
else {
return '${Utils.lunarCalendarHolidaysShow(dateTime)}';
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: MyColours.color_ffffff,
appBar: SystemAppBar(
'宴会看板',
needWhite: true,
bgColor: MyColours.color_438E93,
titleColor: MyColours.color_F6F6F6,
onTap: () {
Navigator.pop(context);
},
),
body: Column(
children: <Widget>[
Container(
decoration:
BoxDecoration(color: MyColours.color_ffffff, boxShadow: [
BoxShadow(
offset: Offset(
0,
ScreenUtil().setWidth(8),
),
blurRadius: ScreenUtil().setWidth(8),
color: MyColours.color_26000000)
]),
child: Column(
children: [
TableCalendar(
// rowHeight: ScreenUtil().setWidth(100),
rowHeight: ScreenUtil().setWidth(106),
calendarController: _calendarController,
initialSelectedDay: dateTimeNow,
onDaySelected: (day, events, holidays) {
if (!Utils.isOneDay(day, dateTimeNow)) {
//不是一天
dateTimeNow = day;
}
},
// holidays: _holidays,
availableGestures: AvailableGestures.none,
locale: "zh_CN",
initialCalendarFormat: calendarShow
? CalendarFormat.month
: CalendarFormat.week,
headerStyle: HeaderStyle(
decoration: BoxDecoration(color: MyColours.color_ffffff),
headerPadding: EdgeInsets.symmetric(
// vertical: ScreenUtil().setWidth(24),
horizontal: ScreenUtil().setWidth(66)),
formatButtonVisible: false,
centerHeaderTitle: true,
titleTextBuilder: (dateTime, _) {
return dateTime.year.toString() +
' ' +
"年" +
' ' +
dateTime.month.toString() +
' ' +
"月";
},
titleTextStyle: TextStyle(
fontWeight: FontWeight.bold,
color: MyColours.color_515151,
fontSize: ScreenUtil().setSp(44)),
leftChevronIcon: Icon(Icons.chevron_left,
color: MyColours.color_000000,
size: ScreenUtil().setWidth(48)),
rightChevronIcon: Icon(Icons.chevron_right,
color: MyColours.color_000000,
size: ScreenUtil().setWidth(48)),
),
calendarStyle: CalendarStyle(
contentPadding:
EdgeInsets.only(bottom: ScreenUtil().setWidth(8)),
weekdayStyle: TextStyle(
color: MyColours.color_2bb5b7,
fontSize: ScreenUtil().setSp(32)),
weekendStyle: TextStyle(
color: MyColours.color_f49a5e,
fontSize: ScreenUtil().setSp(32)),
selectedColor: MyColours.color_2bb5b7,
outsideDaysVisible: false,
),
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(
weekday,
style: TextStyle(
color: MyColours.color_999999,
fontSize: ScreenUtil().setSp(32)),
),
);
},
dayBuilder: (context, date, _) {
return Container(
// height: ScreenUtil().setWidth(210),
decoration: BoxDecoration(
// shape: BoxShape.circle,
// color: Colors.blue,
),
// alignment: Alignment.center,
// margin: EdgeInsets.fromLTRB(
// ScreenUtil().setWidth(12),
// ScreenUtil().setWidth(12),
// ScreenUtil().setWidth(12),
// ScreenUtil().setWidth(10)),
// padding: EdgeInsets.symmetric(
// // horizontal: ScreenUtil().setWidth(12),
// vertical: ScreenUtil().setWidth(8),
// ),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
// "${_parseDateDay(date)}",
// '${Utils.addZeroNumber(date.day)}',
'${date.day}',
style: TextStyle().copyWith(
fontSize: ScreenUtil().setSp(32),
color: MyColours.color_515151,
fontWeight: FontWeight.bold)),
VEmptyView(4),
// Text(
// // "${_parseDateDay(date)}",
// '${Utils.getLunarSpecialDate(date)}',
// style: TextStyle().copyWith(
// fontSize: ScreenUtil().setSp(22),
// color: MyColours.color_353535),
// ),
Text(
"${_parseDateDay(date)}",
style: TextStyle().copyWith(
fontSize: ScreenUtil().setSp(20),
color: MyColours.color_515151),
),
Container(
margin: EdgeInsets.symmetric(
vertical: ScreenUtil().setWidth(4)),
width: ScreenUtil().setWidth(16),
height: ScreenUtil().setWidth(16),
decoration: BoxDecoration(
color: MyColours.color_E34D59,
borderRadius: BorderRadius.circular(
ScreenUtil().radius(8))),
)
],
),
);
},
selectedDayBuilder: (context, date, _) {
return Container(
// alignment: Alignment.center,
// margin: EdgeInsets.fromLTRB(
// ScreenUtil().setWidth(12),
// ScreenUtil().setWidth(12),
// ScreenUtil().setWidth(12),
// ScreenUtil().setWidth(32)),
padding: EdgeInsets.only(
bottom: ScreenUtil().setWidth(10),
left: ScreenUtil().setWidth(5),
right: ScreenUtil().setWidth(5),
top: ScreenUtil().setWidth(10)),
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(
ScreenUtil().setWidth(10)),
color: MyColours.color_438E93),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
// "${_parseDateDay(date)}",
// '${Utils.addZeroNumber(date.day)}',
'${date.day}',
style: TextStyle().copyWith(
color: MyColours.color_F6F6F6,
fontSize: ScreenUtil().setSp(32),
fontWeight: FontWeight.bold),
),
Text(
"${_parseDateDay(date)}",
// '${Utils.lunarCalendarHolidaysShow(date)}',
style: TextStyle().copyWith(
fontSize: ScreenUtil().setSp(22),
color: MyColours.color_F6F6F6),
),
Container(
margin: EdgeInsets.symmetric(
vertical: ScreenUtil().setWidth(4)),
width: ScreenUtil().setWidth(16),
height: ScreenUtil().setWidth(16),
decoration: BoxDecoration(
color: MyColours.color_E34D59,
borderRadius: BorderRadius.circular(
ScreenUtil().radius(8))),
)
],
),
),
);
},
todayDayBuilder: (context, date, _) {
return Container(
// alignment: Alignment.center,
// margin: EdgeInsets.fromLTRB(
// ScreenUtil().setWidth(12),
// ScreenUtil().setWidth(12),
// ScreenUtil().setWidth(12),
// ScreenUtil().setWidth(32)),
padding: EdgeInsets.only(
bottom: ScreenUtil().setWidth(10),
left: ScreenUtil().setWidth(5),
right: ScreenUtil().setWidth(5),
top: ScreenUtil().setWidth(10)),
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(
ScreenUtil().setWidth(10)),
color: MyColours.color_2bb5b7),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
// "${_parseDateDay(date)}",
// '${Utils.addZeroNumber(date.day)}',
'${date.day}',
style: TextStyle().copyWith(
color: MyColours.color_F6F6F6,
fontSize: ScreenUtil().setSp(32),
fontWeight: FontWeight.bold),
),
Text(
"${_parseDateDay(date)}",
// '${Utils.lunarCalendarHolidaysShow(date)}',
style: TextStyle().copyWith(
fontSize: ScreenUtil().setSp(22),
color: MyColours.color_F6F6F6),
),
Container(
margin: EdgeInsets.symmetric(
vertical: ScreenUtil().setWidth(4)),
width: ScreenUtil().setWidth(16),
height: ScreenUtil().setWidth(16),
decoration: BoxDecoration(
color: MyColours.color_E34D59,
borderRadius: BorderRadius.circular(
ScreenUtil().radius(8))),
)
],
),
),
);
// return Container(
// decoration: BoxDecoration(
// shape: BoxShape.circle,
// border: Border.all(
// color: MyColours.color_2bb5b7,
// width: ScreenUtil().setWidth(2))),
// alignment: Alignment.center,
// margin: EdgeInsets.fromLTRB(
// ScreenUtil().setWidth(12),
// ScreenUtil().setWidth(12),
// ScreenUtil().setWidth(12),
// ScreenUtil().setWidth(32)),
// padding: EdgeInsets.only(
// bottom: ScreenUtil().setWidth(8),
// left: ScreenUtil().setWidth(16),
// right: ScreenUtil().setWidth(16),
// top: ScreenUtil().setWidth(8)),
// child: Text(
// // '今',
// '${Utils.addZeroNumber(date.day)}',
// style: TextStyle().copyWith(
// fontSize: ScreenUtil().setSp(32),
// color: MyColours.color_2bb5b7),
// ),
// );
},
markersBuilder: (context, date, events, holidays) {
final children = <Widget>[];
// if (events.isNotEmpty) {
// children.add(
// Positioned(
// right: 1,
// bottom: 1,
// child: _buildEventsMarker(date, events),
// ),
// );
// }
// if (holidays.isNotEmpty) {
// children.add(
// Positioned(
// right: ScreenUtil().setWidth(27),
// bottom: 0,
// top: ScreenUtil().setWidth(30),
// child: buildMarker(date)),
// Align(
// alignment: Alignment.bottomCenter,
// child: buildMarker(date),
// )
// );
// }
return [];
},
// singleMarkerBuilder: (context, dateTime, event) {
// return Container(
// width: ScreenUtil().setWidth(6),
// height: ScreenUtil().setWidth(6),
// margin:
// const EdgeInsets.symmetric(horizontal: 0.3),
// decoration: BoxDecoration(
// shape: BoxShape.circle,
// color: MyColours.color_ff0000,
// ),
// );
// },
),
),
VEmptyView(4),
InkWell(
onTap: () {
calendarShow = !calendarShow;
if (calendarShow) {
_calendarController
.setCalendarFormat(CalendarFormat.month);
} else {
_calendarController
.setCalendarFormat(CalendarFormat.week);
}
setState(() {});
},
child: Image.asset(
Utils.getImgPath(calendarShow
? 'y_chevron_up_circle'
: 'y_chevron_down_circle'),
width: ScreenUtil().setWidth(32))),
VEmptyView(32),
],
)),
VEmptyView(48),
Expanded(
child: ListView.builder(
padding: EdgeInsets.symmetric(horizontal: ScreenUtil().setWidth(8)),
itemBuilder: (context, index) {
return FeastBoardItem();
},
itemCount: 100,
)),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
RoundButton(
onPressed: () async {
_calendarController.setSelectedDay(DateTime.now());
setState(() {});
},
text: '回到今天',
fontSize: 28,
isBold: false,
height: ScreenUtil().setWidth(70),
width: ScreenUtil().setWidth(220),
gradientStart: MyColours.color_2bb5b7,
gradientEnd: MyColours.color_2bb5b7,
radius: ScreenUtil().setWidth(10),
),
RoundButton(
onPressed: () async {
Navigator.pop(context);
},
text: '取消',
fontSize: 28,
isBold: false,
textColor: MyColours.color_333333,
borderColor: Color.fromRGBO(119, 119, 119, 1),
height: ScreenUtil().setWidth(70),
width: ScreenUtil().setWidth(220),
gradientStart: Colors.transparent,
gradientEnd: Colors.transparent,
radius: ScreenUtil().setWidth(10),
)
],
),
],
),
);
}
}
... ...
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/widgets/MyDivider.dart';
import 'package:one_key/widgets/h_empty_view.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import '../../widgets/round_button.dart';
class FeastBoardItem extends StatefulWidget {
FeastBoardItem({Key key}) : super(key: key);
@override
_FeastBoardItemState createState() => _FeastBoardItemState();
}
class _FeastBoardItemState extends State<FeastBoardItem> {
Widget numWidget(String title, bool select, {bool needMargin = true}) {
return Container(
width: ScreenUtil().setWidth(32),
height: ScreenUtil().setWidth(32),
alignment: Alignment.center,
margin: needMargin
? EdgeInsets.only(right: ScreenUtil().setWidth(50))
: EdgeInsets.zero,
decoration: BoxDecoration(
color: select ? MyColours.color_438E93 : MyColours.color_BFC4D4,
borderRadius: BorderRadius.circular(ScreenUtil().radius(4))),
child: Text(
title,
style: TextStyle(
color: select ? MyColours.color_ffffff : MyColours.color_515151,
fontSize: ScreenUtil().setSp(16)),
),
);
}
Widget canduanWidget(String title) {
return Column(
children: [
VEmptyView(16),
Row(
children: [
Text(
title,
style: TextStyle(
fontSize: ScreenUtil().setSp(28),
color: MyColours.color_000000,
fontWeight: FontWeight.bold),
),
HEmptyView(56),
RoundButton(
onPressed: () async {},
text: '刘经理 30桌',
fontSize: 20,
isBold: false,
height: ScreenUtil().setWidth(36),
width: ScreenUtil().setWidth(64 * 2),
gradientStart: MyColours.color_438E93,
gradientEnd: MyColours.color_438E93,
radius: ScreenUtil().radius(10),
textColor: MyColours.color_F6F6F6,
),
],
),
VEmptyView(16),
MyDivider(
double.infinity,
ScreenUtil().setWidth(2),
color: MyColours.color_DBDBDB,
)
],
);
}
@override
Widget build(BuildContext context) {
return Container(
margin: EdgeInsets.only(bottom: ScreenUtil().setWidth(40)),
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(24),
vertical: ScreenUtil().setWidth(16)),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(ScreenUtil().radius(10)),
border: Border.all(
color: MyColours.color_438E93, width: ScreenUtil().setWidth(2))),
child: Column(
children: [
Row(
children: [
Text(
'凤凰厅',
style: TextStyle(
color: MyColours.color_438E93,
fontSize: ScreenUtil().setSp(40),
fontWeight: FontWeight.bold),
),
Spacer(),
numWidget('空', false),
numWidget('1', true),
numWidget('空', false),
numWidget('空', false, needMargin: false),
],
),
VEmptyView(24),
canduanWidget('早餐'),
canduanWidget('午餐'),
canduanWidget('晚餐'),
canduanWidget('其他'),
],
),
);
}
}
... ...
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/widgets/v_empty_view.dart';
class FeastItem extends StatefulWidget {
FeastItem({Key key}) : super(key: key);
@override
_FeastItemState createState() => _FeastItemState();
}
class _FeastItemState extends State<FeastItem> {
List<Widget> taocanWidget(List data) {
List<Widget> list = [];
data.forEach((element) {
list.add(
RichText(
textScaleFactor: 1,
overflow: TextOverflow.ellipsis,
// textDirection: TextDirection.ltr,
// textAlign: TextAlign.left,
text: TextSpan(
children: [
TextSpan(
text: "1299套餐:",
style: TextStyle(
color: MyColours.color_000000,
fontSize: ScreenUtil().setSp(28)),
recognizer: TapGestureRecognizer()..onTap = () {}),
TextSpan(
text: "已调菜",
style: TextStyle(
color: MyColours.color_438E93,
fontSize: ScreenUtil().setSp(28)),
//点击事件
recognizer: TapGestureRecognizer()
..onTap = () {
print("点击了安全协议");
}),
TextSpan(
text: "保证30桌、备2桌",
style: TextStyle(
color: MyColours.color_000000,
fontSize: ScreenUtil().setSp(28)),
recognizer: TapGestureRecognizer()..onTap = () {}),
],
)),
);
});
return list;
}
@override
Widget build(BuildContext context) {
return Container(
margin: EdgeInsets.only(bottom: ScreenUtil().setWidth(36)),
decoration: BoxDecoration(
border: Border.all(
color: MyColours.color_f3f3f3, width: ScreenUtil().setWidth(2)),
boxShadow: [
BoxShadow(
color: MyColours.color_1F000000,
offset: Offset(0, ScreenUtil().setWidth(8)),
blurRadius: ScreenUtil().setWidth(8))
],
borderRadius: BorderRadius.circular(ScreenUtil().radius(10))),
child: Column(
children: [
Container(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(16),
vertical: ScreenUtil().setWidth(8)),
decoration: BoxDecoration(
color: MyColours.color_438E93,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(ScreenUtil().radius(10)),
topRight: Radius.circular(ScreenUtil().radius(10)),
),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'8月1日 午餐 14:00-16:00',
style: TextStyle(
fontWeight: FontWeight.bold,
color: MyColours.color_F6F6F6,
fontSize: ScreenUtil().setSp(40)),
),
Text(
'婚宴',
style: TextStyle(
fontWeight: FontWeight.bold,
color: MyColours.color_F6F6F6,
fontSize: ScreenUtil().setSp(40)),
)
],
)),
Container(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(16),
vertical: ScreenUtil().setWidth(14)),
decoration: BoxDecoration(
color: MyColours.color_ffffff,
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(ScreenUtil().radius(10)),
bottomRight: Radius.circular(ScreenUtil().radius(10)),
),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'桌位:凤凰厅、包间1、包间2',
style: TextStyle(
color: MyColours.color_000000,
fontSize: ScreenUtil().setSp(28)),
),
VEmptyView(8),
Column(
children: taocanWidget(['ff', 'ff', 'ff', 'ff']),
),
VEmptyView(36),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'方先生 订32桌 备2桌',
style: TextStyle(
fontWeight: FontWeight.bold,
color: MyColours.color_000000,
fontSize: ScreenUtil().setSp(28)),
),
Text(
'负责人:刘经理',
style: TextStyle(
fontWeight: FontWeight.bold,
color: MyColours.color_000000,
fontSize: ScreenUtil().setSp(28)),
),
],
)
],
),
)
],
),
);
}
}
... ...
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/pages/feast/feast_item.dart';
import 'package:one_key/provider/feast_model.dart';
import 'package:one_key/route/navigator_util.dart';
import 'package:one_key/utils/utils.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import '../../constant/state.dart';
import '../../res/colors.dart';
import '../../widgets/page_exception.dart';
class FeastPage extends StatefulWidget {
FeastPage({Key key}) : super(key: key);
@override
_FeastPageState createState() => _FeastPageState();
}
class _FeastPageState extends State<FeastPage> {
Widget upAndDown(String image, String title, {GestureTapCallback onTap}) {
return InkWell(
onTap: onTap,
child: Column(
children: [
Image.asset(Utils.getImgPath(image),
width: ScreenUtil().setWidth(36 * 2)),
VEmptyView(8),
Text(
title,
style: TextStyle(
fontSize: ScreenUtil().setSp(28),
color: MyColours.color_515151),
)
],
));
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: MyColours.color_ffffff,
// appBar: SystemAppBar(''),
body: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
VEmptyView(112),
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
upAndDown('y_kanban', '宴会看板', onTap: () {
NavigatorUtil.goFeastBoardPage(context);
}),
upAndDown('y_new', '新建宴会'),
Stack(clipBehavior: Clip.none, children: [
upAndDown('y_schedule', '待跟进'),
Positioned(
right: ScreenUtil().setWidth(-6),
bottom: ScreenUtil().setWidth(32),
child: Container(
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius:
BorderRadius.circular(ScreenUtil().setWidth(16)),
color: MyColours.color_E34D59),
width: ScreenUtil().setWidth(32),
height: ScreenUtil().setWidth(32),
child: Text(
'7',
style: TextStyle(
color: MyColours.color_F6F6F6,
fontWeight: FontWeight.bold,
fontSize: ScreenUtil().setSp(24)),
),
),
)
]),
upAndDown('y_money', '定金管理')
],
),
VEmptyView(102),
Padding(
padding: EdgeInsets.only(left: ScreenUtil().setWidth(48)),
child: Text(
'30天内宴会',
style: TextStyle(
color: MyColours.color_000000,
fontSize: ScreenUtil().setSp(28)),
),
),
VEmptyView(26),
Expanded(child: Consumer<FeastModel>(builder: (context, model, _) {
if (model.pageState != PageState.Success) {
return ExceptionPage(
pageState: model.pageState,
callback: () {
// offset = 0;
// getMessage(showLoading: true);
},
emptyMsg: "还未创建宴会",
emptyImg: "empty_search",
showMsg: "加载中,请稍后...",
);
} else {
return ListView.builder(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(24)),
itemBuilder: (context, index) {
return FeastItem();
},
itemCount: 100,
);
}
}))
],
));
}
}
... ...
... ... @@ -37,6 +37,9 @@ import 'package:tpns_flutter_plugin/tpns_flutter_plugin.dart';
import 'package:flutter_app_badger/flutter_app_badger.dart';
import 'package:one_key/models/message.dart';
import '../../provider/feast_model.dart';
import '../feast/feast_page.dart';
class HomePage extends StatefulWidget {
final int initialIndex; //初始tab
... ... @@ -141,6 +144,10 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
child: ChangeNotifierProvider<TableManagerModel>(
create: (_) => TableManagerModel(), child: TableManagerPage()),
)))
..add(
ChangeNotifierProvider<FeastModel>(
create: (_) => FeastModel(), child: FeastPage()),
)
..add(ChangeNotifierProvider<MyModel>(
create: (_) => MyModel(),
child: MyPage(),
... ... @@ -883,6 +890,19 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
),
BottomNavigationBarItem(
icon: Image(
image: AssetImage("assets/y_feast_un.png"),
width: ScreenUtil().setWidth(48),
height: ScreenUtil().setWidth(48),
),
activeIcon: Image(
image: AssetImage("assets/y_feast_sel.png"),
width: ScreenUtil().setWidth(48),
height: ScreenUtil().setWidth(48),
),
label: "宴会",
),
BottomNavigationBarItem(
icon: Image(
image: AssetImage("assets/my_default.png"),
width: ScreenUtil().setWidth(48),
height: ScreenUtil().setWidth(48),
... ... @@ -909,7 +929,7 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
_currIndex = index;
_pageController.jumpToPage(index);
});
if (_currIndex == 3) {
if (_currIndex == 4) {
Utils.changeStatusColor(color: MyColours.color_199095);
} else {
Utils.changeStatusColor(color: Colors.white);
... ...
import 'package:flutter/material.dart';
import 'package:one_key/constant/state.dart';
class FeastModel extends ChangeNotifier {
PageState pageState = PageState.Success;
}
... ...
import 'package:flutter/material.dart';
class MyColours {
static const Color color_F6F6F6 = Color(0xffF6F6F6);
static const Color color_E6000000 = Color(0xE6000000);
static const Color color_99000000 = Color(0x99000000);
static const Color color_E5000000 = Color(0xE5000000);
... ... @@ -56,6 +57,8 @@ class MyColours {
static const Color color_131313 = Color(0xff131313);
static const Color color_2e000000 = Color(0x2e000000);
static const Color color_14000000 = Color(0x14000000);
static const Color color_1F000000 = Color(0x1F000000);
static const Color color_bfbfbf = Color(0xffBFBFBF);
static const Color color_828282 = Color(0xff828282);
static const Color color_a8e2e4 = Color(0xffA8E2E4);
... ...
... ... @@ -841,4 +841,10 @@ class NavigatorUtil {
"${Routes.coupon_to_personnel_page}?uids=$uids&onlyShow=$onlyShow",
replace: replace);
}
///宴会----宴会看板
static Future<dynamic> goFeastBoardPage(BuildContext context,
{replace = false, bool onlyShow = false}) {
return _navigateTo(context, "${Routes.feast_board_page}", replace: replace);
}
}
... ...
... ... @@ -141,6 +141,9 @@ import 'package:one_key/utils/fluro_convert_utils.dart';
import 'package:one_key/utils/utils.dart';
import 'package:provider/provider.dart';
import '../pages/feast/feast_board.dart';
import '../provider/feast_model.dart';
// 登录页
var loginHandler = new Handler(
handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
... ... @@ -322,8 +325,7 @@ var handleInvicationHandler = new Handler(
return ChangeNotifierProvider<RemarkManagerModel>(
create: (_) => RemarkManagerModel(),
child: ChangeNotifierProvider<BaseIndoProvider>(
create: (_) => BaseIndoProvider(),
child: InvicationPage(rid)));
create: (_) => BaseIndoProvider(), child: InvicationPage(rid)));
});
// 发短信
... ... @@ -1317,3 +1319,13 @@ var couponToPersonnelPageHandle = new Handler(
create: (_) => PersonnelProvider(),
child: CouponToPersonnalPage(uids: uids, onlyShow: onlyShow));
});
///宴会----宴会看板
var feastBoardPageHandle = new Handler(
handlerFunc: (BuildContext context, Map<dynamic, List<Object>> params) {
// String uids = params["uids"].first;
// bool onlyShow = FluroConvertUtils.string2bool(params["onlyShow"].first);
return ChangeNotifierProvider<FeastModel>(
create: (_) => FeastModel(), child: FeastBoardPage());
});
... ...
... ... @@ -115,6 +115,9 @@ class Routes {
"/coupon_create_select_type_page"; //选择优惠券类型
static String coupon_to_personnel_page =
"/coupon_to_personnel_page"; //优惠券----可发放员工
static String feast_board_page =
"/FeastBoardPage"; //宴会----宴会看板
static void configureRoutes(FluroRouter router) {
router.notFoundHandler = new Handler(
... ... @@ -233,5 +236,9 @@ class Routes {
handler: couponCreateSelectTypePageHandle);
router.define(coupon_to_personnel_page,
handler: couponToPersonnelPageHandle);
router.define(feast_board_page,
handler: feastBoardPageHandle);
}
}
... ...