import 'package:flutter/material.dart'; import 'package:liftmanager/res/gaps.dart'; import 'package:liftmanager/net/api_service.dart'; import 'package:liftmanager/utils/toast.dart'; import 'package:liftmanager/widgets/app_bar.dart'; import 'package:liftmanager/internal/search/search_router.dart'; import 'package:liftmanager/widgets/app_search_bar.dart'; import 'package:liftmanager/res/resources.dart'; import 'package:liftmanager/routers/fluro_navigator.dart'; import 'package:liftmanager/widgets/load_image.dart'; import 'package:liftmanager/internal/bbs/bbs_router.dart'; import 'package:liftmanager/widgets/my_card.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:liftmanager/internal/search/presenter/base_list_provider.dart'; import 'package:liftmanager/mvp/base_page_state.dart'; import 'package:liftmanager/internal/bbs/model/coupon_model_page.dart'; import 'package:liftmanager/internal/wode/presenter/red_list_presenter.dart'; import 'package:liftmanager/widgets/my_refresh_list.dart'; import 'package:liftmanager/widgets/state_layout.dart'; import 'package:provider/provider.dart'; import 'package:liftmanager/utils/time_format.dart'; import 'package:liftmanager/utils/log_util.dart'; class RedbaoPage extends StatefulWidget { // QuestionList(this.index); // final String index; @override RedbaoPageState createState() => RedbaoPageState(); } class RedbaoPageState extends BasePageState with AutomaticKeepAliveClientMixin{ // NewsDetailItem item = NewsDetailItem(); BaseListProvider provider = BaseListProvider(); ScrollController _scrollController = new ScrollController(); int _page = 1; @override void initState() { provider.setStateTypeNotNotify(StateType.loading); super.initState(); _onRefresh(); print(66666); } @override void dispose() { _scrollController.dispose(); super.dispose(); } getScenario(int type){ String str; if(type==0){ str = "全场通用"; }else if (type==1){ str = "仅限出诊问诊服务"; }else if(type==2){ str = "仅限题库"; }else if(type==3){ str = "仅限视频"; } return str; } @override Widget build(BuildContext context) { double width = MediaQuery.of(context).size.width; return ChangeNotifierProvider>( create: (_) => provider, child: Scaffold( resizeToAvoidBottomPadding: true, appBar: MyAppBar( centerTitle:"我的红包" ), body: Container( // color: Color(0xFFF1F4FC), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Expanded( flex: 1, child: Consumer>( builder: (_, provider, __) { return MyListView( key: Key('red_list'), itemCount: provider.list.length, stateType: provider.stateType, onRefresh: _onRefresh, loadMore: _loadMore, pageSize: 8, hasMore: provider.hasMore, itemBuilder: (_, index) { return Container( child: Column( children: [ Container( padding: EdgeInsets.only(left:ScreenUtil().setWidth(10),right:ScreenUtil().setWidth(10),top:ScreenUtil().setWidth(15)), child: MyCard( child:InkWell( child:Container( padding: EdgeInsets.only(left:ScreenUtil().setWidth(15),right:ScreenUtil().setWidth(15),top:ScreenUtil().setWidth(10),bottom:ScreenUtil().setWidth(10)), child: Row( crossAxisAlignment: CrossAxisAlignment.start, children:[ Container( padding: EdgeInsets.only(right:ScreenUtil().setWidth(25),left: ScreenUtil().setWidth(10),top:ScreenUtil().setWidth(15)), child: Icon( IconData( 0xe630, fontFamily:"myfont" ), size: 60.0, color:Color(0xffFE524C), ), ), Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( provider.list[index].coupon.price.toString(), textAlign: TextAlign.left, style: TextStyle( fontSize:ScreenUtil().setSp(26), color:Color(0xff333333), ), ), // Row( // children: [ // Text( // DateUtils.instance // .getFormartData( // timeSamp: provider.list[index].coupon.createTime, // format: "yyyy-MM-dd"), // textAlign: TextAlign.left, // style: TextStyle( // fontSize:ScreenUtil().setSp(14), // color:Color(0xff999999), // ), // ), // Text( // "至", // textAlign: TextAlign.left, // style: TextStyle( // fontSize:ScreenUtil().setSp(14), // color:Color(0xff999999), // ), // ), // Text( // DateUtils.instance // .getFormartData( // timeSamp: provider.list[index].coupon.updateTime, // format: "yyyy-MM-dd"), // textAlign: TextAlign.left, // style: TextStyle( // fontSize:ScreenUtil().setSp(14), // color:Color(0xff999999), // ), // ), // ], // ), SizedBox( height:8 ), Container( width: ScreenUtil().setWidth(200), height:0.5, color:Color(0xffeeeeee), child: null, ), SizedBox( height:5 ), Text( getScenario(provider.list[index].coupon.scenario), textAlign: TextAlign.left, style: TextStyle( fontSize:ScreenUtil().setSp(14), color:Color(0xff999999), ), ), ], ), ] ), ), onTap: (){ }, ) ), ) ], ), ); }, ); }) ) ], ), ), )); } Future _onRefresh() async { _page = 1; await presenter.getRedList( _page); } Future _loadMore() async { _page++; await presenter.getRedList(_page); } @override RedtListPresenter createPresenter() { return RedtListPresenter(); } bool get wantKeepAlive => true; }