Commit 93806064b7f70f7406d8180b8bb3fb75ce6cd089

Authored by wdn127929
1 parent ef85648a

招牌菜展示UI ok

... ... @@ -3,6 +3,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import '../../../../app.dart';
import '../../../../provider/user_model.dart';
import '../../../../res/colors.dart';
import '../../../../utils/screen_util.dart';
... ... @@ -313,6 +314,11 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> {
///图文合并
Widget _mergingWidget() {
Color themColor = MyColours.color_0C0F0E;
int colorValue = App.sp.get("themeColor");
if (colorValue != null) {
themColor = Color(colorValue);
}
return Column(
children: [
Stack(
... ... @@ -333,7 +339,7 @@ class _ChefIntroducePageState extends State<ChefIntroducePage> {
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [
MyColours.color_0C0F0E,
themColor,
MyColours.color_4D0C0F0E,
],
),
... ...
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:provider/provider.dart';
import '../../../../provider/marketing_center_provider.dart';
import '../../../../res/colors.dart';
import '../../../../utils/screen_util.dart';
import '../../../../utils/utils.dart';
import '../../../../widgets/round_button.dart';
import '../../../../widgets/system_app_bar.dart';
import '../../../../widgets/v_empty_view.dart';
/***
* 菜品展示
*/
class DishShowPage extends StatefulWidget {
DishShowPage({Key key}) : super(key: key);
@override
_DishShowPageState createState() => _DishShowPageState();
}
class _DishShowPageState extends State<DishShowPage> {
MarketingCenterProvider marketingCenterProvider;
bool addDish = false;
Widget _item(String title, {bool select, GestureTapCallback onTap}) {
return InkWell(
onTap: onTap,
child: Container(
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(
color: MyColours.color_E7E7E7, width: w(0.5)))),
margin: EdgeInsets.only(left: w(16)),
padding: EdgeInsets.only(top: w(12), bottom: w(12), right: w(16)),
child: Row(
children: [
Text(
title,
style: TextStyle(
color: MyColours.color_515151,
fontSize: ScreenUtil().setWidth(32)),
),
Spacer(),
Container(
padding:
EdgeInsets.symmetric(horizontal: w(7), vertical: w(4)),
child: Image.asset(
Utils.getImgPath(select ? 'swich_on' : 'swich_off'),
width: w(44),
),
)
],
)));
}
Widget _uploadImage(bool hasupload, {EdgeInsets padding = EdgeInsets.zero}) {
return InkWell(
onTap: () {},
child: hasupload
? InkWell(
onTap: () {
print('object');
},
child: Stack(alignment: Alignment.bottomCenter, children: [
Image.network(
'https://www.ssfiction.com/wp-content/uploads/2020/08/20200805_5f2b1669e9a24.jpg',
fit: BoxFit.cover,
height: w(280),
),
Container(
width: w(150),
height: w(30),
color: MyColours.color_4D000000,
margin: padding,
alignment: Alignment.center,
child: Text(
'点击图片可以更换',
style: TextStyle(
color: MyColours.color_F8F9FD,
fontSize: font(14),
fontWeight: FontWeight.bold),
)),
]))
: Container(
color: MyColours.color_d9d9d9,
width: double.infinity,
height: w(280),
padding: padding,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset(
Utils.getImgPath('add_img'),
width: w(63),
),
VEmptyView(28),
Container(
width: w(139),
height: w(60),
child: Text(
'点击上传照片\n为了更好的效果\n建议上传4:3照片',
textAlign: TextAlign.center,
style: TextStyle(
height: 1.4,
color: MyColours.color_ffffff,
fontSize: font(14),
fontWeight: FontWeight.bold),
))
],
),
));
}
@override
Widget build(BuildContext context) {
marketingCenterProvider =
Provider.of<MarketingCenterProvider>(context, listen: true);
return Scaffold(
backgroundColor: MyColours.color_ffffff,
appBar: SystemAppBar(
'招牌菜展示',
onTap: () {
Navigator.pop(context);
},
),
body: Column(children: [
Expanded(
child: SingleChildScrollView(
child: Column(children: [
_item('附加招牌菜展示', select: addDish, onTap: () {
setState(() {
addDish = !addDish;
});
}),
VEmptyView(24),
Container(
alignment: Alignment.centerLeft,
padding: EdgeInsets.only(left: w(16)),
height: w(48),
child: Text(
'效果预览',
style: TextStyle(
fontSize: font(16), color: MyColours.color_515151),
),
),
addDish
? Column(
children: [
VEmptyView(24),
_uploadImage(false),
VEmptyView(18),
_uploadImage(true),
VEmptyView(18),
_uploadImage(true),
VEmptyView(18),
],
)
: SizedBox()
]))),
Container(
color: MyColours.color_ffffff,
padding: EdgeInsets.only(
left: w(45), right: w(45), top: w(12), bottom: w(25)),
child: RoundButton(
text: '保存',
gradientStart: MyColours.color_199095,
gradientEnd: MyColours.color_199095,
// borderColor: MyColours.color_999999,
radius: r(5),
fontSize: 34,
height: w(40),
isBold: true,
onPressed: () {},
),
)
]));
}
}
... ...
... ... @@ -5,6 +5,7 @@ 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 '../../../../app.dart';
import '../../../../models/theme_color_model.dart';
import '../../../../res/colors.dart';
import '../../../../utils/screen_util.dart';
... ... @@ -40,6 +41,18 @@ class _FirstImagePageState extends State<FirstImagePage> {
///初始化主题颜色
_initThemeColor() {
int colorValue = App.sp.get("themeColor");
if (colorValue != null) {
//缓存里有设置好的主题色
if (colorValue == MyColours.color_0C0F0E.value) {
themeColorIndex = 0;
} else if (colorValue == MyColours.color_0143A3.value) {
themeColorIndex = 1;
} else if (colorValue == MyColours.color_438E93.value) {
themeColorIndex = 2;
}
}
ThemeColorModel colorModel = ThemeColorModel();
colorModel.name = '睿智黑';
colorModel.color = MyColours.color_0C0F0E;
... ... @@ -190,6 +203,8 @@ class _FirstImagePageState extends State<FirstImagePage> {
setState(() {
themeColorIndex = object;
});
App.sp.setInt("themeColor",
themeColorData[themeColorIndex].color.value);
});
}),
VEmptyView(24),
... ...
... ... @@ -3,6 +3,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import '../../../../app.dart';
import '../../../../provider/user_model.dart';
import '../../../../res/colors.dart';
import '../../../../utils/screen_util.dart';
... ... @@ -286,6 +287,11 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
///图文合并
Widget _mergingWidget() {
Color themColor = MyColours.color_0C0F0E;
int colorValue = App.sp.get("themeColor");
if (colorValue != null) {
themColor = Color(colorValue);
}
return Column(
children: [
Stack(
... ... @@ -306,7 +312,7 @@ class _StoreIntroducePageState extends State<StoreIntroducePage> {
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [
MyColours.color_0C0F0E,
themColor,
MyColours.color_4D0C0F0E,
],
),
... ...
... ... @@ -155,7 +155,9 @@ class _MarketingCenterHomePageState extends State<MarketingCenterHomePage> {
_item('主厨介绍展示', onTap: () {
NavigatorUtil.goChefIntroducePage(context);
}),
_item('招牌菜展示', onTap: () {}),
_item('招牌菜展示', onTap: () {
NavigatorUtil.goDishShowPage(context);
}),
_item('营销及客户互动功能', onTap: () {}),
],
),
... ...
... ... @@ -1428,4 +1428,13 @@ class NavigatorUtil {
return _navigateTo(context, "${Routes.chef_introduce_page}",
replace: replace);
}
///预订安排通知定制------附加招牌菜展示
static Future<dynamic> goDishShowPage(
BuildContext context, {
replace = false,
}) {
return _navigateTo(context, "${Routes.dish_show_page}",
replace: replace);
}
}
... ...
... ... @@ -179,6 +179,7 @@ import '../pages/my/feast_manage/feast_wine_manage_edit_page.dart';
import '../pages/my/feast_manage/feast_wine_manage_page.dart';
import '../pages/my/marketing_center/book_notification/book_info_page.dart';
import '../pages/my/marketing_center/book_notification/chef_introduce_page.dart';
import '../pages/my/marketing_center/book_notification/dish_show_page.dart';
import '../pages/my/marketing_center/book_notification/first_image_page.dart';
import '../pages/my/marketing_center/book_notification/store_introduce_page.dart';
import '../pages/my/marketing_center/marketing_center_home_page.dart';
... ... @@ -2340,3 +2341,13 @@ var chefIntroducePageHandle = new Handler(
return ChangeNotifierProvider<MarketingCenterProvider>(
create: (_) => MarketingCenterProvider(), child: ChefIntroducePage());
});
//我的----营销中心-招牌菜展示
var dishShowPageHandle = new Handler(
handlerFunc: (BuildContext context, Map<dynamic, List<Object>> params) {
// String idstr = params["idstr"].first;
// NotebookDetail detailEntity = NotebookDetail.fromJson(json
// .decode(FluroConvertUtils.fluroCnParamsDecode(params["detail"].first)));
return ChangeNotifierProvider<MarketingCenterProvider>(
create: (_) => MarketingCenterProvider(), child: DishShowPage());
});
... ...
... ... @@ -197,6 +197,7 @@ class Routes {
"/store_introduce_page"; //预订安排通知定制------店铺介绍
static String chef_introduce_page =
"/chef_introduce_page"; //预订安排通知定制------主厨介绍
static String dish_show_page = "/dish_show_page"; //预订安排通知定制------招牌菜介绍
static void configureRoutes(FluroRouter router) {
router.notFoundHandler = new Handler(
... ... @@ -387,5 +388,7 @@ class Routes {
router.define(book_info_page, handler: bookInfoPageHandle);
router.define(store_introduce_page, handler: storeIntroducePageHandle);
router.define(chef_introduce_page, handler: chefIntroducePageHandle);
router.define(dish_show_page, handler: dishShowPageHandle);
}
}
... ...