Commit 85dbadd40cfc451349c66a540a2f29ee8b47c4e7

Authored by wdn127929
1 parent fc099bc3

首页形象展示部分UI

  1 +import 'package:flutter/material.dart';
  2 +
  3 +class ThemeColorModel {
  4 + String name;
  5 + Color color;
  6 +}
  1 +import 'package:flutter/material.dart';
  2 +import 'package:flutter_screenutil/flutter_screenutil.dart';
  3 +import 'package:one_key/utils/dialog_util.dart';
  4 +import 'package:one_key/widgets/system_app_bar.dart';
  5 +import 'package:one_key/widgets/v_empty_view.dart';
  6 +
  7 +import '../../../../models/theme_color_model.dart';
  8 +import '../../../../res/colors.dart';
  9 +import '../../../../utils/screen_util.dart';
  10 +import '../../../../widgets/round_button.dart';
  11 +
  12 +/**
  13 + * 首图形象展示
  14 + */
  15 +
  16 +class FirstImagePage extends StatefulWidget {
  17 + FirstImagePage({Key key}) : super(key: key);
  18 +
  19 + @override
  20 + _FirstImagePageState createState() => _FirstImagePageState();
  21 +}
  22 +
  23 +class _FirstImagePageState extends State<FirstImagePage> {
  24 + List<ThemeColorModel> themeColorData = [];
  25 + int themeColorIndex = 0;
  26 +
  27 + @override
  28 + void initState() {
  29 + super.initState();
  30 +
  31 + _initThemeColor();
  32 + }
  33 +
  34 + ///初始化主题颜色
  35 + _initThemeColor() {
  36 + ThemeColorModel colorModel = ThemeColorModel();
  37 + colorModel.name = '睿智黑';
  38 + colorModel.color = MyColours.color_0C0F0E;
  39 + themeColorData.add(colorModel);
  40 +
  41 + ThemeColorModel colorModel1 = ThemeColorModel();
  42 + colorModel.name = '孔雀蓝';
  43 + colorModel.color = MyColours.color_0143A3;
  44 + themeColorData.add(colorModel1);
  45 +
  46 + ThemeColorModel colorModel2 = ThemeColorModel();
  47 + colorModel.name = '群青绿';
  48 + colorModel.color = MyColours.color_438E93;
  49 + themeColorData.add(colorModel2);
  50 + }
  51 +
  52 + Widget _item(String title, String subtitle, {GestureTapCallback onTap}) {
  53 + return InkWell(
  54 + onTap: onTap,
  55 + child: Container(
  56 + decoration: BoxDecoration(
  57 + border: Border(
  58 + bottom: BorderSide(
  59 + color: MyColours.color_E7E7E7, width: w(0.5)))),
  60 + margin: EdgeInsets.only(left: w(16)),
  61 + padding: EdgeInsets.only(top: w(12), bottom: w(12), right: w(12)),
  62 + child: Row(
  63 + children: [
  64 + Text(
  65 + title,
  66 + style: TextStyle(
  67 + color: MyColours.color_515151,
  68 + fontSize: ScreenUtil().setWidth(32)),
  69 + ),
  70 + Spacer(),
  71 + Text(
  72 + subtitle,
  73 + style: TextStyle(
  74 + color: MyColours.color_515151,
  75 + fontSize: ScreenUtil().setWidth(32)),
  76 + ),
  77 + Container(
  78 + padding:
  79 + EdgeInsets.symmetric(horizontal: w(7), vertical: w(4)),
  80 + child: Image.asset(
  81 + "assets/arrow_right_new.png",
  82 + width: ScreenUtil().setWidth(18),
  83 + height: ScreenUtil().setWidth(32),
  84 + ),
  85 + )
  86 + ],
  87 + )));
  88 + }
  89 +
  90 + @override
  91 + Widget build(BuildContext context) {
  92 + return Scaffold(
  93 + backgroundColor: MyColours.color_ffffff,
  94 + appBar: SystemAppBar(
  95 + '首图形象展示',
  96 + onTap: () {
  97 + Navigator.pop(context);
  98 + },
  99 + ),
  100 + body: Column(
  101 + children: [
  102 + Expanded(
  103 + child: SingleChildScrollView(
  104 + child: Column(
  105 + children: [
  106 + _item('主题颜色选择', themeColorData[themeColorIndex].name,
  107 + onTap: () {
  108 + DialogUtil.showThemeColorSelectDialog(context,
  109 + callback: (object) {
  110 + print(object);
  111 + setState(() {
  112 + themeColorIndex = object;
  113 + });
  114 + });
  115 + }),
  116 + VEmptyView(24),
  117 + Container(
  118 + height: w(48),
  119 + alignment: Alignment.centerLeft,
  120 + padding: EdgeInsets.symmetric(horizontal: w(16)),
  121 + child: Text(
  122 + '效果预览',
  123 + style: TextStyle(
  124 + color: MyColours.color_515151,
  125 + fontSize: ScreenUtil().setWidth(32)),
  126 + ),
  127 + ),
  128 + VEmptyView(24),
  129 + Container(
  130 + width: double.infinity,
  131 + height: w(165),
  132 + color: themeColorData[themeColorIndex].color,
  133 + )
  134 + ],
  135 + ),
  136 + )),
  137 + Container(
  138 + color: MyColours.color_ffffff,
  139 + padding: EdgeInsets.only(
  140 + left: w(45), right: w(45), top: w(12), bottom: w(25)),
  141 + child: RoundButton(
  142 + text: '保存',
  143 + gradientStart: MyColours.color_199095,
  144 + gradientEnd: MyColours.color_199095,
  145 + // borderColor: MyColours.color_999999,
  146 + radius: r(5),
  147 + fontSize: 34,
  148 + height: w(40),
  149 + isBold: true,
  150 + onPressed: () {},
  151 + ),
  152 + )
  153 + ],
  154 + ),
  155 + );
  156 + }
  157 +}
1 import 'package:flutter/material.dart'; 1 import 'package:flutter/material.dart';
2 import 'package:flutter_screenutil/flutter_screenutil.dart'; 2 import 'package:flutter_screenutil/flutter_screenutil.dart';
  3 +import 'package:one_key/route/navigator_util.dart';
  4 +import 'package:one_key/widgets/MyDivider.dart';
  5 +import 'package:one_key/widgets/v_empty_view.dart';
3 import 'package:provider/provider.dart'; 6 import 'package:provider/provider.dart';
4 7
5 import '../../../provider/marketing_center_provider.dart'; 8 import '../../../provider/marketing_center_provider.dart';
6 import '../../../res/colors.dart'; 9 import '../../../res/colors.dart';
7 import '../../../utils/event_bus.dart'; 10 import '../../../utils/event_bus.dart';
  11 +import '../../../utils/screen_util.dart';
8 import '../../../widgets/round_button.dart'; 12 import '../../../widgets/round_button.dart';
9 import '../../../widgets/system_app_bar.dart'; 13 import '../../../widgets/system_app_bar.dart';
10 14
@@ -22,6 +26,40 @@ class MarketingCenterHomePage extends StatefulWidget { @@ -22,6 +26,40 @@ class MarketingCenterHomePage extends StatefulWidget {
22 26
23 class _MarketingCenterHomePageState extends State<MarketingCenterHomePage> { 27 class _MarketingCenterHomePageState extends State<MarketingCenterHomePage> {
24 MarketingCenterProvider marketingCenterProvider; 28 MarketingCenterProvider marketingCenterProvider;
  29 +
  30 + Widget _item(String title, {GestureTapCallback onTap}) {
  31 + return InkWell(
  32 + onTap: onTap,
  33 + child: Container(
  34 + decoration: BoxDecoration(
  35 + border: Border(
  36 + bottom: BorderSide(
  37 + color: MyColours.color_E7E7E7, width: w(0.5)))),
  38 + margin: EdgeInsets.only(
  39 + right: w(20), left: w(36), bottom: w(12), top: w(12)),
  40 + padding: EdgeInsets.only(top: w(12), bottom: w(12), right: w(12)),
  41 + child: Row(
  42 + children: [
  43 + Text(
  44 + title,
  45 + style: TextStyle(
  46 + color: MyColours.color_515151,
  47 + fontSize: ScreenUtil().setWidth(32)),
  48 + ),
  49 + Spacer(),
  50 + Container(
  51 + padding:
  52 + EdgeInsets.symmetric(horizontal: w(7), vertical: w(4)),
  53 + child: Image.asset(
  54 + "assets/arrow_right_new.png",
  55 + width: ScreenUtil().setWidth(18),
  56 + height: ScreenUtil().setWidth(32),
  57 + ),
  58 + )
  59 + ],
  60 + )));
  61 + }
  62 +
25 @override 63 @override
26 Widget build(BuildContext context) { 64 Widget build(BuildContext context) {
27 marketingCenterProvider = 65 marketingCenterProvider =
@@ -40,28 +78,81 @@ class _MarketingCenterHomePageState extends State<MarketingCenterHomePage> { @@ -40,28 +78,81 @@ class _MarketingCenterHomePageState extends State<MarketingCenterHomePage> {
40 EventBus().emit('changeStatusColor'); 78 EventBus().emit('changeStatusColor');
41 Navigator.of(context).pop(); 79 Navigator.of(context).pop();
42 }, 80 },
43 - child: Column(  
44 - children: [  
45 - Expanded(  
46 - child: SingleChildScrollView(  
47 - child: Column(  
48 - children: [],  
49 - ),  
50 - )),  
51 - Container(  
52 - child: RoundButton(  
53 - text: '保存',  
54 - gradientStart: MyColours.color_199095,  
55 - gradientEnd: MyColours.color_199095,  
56 - // borderColor: MyColours.color_999999,  
57 - radius: ScreenUtil().setWidth(10),  
58 - fontSize: 34,  
59 - height: ScreenUtil().setWidth(80),  
60 - isBold: false,  
61 - onPressed: () {},  
62 - ),  
63 - )  
64 - ], 81 + child: SingleChildScrollView(
  82 + child: Column(
  83 + children: [
  84 + InkWell(
  85 + onTap: () {
  86 + // NavigatorUtil.goWebPage(context, '隐私政策', "zc",
  87 + // need: true);
  88 + },
  89 + child: Padding(
  90 + padding: EdgeInsets.only(
  91 + left: w(16),
  92 + top: w(12),
  93 + bottom: w(12),
  94 + right: w(12)),
  95 + child: Row(
  96 + children: [
  97 + Text(
  98 + '会员充值优惠活动',
  99 + style: TextStyle(
  100 + color: MyColours.color_515151,
  101 + fontSize: ScreenUtil().setWidth(32)),
  102 + ),
  103 + Spacer(),
  104 + Container(
  105 + padding: EdgeInsets.symmetric(
  106 + horizontal: w(7), vertical: w(4)),
  107 + child: Image.asset(
  108 + "assets/arrow_right_new.png",
  109 + width: ScreenUtil().setWidth(18),
  110 + height: ScreenUtil().setWidth(32),
  111 + ),
  112 + )
  113 + ],
  114 + ))),
  115 + Padding(
  116 + padding: EdgeInsets.only(left: w(16)),
  117 + child: MyDivider(double.infinity, w(0.5),
  118 + color: MyColours.color_E7E7E7)),
  119 + VEmptyView(24),
  120 + Padding(
  121 + padding: EdgeInsets.only(
  122 + left: w(16), top: w(12), bottom: w(12), right: w(12)),
  123 + child: Row(
  124 + mainAxisAlignment: MainAxisAlignment.spaceBetween,
  125 + children: [
  126 + Text(
  127 + '预订安排通知定制',
  128 + style: TextStyle(
  129 + color: MyColours.color_515151,
  130 + fontSize: ScreenUtil().setWidth(32)),
  131 + ),
  132 + RoundButton(
  133 + text: '预览',
  134 + gradientStart: MyColours.color_ffffff,
  135 + gradientEnd: MyColours.color_ffffff,
  136 + borderColor: MyColours.color_438E93,
  137 + textColor: MyColours.color_438E93,
  138 + radius: ScreenUtil().setWidth(22),
  139 + fontSize: 24,
  140 + width: w(72),
  141 + height: ScreenUtil().setWidth(44),
  142 + isBold: true,
  143 + onPressed: () {},
  144 + ),
  145 + ])),
  146 + _item('首图形象展示', onTap: () {
  147 + NavigatorUtil.goFirstImagePage(context);
  148 + }),
  149 + _item('预订信息模块', onTap: () {}),
  150 + _item('店铺介绍展示', onTap: () {}),
  151 + _item('主厨介绍展示', onTap: () {}),
  152 + _item('招牌菜展示', onTap: () {}),
  153 + _item('营销及客户互动功能', onTap: () {}),
  154 + ],
  155 + ),
65 ))); 156 )));
66 } 157 }
67 } 158 }
1 import 'package:flutter/material.dart'; 1 import 'package:flutter/material.dart';
2 2
3 class MyColours { 3 class MyColours {
  4 + static const Color color_0143A3 = Color(0xFF0143A3);
  5 + static const Color color_438E93 = Color(0xFF438E93);
  6 + static const Color color_0C0F0E = Color(0xFF0C0F0E);
4 static const Color color_28323B = Color(0xFF28323B); 7 static const Color color_28323B = Color(0xFF28323B);
5 static const Color color_80438E93 = Color(0x80438E93); 8 static const Color color_80438E93 = Color(0x80438E93);
6 static const Color color_303030 = Color(0xff303030); 9 static const Color color_303030 = Color(0xff303030);
@@ -31,7 +34,6 @@ class MyColours { @@ -31,7 +34,6 @@ class MyColours {
31 static const Color color_E7E7E7 = Color(0xffE7E7E7); 34 static const Color color_E7E7E7 = Color(0xffE7E7E7);
32 static const Color color_E34D59 = Color(0xffE34D59); 35 static const Color color_E34D59 = Color(0xffE34D59);
33 static const Color color_515151 = Color(0xff515151); 36 static const Color color_515151 = Color(0xff515151);
34 - static const Color color_438E93 = Color(0xff438E93);  
35 static const Color color_27262B = Color(0xff27262B); 37 static const Color color_27262B = Color(0xff27262B);
36 static const Color color_BFC4D4 = Color(0xffBFC4D4); 38 static const Color color_BFC4D4 = Color(0xffBFC4D4);
37 static const Color color_C9C9C9 = Color(0xffC9C9C9); 39 static const Color color_C9C9C9 = Color(0xffC9C9C9);
@@ -1388,11 +1388,18 @@ class NavigatorUtil { @@ -1388,11 +1388,18 @@ class NavigatorUtil {
1388 1388
1389 ///我的-----营销中心 1389 ///我的-----营销中心
1390 static Future<dynamic> goMarketingCenterHomePage( 1390 static Future<dynamic> goMarketingCenterHomePage(
1391 - BuildContext context,  
1392 - { 1391 + BuildContext context, {
1393 replace = false, 1392 replace = false,
1394 }) { 1393 }) {
1395 return _navigateTo(context, "${Routes.marketing_center_home_page}", 1394 return _navigateTo(context, "${Routes.marketing_center_home_page}",
1396 replace: replace); 1395 replace: replace);
1397 } 1396 }
  1397 +
  1398 + ///预订安排通知定制------首图形象展示
  1399 + static Future<dynamic> goFirstImagePage(
  1400 + BuildContext context, {
  1401 + replace = false,
  1402 + }) {
  1403 + return _navigateTo(context, "${Routes.first_image_page}", replace: replace);
  1404 + }
1398 } 1405 }
@@ -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/first_image_page.dart';
180 import '../pages/my/marketing_center/marketing_center_home_page.dart'; 181 import '../pages/my/marketing_center/marketing_center_home_page.dart';
181 import '../pages/my/plan_dish/final_plan_dish_page.dart'; 182 import '../pages/my/plan_dish/final_plan_dish_page.dart';
182 import '../pages/my/plan_dish/my_plan_dish_home_page.dart'; 183 import '../pages/my/plan_dish/my_plan_dish_home_page.dart';
@@ -2156,7 +2157,7 @@ var orderEditListShowPageHandle = new Handler( @@ -2156,7 +2157,7 @@ var orderEditListShowPageHandle = new Handler(
2156 data: res, 2157 data: res,
2157 storeList: storeList, 2158 storeList: storeList,
2158 mineList: mineList, 2159 mineList: mineList,
2159 - oftenList:oftenList, 2160 + oftenList: oftenList,
2160 planPrice: planPrice, 2161 planPrice: planPrice,
2161 planCookByRidSunModel: planCookByRidSunModel, 2162 planCookByRidSunModel: planCookByRidSunModel,
2162 detailEntity: detailEntity, 2163 detailEntity: detailEntity,
@@ -2287,11 +2288,18 @@ var marketingCenterHomePageHandle = new Handler( @@ -2287,11 +2288,18 @@ var marketingCenterHomePageHandle = new Handler(
2287 handlerFunc: (BuildContext context, Map<dynamic, List<Object>> params) { 2288 handlerFunc: (BuildContext context, Map<dynamic, List<Object>> params) {
2288 // String idstr = params["idstr"].first; 2289 // String idstr = params["idstr"].first;
2289 // NotebookDetail detailEntity = NotebookDetail.fromJson(json 2290 // NotebookDetail detailEntity = NotebookDetail.fromJson(json
2290 - // .decode(FluroConvertUtils.fluroCnParamsDecode(params["detail"].first))); 2291 + // .decode(FluroConvertUtils.fluroCnParamsDecode(params["detail"].first)));
2291 return ChangeNotifierProvider<MarketingCenterProvider>( 2292 return ChangeNotifierProvider<MarketingCenterProvider>(
2292 create: (_) => MarketingCenterProvider(), 2293 create: (_) => MarketingCenterProvider(),
2293 child: MarketingCenterHomePage()); 2294 child: MarketingCenterHomePage());
2294 }); 2295 });
2295 2296
2296 -  
2297 - 2297 +//我的----营销中心
  2298 +var firstImagePageHandle = new Handler(
  2299 + handlerFunc: (BuildContext context, Map<dynamic, List<Object>> params) {
  2300 + // String idstr = params["idstr"].first;
  2301 + // NotebookDetail detailEntity = NotebookDetail.fromJson(json
  2302 + // .decode(FluroConvertUtils.fluroCnParamsDecode(params["detail"].first)));
  2303 + return ChangeNotifierProvider<MarketingCenterProvider>(
  2304 + create: (_) => MarketingCenterProvider(), child: FirstImagePage());
  2305 +});
@@ -191,8 +191,7 @@ class Routes { @@ -191,8 +191,7 @@ class Routes {
191 */ 191 */
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 -  
195 - 194 + static String first_image_page = "/first_image_page"; //预订安排通知定制------首图形象展示
196 195
197 static void configureRoutes(FluroRouter router) { 196 static void configureRoutes(FluroRouter router) {
198 router.notFoundHandler = new Handler( 197 router.notFoundHandler = new Handler(
@@ -377,6 +376,11 @@ class Routes { @@ -377,6 +376,11 @@ class Routes {
377 376
378 router.define(marketing_center_home_page, 377 router.define(marketing_center_home_page,
379 handler: marketingCenterHomePageHandle); 378 handler: marketingCenterHomePageHandle);
  379 +
  380 + router.define(first_image_page,
  381 + handler: firstImagePageHandle);
  382 +
  383 +
380 384
381 } 385 }
382 } 386 }
@@ -4640,6 +4640,110 @@ class DialogUtil { @@ -4640,6 +4640,110 @@ class DialogUtil {
4640 }); 4640 });
4641 } 4641 }
4642 4642
  4643 + //主题颜色选择弹框
  4644 + static showThemeColorSelectDialog(BuildContext context,
  4645 + {CustomCallBack callback}) {
  4646 + return showModalBottomSheet(
  4647 + context: context,
  4648 + isScrollControlled: true,
  4649 + shape: RoundedRectangleBorder(
  4650 + borderRadius: BorderRadius.only(
  4651 + topLeft: Radius.circular(30), topRight: Radius.circular(30)),
  4652 + ),
  4653 + builder: (context) {
  4654 + Widget widget = Container(
  4655 + width: double.infinity,
  4656 + // height: w(536),
  4657 + color: MyColours.color_ffffff,
  4658 + child: Stack(children: [
  4659 + SingleChildScrollView(
  4660 + child: Column(
  4661 + mainAxisSize: MainAxisSize.min,
  4662 + children: <Widget>[
  4663 + VEmptyView(174),
  4664 + InkWell(
  4665 + onTap: () {
  4666 + Navigator.pop(context);
  4667 + callback(0);
  4668 + },
  4669 + child: Container(
  4670 + width: double.infinity,
  4671 + height: w(106),
  4672 + color: MyColours.color_0C0F0E,
  4673 + margin: EdgeInsets.symmetric(horizontal: w(30)),
  4674 + padding: EdgeInsets.only(left: w(10), top: w(13)),
  4675 + child: Container(
  4676 + width: w(61),
  4677 + height: w(27),
  4678 + child: Text('睿智黑',
  4679 + style: TextStyle(
  4680 + color: MyColours.color_ffffff,
  4681 + fontWeight: FontWeight.bold,
  4682 + fontSize: font(16)))))),
  4683 + VEmptyView(56),
  4684 + InkWell(
  4685 + onTap: () {
  4686 + Navigator.pop(context);
  4687 + callback(1);
  4688 + },
  4689 + child: Container(
  4690 + color: MyColours.color_0143A3,
  4691 + width: double.infinity,
  4692 + height: w(106),
  4693 + margin: EdgeInsets.symmetric(horizontal: w(30)),
  4694 + padding: EdgeInsets.only(left: w(10), top: w(13)),
  4695 + child: Container(
  4696 + width: w(61),
  4697 + height: w(27),
  4698 + child: Text('孔雀蓝',
  4699 + style: TextStyle(
  4700 + color: MyColours.color_ffffff,
  4701 + fontWeight: FontWeight.bold,
  4702 + fontSize: font(16)))))),
  4703 + VEmptyView(56),
  4704 + InkWell(
  4705 + onTap: () {
  4706 + Navigator.pop(context);
  4707 + callback(2);
  4708 + },
  4709 + child: Container(
  4710 + color: MyColours.color_438E93,
  4711 + width: double.infinity,
  4712 + height: w(106),
  4713 + margin: EdgeInsets.symmetric(horizontal: w(30)),
  4714 + padding: EdgeInsets.only(left: w(10), top: w(13)),
  4715 + child: Container(
  4716 + width: w(61),
  4717 + height: w(27),
  4718 + child: Text('群青绿',
  4719 + style: TextStyle(
  4720 + color: MyColours.color_ffffff,
  4721 + fontWeight: FontWeight.bold,
  4722 + fontSize: font(16)))))),
  4723 + VEmptyView(82),
  4724 + ],
  4725 + )),
  4726 + Positioned(
  4727 + right: w(10),
  4728 + top: w(25),
  4729 + child: InkWell(
  4730 + onTap: () {
  4731 + Navigator.pop(context);
  4732 + },
  4733 + child: Padding(
  4734 + padding: EdgeInsets.symmetric(horizontal: w(18)),
  4735 + child: Text("取消",
  4736 + style: TextStyle(
  4737 + fontWeight: FontWeight.bold,
  4738 + fontSize: ScreenUtil().setSp(32),
  4739 + color: MyColours.color_000000)),
  4740 + ))),
  4741 + ]),
  4742 + );
  4743 + return widget;
  4744 + });
  4745 + }
  4746 +
4643 //显示桌位管理弹框 4747 //显示桌位管理弹框
4644 static Future<int> showTableManagerDialog( 4748 static Future<int> showTableManagerDialog(
4645 BuildContext context, t.Table table) { 4749 BuildContext context, t.Table table) {
@@ -5170,7 +5274,6 @@ class DialogUtil { @@ -5170,7 +5274,6 @@ class DialogUtil {
5170 padding: 5274 padding:
5171 EdgeInsets.symmetric(horizontal: ScreenUtil().setWidth(72)), 5275 EdgeInsets.symmetric(horizontal: ScreenUtil().setWidth(72)),
5172 height: ScreenUtil().setWidth(height), 5276 height: ScreenUtil().setWidth(height),
5173 -  
5174 decoration: BoxDecoration( 5277 decoration: BoxDecoration(
5175 borderRadius: BorderRadius.circular(ScreenUtil().setWidth(30))), 5278 borderRadius: BorderRadius.circular(ScreenUtil().setWidth(30))),
5176 child: Card( 5279 child: Card(