| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- import 'dart:convert';
- import 'package:bbyyy/beans/my_coupon_bean_entity.dart';
- import 'package:bbyyy/my_tools/event_bus.dart';
- import 'package:bbyyy/my_tools/my_colors.dart';
- import 'package:bbyyy/my_tools/my_views.dart';
- import 'package:bbyyy/paegs/mine_page/coupon_page/coupon_view.dart';
- import 'package:flutter/material.dart';
- import 'package:pull_to_refresh/pull_to_refresh.dart';
- import '../../../https/MyDio.dart';
- import '../../../my_tools/dims.dart';
- import '../../../my_tools/my_cookie.dart';
- import '../../../my_tools/my_tools.dart';
- class CouponPage extends StatefulWidget {
- @override
- _CouponPageState createState() => _CouponPageState();
- }
- class _CouponPageState extends State<CouponPage> {
- // int selectedIndex = 0;
- int page = 1;
- RefreshController controller = RefreshController(initialRefresh: true);
- List<MyCouponBeanDataData> coupons = [];
- @override
- void initState() {
- // TODO: implement initState
- super.initState();
- EventBus().on('showCouponIndex', (arg) {
- setState(() {});
- });
- }
- @override
- void dispose() {
- // TODO: implement dispose
- super.dispose();
- EventBus().off('showCouponIndex');
- }
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- backgroundColor: MyColors.cF7F7F7,
- body: Column(
- children: [
- MyViews().myAppBar('优惠券', context, []),
- Expanded(
- child: SmartRefresher(
- controller: controller,
- onRefresh: onRefresh,
- onLoading: onLoading,
- enablePullUp: true,
- enablePullDown: true,
- child: coupons.length==0?SingleChildScrollView(child: noData()):ListView.builder(
- itemBuilder: (c, index) {
- return CouponView().ticketItem(coupons[index]);
- },
- itemCount: coupons.length,
- padding:
- EdgeInsets.only(top: 5, left: 24, right: 24, bottom: 20),
- ),
- ),
- ),
- ],
- ),
- );
- }
- void onRefresh() {
- page = 1;
- checkCoupons();
- }
- void onLoading() {
- page++;
- checkCoupons();
- }
- checkCoupons() {
- MyDio().query({
- "key": "coupon",
- "filters": {
- "conditions": ["user_uid==${MyCookie().getUID()}"]
- },
- "dims": couponDims,
- "paging": [page, 20]
- }, (response, hasError) {
- if (!hasError) {
- MyCouponBeanEntity entity = MyCouponBeanEntity.fromJson(json.decode(response.data.toString()));
- if (page == 1) {
- coupons.clear();
- }
- coupons.addAll(entity.data.data);
- setState(() {});
- }
- endRe(controller);
- }, (error) {
- endRe(controller);
- });
- }
- }
|