coupon_has_verification_page.dart 5.7 KB
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/models/personnel_manage_model.dart';
import 'package:one_key/pages/coupon/coupon_item_f.dart';
import 'package:one_key/provider/coupon_provider.dart';
import 'package:one_key/provider/personnel_provider.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/route/navigator_util.dart';
import 'package:one_key/utils/event_bus.dart';
import 'package:one_key/widgets/page_exception.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';

import 'coupon_verification_item_f.dart';

/**
 * 已核销列表
 */
class CouponHasVerificationPage extends StatefulWidget {
  CouponHasVerificationPage({Key key}) : super(key: key);

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

class _CouponHasVerificationPageState extends State<CouponHasVerificationPage> {
  CouponProvider couponProvider;
  EasyRefreshController _controller = EasyRefreshController();

  @override
  void initState() {
    // TODO: implement initState
    super.initState();

    WidgetsBinding.instance.addPostFrameCallback((_) {
      couponProvider.pageStateVerification = PageState.Loading;
      couponProvider.notifyListeners();
      _getIsExamineList();

      bus.on("refresh_coupon_verification_list", (arg) {
        _getIsExamineList();
      });
    });
  }

  @override
  void dispose() {
    super.dispose();
    bus.off('refresh_coupon_verification_list');
  }

  ///获取优惠券列表数据

  ///修改活动信息
  _getIsExamineList() async {
    Map<String, String> params = {
      "sellerid": Provider.of<UserModel>(context, listen: false).user.sellerid
    };
    await couponProvider.getIsExamineList(context, params,
        isShowLoading: false);
  }

  @override
  Widget build(BuildContext context) {
    couponProvider = Provider.of<CouponProvider>(context, listen: true);

    return Container(
      color: MyColours.color_f3f3f3,
      child: Consumer<CouponProvider>(builder: (context, model, _) {
        if (model.pageStateVerification != PageState.Success) {
          return ExceptionPage(
            pageState: model.pageStateVerification,
            callback: () {
              // offset = 0;
              // getMessage(showLoading: true);

              // if (model.pageStateVerification == PageState.Empty) {
              //   NavigatorUtil.goCouponHistoryPage(context);
              // } else {
              //   // _couponNetworkData(widget.index);
              // }
            },
            emptyMsg: "暂时没有列表信息哦",
            emptyImg: "empty_search",
            showMsg: "加载中,请稍后...",
          );
        } else {
          return EasyRefresh.custom(
            controller: _controller,
            shrinkWrap: true,
            slivers: [
              SliverList(
                delegate: SliverChildBuilderDelegate(
                    (BuildContext context, int index) {
                  return CouponVerificationItemF(
                    // from: 'quan',
                    isExamineSunModel: couponProvider.isExamineList[index],
                    // showBtn: true,
                    // onPressedSwich: () {
                    //   couponProvider.couponList[index].isOpenBool =
                    //       !couponProvider.couponList[index].isOpenBool;
                    //   _setCustomerActivity(index);
                    // },
                    onPressed: () {
                      NavigatorUtil.goCouponVerificationDetailPage(context,
                       couponProvider.isExamineList[index],
                          idStr:
                              couponProvider.isExamineList[index].rechargeId);
                    },
                  );
                }, childCount: couponProvider.isExamineList.length),
              ),
              // SliverList(
              //   delegate: SliverChildBuilderDelegate(
              //       (BuildContext context, int index) {
              //     return Column(
              //       children: [
              //         InkWell(
              //             onTap: () {
              //               NavigatorUtil.goCouponHistoryPage(context);
              //             },
              //             child: RichText(
              //                 text: TextSpan(
              //                     style: TextStyle(
              //                       fontSize: ScreenUtil().setSp(28),
              //                     ),
              //                     children: [
              //                   TextSpan(
              //                       text: '没有更多了,',
              //                       style: TextStyle(
              //                           color: MyColours.color_000000)),
              //                   TextSpan(
              //                       text: '查看过期优惠券',
              //                       style: TextStyle(
              //                           color: MyColours.color_438E93)),
              //                 ]))),
              //         VEmptyView(80)
              //       ],
              //     );
              //   }, childCount: 1),
              // )
            ],
            // onRefresh: () async {
            //   // offset = 0;
            //   // getMessage(showLoading: false);
            // },
            // onLoad: () async {
            //   // offset++;
            //   // getMessage(showLoading: false);
            // },
          );
        }
      }),
    );
  }
}