coupon_history_page.dart 3.32 KB
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/pages/coupon/coupon_item.dart';
import 'package:one_key/provider/coupon_provider.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/widgets/page_exception.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:provider/provider.dart';

/**
 * 历史券
 */
class CouponHistoryPage extends StatefulWidget {
  CouponHistoryPage({Key key}) : super(key: key);

  @override
  _CouponHistoryPageState createState() => _CouponHistoryPageState();
}

class _CouponHistoryPageState extends State<CouponHistoryPage> {
  EasyRefreshController _controller = EasyRefreshController();
  CouponProvider couponProvider;

  ///获取优惠券历史列表数据
  _couponNetworkData({bool isShowLoading = true}) async {
    Map<String, String> params = {
      "uid": Provider.of<UserModel>(context, listen: false).user.openid,
      'is_time': '1'
    };
    await couponProvider.getCustomerHistoryActivity(context, params,
        isShowLoading: isShowLoading);
  }

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    WidgetsBinding.instance.addPostFrameCallback((_) {
      _couponNetworkData();
    });
  }

  @override
  Widget build(BuildContext context) {
    couponProvider = Provider.of<CouponProvider>(context, listen: true);
    return Scaffold(
        appBar: SystemAppBar(
          ' 历史券',
          onTap: () {
            Navigator.of(context).pop();
          },
        ),
        body: Consumer<CouponProvider>(
          builder: (context, model, _) {
            if (model.pageStateHistory != PageState.Success) {
              return ExceptionPage(
                pageState: model.pageStateHistory,
                callback: () {
                  // offset = 0;
                  // getMessage(showLoading: true);
                },
                emptyMsg: "暂时没有列表信息哦",
                emptyImg: "empty_search",
                showMsg: "加载中,请稍后...",
              );
            } else {
              return EasyRefresh.custom(
                controller: _controller,
                slivers: [
                  SliverList(
                    delegate: SliverChildBuilderDelegate(
                        (BuildContext context, int index) {
                      return CouponItem(
                        from: 'history',
                        couponSonModel: couponProvider.couponListHistory[index],
                        onPressed: () {
                          // couponProvider.couponListHistory[index] =
                          //     !couponProvider.couponListHistory[index];
                          // couponProvider.notifyListeners();
                        },
                      );
                    }, childCount: couponProvider.couponListHistory.length),
                  )
                ],
                // onRefresh: () async {
                //   // offset = 0;
                //   // getMessage(showLoading: false);
                // },
                // onLoad: () async {
                //   // offset++;
                //   // getMessage(showLoading: false);
                // },
              );
            }
          },
        ));
  }
}