Showing
8 changed files
with
59 additions
and
25 deletions
| @@ -245,7 +245,7 @@ class _CouponSelectPageState extends State<CouponSelectPage> { | @@ -245,7 +245,7 @@ class _CouponSelectPageState extends State<CouponSelectPage> { | ||
| 245 | SmsModel smsModel = new SmsModel(); | 245 | SmsModel smsModel = new SmsModel(); |
| 246 | // String sms = await smsModel.getSmsContent(context, params); | 246 | // String sms = await smsModel.getSmsContent(context, params); |
| 247 | String phoneNumber = ""; | 247 | String phoneNumber = ""; |
| 248 | - await Sendsms.onSendSMS(phoneNumber, 'smsfffffff'); | 248 | + await Sendsms.onSendSMS(phoneNumber, '短信内容'); |
| 249 | }); | 249 | }); |
| 250 | } else { | 250 | } else { |
| 251 | Navigator.pop(context); | 251 | Navigator.pop(context); |
| @@ -397,13 +397,16 @@ class NoteBookPageState extends State<NoteBookPage> { | @@ -397,13 +397,16 @@ class NoteBookPageState extends State<NoteBookPage> { | ||
| 397 | )), | 397 | )), |
| 398 | ), | 398 | ), |
| 399 | Spacer(), | 399 | Spacer(), |
| 400 | - Container( | ||
| 401 | - padding: | ||
| 402 | - EdgeInsets.symmetric(horizontal: ScreenUtil().setWidth(40)), | ||
| 403 | - child: GestureDetector( | ||
| 404 | - onTap: () { | ||
| 405 | - NavigatorUtil.goStatisticsPage(context); | ||
| 406 | - }, | 400 | + GestureDetector( |
| 401 | + onTap: () { | ||
| 402 | + NavigatorUtil.goStatisticsPage(context); | ||
| 403 | + }, | ||
| 404 | + child: Container( | ||
| 405 | + color: Colors.white, | ||
| 406 | + padding: EdgeInsets.only( | ||
| 407 | + left: ScreenUtil().setWidth(40), | ||
| 408 | + right: ScreenUtil().setWidth(40), | ||
| 409 | + bottom: ScreenUtil().setWidth(30)), | ||
| 407 | child: Text( | 410 | child: Text( |
| 408 | "统计列表", | 411 | "统计列表", |
| 409 | style: TextStyle( | 412 | style: TextStyle( |
| @@ -431,7 +434,7 @@ class NoteBookPageState extends State<NoteBookPage> { | @@ -431,7 +434,7 @@ class NoteBookPageState extends State<NoteBookPage> { | ||
| 431 | Container( | 434 | Container( |
| 432 | color: MyColours.color_ffffff, | 435 | color: MyColours.color_ffffff, |
| 433 | width: double.infinity, | 436 | width: double.infinity, |
| 434 | - padding: EdgeInsets.symmetric(vertical: ScreenUtil().setHeight(16)), | 437 | + padding: EdgeInsets.only(bottom: ScreenUtil().setWidth(16)), |
| 435 | child: Row( | 438 | child: Row( |
| 436 | crossAxisAlignment: CrossAxisAlignment.center, | 439 | crossAxisAlignment: CrossAxisAlignment.center, |
| 437 | children: <Widget>[ | 440 | children: <Widget>[ |
| @@ -143,12 +143,15 @@ class _StatisticsPageState extends State<StatisticsPage> { | @@ -143,12 +143,15 @@ class _StatisticsPageState extends State<StatisticsPage> { | ||
| 143 | _provider.tableHeaderModel.sortstr = '人均'; | 143 | _provider.tableHeaderModel.sortstr = '人均'; |
| 144 | for (int i = 0; i < _provider.dataStatics.length; i++) { | 144 | for (int i = 0; i < _provider.dataStatics.length; i++) { |
| 145 | _provider.dataStatics[i].select = false; | 145 | _provider.dataStatics[i].select = false; |
| 146 | - _provider.dataStatics[i].sortstr = | ||
| 147 | - _provider.dataStatics[i].renjun == null | ||
| 148 | - ? '' | ||
| 149 | - : '${_provider.dataStatics[i].renjun}元'; | 146 | + _provider.dataStatics[i].sortstr = _provider |
| 147 | + .dataStatics[i].renjun == | ||
| 148 | + null | ||
| 149 | + ? '' | ||
| 150 | + : '${(NumUtil.getNumByValueDouble(double.parse(_provider.dataStatics[i].renjun), 2)).toStringAsFixed(2)}元'; | ||
| 151 | + | ||
| 150 | _provider.dataStatics[i].numstr = '${i + 1}'; | 152 | _provider.dataStatics[i].numstr = '${i + 1}'; |
| 151 | } | 153 | } |
| 154 | + | ||
| 152 | break; | 155 | break; |
| 153 | } | 156 | } |
| 154 | _provider.tableHeaderModel.select = false; | 157 | _provider.tableHeaderModel.select = false; |
| @@ -429,7 +432,8 @@ class _StatisticsPageState extends State<StatisticsPage> { | @@ -429,7 +432,8 @@ class _StatisticsPageState extends State<StatisticsPage> { | ||
| 429 | InkWell( | 432 | InkWell( |
| 430 | onTap: () { | 433 | onTap: () { |
| 431 | if (model.selectAny()) { | 434 | if (model.selectAny()) { |
| 432 | - NavigatorUtil.goStatisticsSmsPage(context); | 435 | + NavigatorUtil.goStatisticsSmsPage(context, |
| 436 | + ); | ||
| 433 | } else { | 437 | } else { |
| 434 | Utils.showToast('请选择顾客'); | 438 | Utils.showToast('请选择顾客'); |
| 435 | } | 439 | } |
| 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/models/statics_model.dart'; | ||
| 4 | +import 'package:one_key/provider/statistics_provider.dart'; | ||
| 3 | import 'package:one_key/res/colors.dart'; | 5 | import 'package:one_key/res/colors.dart'; |
| 4 | import 'package:one_key/utils/utils.dart'; | 6 | import 'package:one_key/utils/utils.dart'; |
| 5 | import 'package:one_key/widgets/MyDivider.dart'; | 7 | import 'package:one_key/widgets/MyDivider.dart'; |
| @@ -7,8 +9,10 @@ import 'package:one_key/widgets/h_empty_view.dart'; | @@ -7,8 +9,10 @@ import 'package:one_key/widgets/h_empty_view.dart'; | ||
| 7 | import 'package:one_key/widgets/round_button.dart'; | 9 | import 'package:one_key/widgets/round_button.dart'; |
| 8 | import 'package:one_key/widgets/system_app_bar.dart'; | 10 | import 'package:one_key/widgets/system_app_bar.dart'; |
| 9 | import 'package:one_key/widgets/v_empty_view.dart'; | 11 | import 'package:one_key/widgets/v_empty_view.dart'; |
| 12 | +import 'package:provider/provider.dart'; | ||
| 10 | 13 | ||
| 11 | class StatisticsSmsPage extends StatefulWidget { | 14 | class StatisticsSmsPage extends StatefulWidget { |
| 15 | + // final List<String> selectData; | ||
| 12 | StatisticsSmsPage({Key key}) : super(key: key); | 16 | StatisticsSmsPage({Key key}) : super(key: key); |
| 13 | 17 | ||
| 14 | @override | 18 | @override |
| @@ -16,6 +20,8 @@ class StatisticsSmsPage extends StatefulWidget { | @@ -16,6 +20,8 @@ class StatisticsSmsPage extends StatefulWidget { | ||
| 16 | } | 20 | } |
| 17 | 21 | ||
| 18 | class _StatisticsSmsPageState extends State<StatisticsSmsPage> { | 22 | class _StatisticsSmsPageState extends State<StatisticsSmsPage> { |
| 23 | + StatisticsProvider _provider; | ||
| 24 | + | ||
| 19 | ///文本 | 25 | ///文本 |
| 20 | Widget _textWidget(String title, {Color textColor = MyColours.color_333333}) { | 26 | Widget _textWidget(String title, {Color textColor = MyColours.color_333333}) { |
| 21 | return Container( | 27 | return Container( |
| @@ -33,6 +39,7 @@ class _StatisticsSmsPageState extends State<StatisticsSmsPage> { | @@ -33,6 +39,7 @@ class _StatisticsSmsPageState extends State<StatisticsSmsPage> { | ||
| 33 | 39 | ||
| 34 | @override | 40 | @override |
| 35 | Widget build(BuildContext context) { | 41 | Widget build(BuildContext context) { |
| 42 | + _provider = Provider.of<StatisticsProvider>(context, listen: true); | ||
| 36 | return Scaffold( | 43 | return Scaffold( |
| 37 | backgroundColor: MyColours.color_f5f5f5, | 44 | backgroundColor: MyColours.color_f5f5f5, |
| 38 | appBar: SystemAppBar( | 45 | appBar: SystemAppBar( |
| @@ -81,7 +88,8 @@ class _StatisticsSmsPageState extends State<StatisticsSmsPage> { | @@ -81,7 +88,8 @@ class _StatisticsSmsPageState extends State<StatisticsSmsPage> { | ||
| 81 | CrossAxisAlignment.center, | 88 | CrossAxisAlignment.center, |
| 82 | children: [ | 89 | children: [ |
| 83 | _textWidget('当前已选择'), | 90 | _textWidget('当前已选择'), |
| 84 | - _textWidget('33', | 91 | + _textWidget( |
| 92 | + '33', | ||
| 85 | textColor: MyColours.color_199095), | 93 | textColor: MyColours.color_199095), |
| 86 | _textWidget('人/短信剩余条数'), | 94 | _textWidget('人/短信剩余条数'), |
| 87 | _textWidget('33', | 95 | _textWidget('33', |
| @@ -16,7 +16,6 @@ class StatisticsProvider with ChangeNotifier { | @@ -16,7 +16,6 @@ class StatisticsProvider with ChangeNotifier { | ||
| 16 | String dateE = "结束日期"; //结束时间 | 16 | String dateE = "结束日期"; //结束时间 |
| 17 | DateTime datetimeS; //开始时间 | 17 | DateTime datetimeS; //开始时间 |
| 18 | DateTime datetimeE; //结束时间 | 18 | DateTime datetimeE; //结束时间 |
| 19 | - DateTime dateNow; //当前日期 | ||
| 20 | bool showWidget = true; | 19 | bool showWidget = true; |
| 21 | 20 | ||
| 22 | int currentIndex = 0; | 21 | int currentIndex = 0; |
| @@ -34,9 +33,8 @@ class StatisticsProvider with ChangeNotifier { | @@ -34,9 +33,8 @@ class StatisticsProvider with ChangeNotifier { | ||
| 34 | tableHeaderModel.select = false; | 33 | tableHeaderModel.select = false; |
| 35 | tableHeaderModel.numstr = '序号'; | 34 | tableHeaderModel.numstr = '序号'; |
| 36 | tableHeaderModel.sortstr = '预订次数'; | 35 | tableHeaderModel.sortstr = '预订次数'; |
| 37 | - datetimeS = DateTime.now(); | ||
| 38 | - datetimeE = datetimeS.add(Duration(days: 1)); | ||
| 39 | - dateNow = datetimeS; | 36 | + // datetimeS = DateTime.now(); |
| 37 | + // datetimeE = datetimeS.add(Duration(days: 1)); | ||
| 40 | controller.text = '50'; | 38 | controller.text = '50'; |
| 41 | } | 39 | } |
| 42 | 40 | ||
| @@ -62,8 +60,8 @@ class StatisticsProvider with ChangeNotifier { | @@ -62,8 +60,8 @@ class StatisticsProvider with ChangeNotifier { | ||
| 62 | sortstr = '排序'; | 60 | sortstr = '排序'; |
| 63 | currentIndex = 0; | 61 | currentIndex = 0; |
| 64 | controller.text = '50'; | 62 | controller.text = '50'; |
| 65 | - datetimeS = DateTime.now(); | ||
| 66 | - datetimeE = datetimeS.add(Duration(days: 1)); | 63 | + datetimeS = null; |
| 64 | + datetimeE = null; | ||
| 67 | showWidget = true; | 65 | showWidget = true; |
| 68 | notifyListeners(); | 66 | notifyListeners(); |
| 69 | } | 67 | } |
| @@ -88,6 +86,16 @@ class StatisticsProvider with ChangeNotifier { | @@ -88,6 +86,16 @@ class StatisticsProvider with ChangeNotifier { | ||
| 88 | return false; | 86 | return false; |
| 89 | } | 87 | } |
| 90 | 88 | ||
| 89 | + List<String> seletNum() { | ||
| 90 | + List<String> selectStatics = []; | ||
| 91 | + for (StaticsSunModel item in dataStatics) { | ||
| 92 | + if (item.select) { | ||
| 93 | + selectStatics.add(item.rname); | ||
| 94 | + } | ||
| 95 | + } | ||
| 96 | + return selectStatics; | ||
| 97 | + } | ||
| 98 | + | ||
| 91 | //获取统计列表 | 99 | //获取统计列表 |
| 92 | Future getStatisticsList(BuildContext context, Map<String, String> params, | 100 | Future getStatisticsList(BuildContext context, Map<String, String> params, |
| 93 | {needLoading = true}) async { | 101 | {needLoading = true}) async { |
| @@ -4,6 +4,7 @@ import 'package:one_key/models/coupon_model.dart'; | @@ -4,6 +4,7 @@ import 'package:one_key/models/coupon_model.dart'; | ||
| 4 | import 'package:one_key/models/integral_model.dart'; | 4 | import 'package:one_key/models/integral_model.dart'; |
| 5 | import 'package:one_key/models/notebook.dart'; | 5 | import 'package:one_key/models/notebook.dart'; |
| 6 | import 'package:one_key/models/notebook_detail.dart'; | 6 | import 'package:one_key/models/notebook_detail.dart'; |
| 7 | +import 'package:one_key/models/statics_model.dart'; | ||
| 7 | import 'package:one_key/models/table_list.dart'; | 8 | import 'package:one_key/models/table_list.dart'; |
| 8 | import 'package:one_key/res/colors.dart'; | 9 | import 'package:one_key/res/colors.dart'; |
| 9 | import 'package:one_key/route/routes.dart'; | 10 | import 'package:one_key/route/routes.dart'; |
| @@ -328,7 +329,7 @@ class NavigatorUtil { | @@ -328,7 +329,7 @@ class NavigatorUtil { | ||
| 328 | 329 | ||
| 329 | /// 统计发短信 | 330 | /// 统计发短信 |
| 330 | static Future<dynamic> goStatisticsSmsPage(BuildContext context, | 331 | static Future<dynamic> goStatisticsSmsPage(BuildContext context, |
| 331 | - {replace = false}) { | 332 | + {replace = false, List<String> selectData}) { |
| 332 | return _navigateTo(context, "${Routes.statistics_sms_page}", | 333 | return _navigateTo(context, "${Routes.statistics_sms_page}", |
| 333 | replace: replace); | 334 | replace: replace); |
| 334 | } | 335 | } |
| @@ -5,6 +5,7 @@ import 'package:flutter/material.dart'; | @@ -5,6 +5,7 @@ import 'package:flutter/material.dart'; | ||
| 5 | import 'package:one_key/models/coupon_model.dart'; | 5 | import 'package:one_key/models/coupon_model.dart'; |
| 6 | import 'package:one_key/models/integral_model.dart'; | 6 | import 'package:one_key/models/integral_model.dart'; |
| 7 | import 'package:one_key/models/notebook_detail.dart'; | 7 | import 'package:one_key/models/notebook_detail.dart'; |
| 8 | +import 'package:one_key/models/statics_model.dart'; | ||
| 8 | import 'package:one_key/models/table_list.dart'; | 9 | import 'package:one_key/models/table_list.dart'; |
| 9 | import 'package:one_key/pages/coupon/coupon_detail_page.dart'; | 10 | import 'package:one_key/pages/coupon/coupon_detail_page.dart'; |
| 10 | import 'package:one_key/pages/coupon/coupon_edit_page.dart'; | 11 | import 'package:one_key/pages/coupon/coupon_edit_page.dart'; |
| @@ -489,13 +490,17 @@ var statisticsPageHandler = new Handler( | @@ -489,13 +490,17 @@ var statisticsPageHandler = new Handler( | ||
| 489 | 490 | ||
| 490 | ///统计 | 491 | ///统计 |
| 491 | var statisticsSmsPageHandler = new Handler( | 492 | var statisticsSmsPageHandler = new Handler( |
| 492 | - handlerFunc: (BuildContext context, Map<String, List<Object>> params) { | 493 | + handlerFunc: (BuildContext context, Map<dynamic, List<Object>> params) { |
| 493 | // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode( | 494 | // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode( |
| 494 | // FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first))); | 495 | // FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first))); |
| 495 | // String tid = params["tid"].first; | 496 | // String tid = params["tid"].first; |
| 496 | - // String tname = params["tname"].first; | 497 | + |
| 498 | + // List<String> selectData = params["selectData"].first; | ||
| 497 | return ChangeNotifierProvider<StatisticsProvider>( | 499 | return ChangeNotifierProvider<StatisticsProvider>( |
| 498 | - create: (_) => StatisticsProvider(), child: StatisticsSmsPage()); | 500 | + create: (_) => StatisticsProvider(), |
| 501 | + child: StatisticsSmsPage( | ||
| 502 | + // selectData: selectData, | ||
| 503 | + )); | ||
| 499 | // return ChangeNotifierProvider<UploadImageProvider>( | 504 | // return ChangeNotifierProvider<UploadImageProvider>( |
| 500 | // create: (_) => UploadImageProvider(), child: EnterStoreFrontPhotoPage()); | 505 | // create: (_) => UploadImageProvider(), child: EnterStoreFrontPhotoPage()); |
| 501 | }); | 506 | }); |
| 1 | import 'dart:convert'; | 1 | import 'dart:convert'; |
| 2 | 2 | ||
| 3 | +import 'package:one_key/models/statics_model.dart'; | ||
| 3 | import 'package:one_key/models/table_list.dart'; | 4 | import 'package:one_key/models/table_list.dart'; |
| 4 | 5 | ||
| 5 | /// fluro 参数编码解码工具类 | 6 | /// fluro 参数编码解码工具类 |
| @@ -48,6 +49,10 @@ class FluroConvertUtils { | @@ -48,6 +49,10 @@ class FluroConvertUtils { | ||
| 48 | return json.decode(fluroCnParamsDecode(str)); | 49 | return json.decode(fluroCnParamsDecode(str)); |
| 49 | } | 50 | } |
| 50 | 51 | ||
| 52 | + static List<String> string2dynamic(String str) { | ||
| 53 | + return json.decode(fluroCnParamsDecode(str)); | ||
| 54 | + } | ||
| 55 | + | ||
| 51 | /// string json 转为 map | 56 | /// string json 转为 map |
| 52 | static Map<String, List<TableList>> string2mapTableList(String str) { | 57 | static Map<String, List<TableList>> string2mapTableList(String str) { |
| 53 | return json.decode(fluroCnParamsDecode(str)); | 58 | return json.decode(fluroCnParamsDecode(str)); |
-
Please register or login to post a comment