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:flutter_screenutil/flutter_screenutil.dart';
import 'package:liftmanager/widgets/bbs_content.dart';
import 'package:flutter_alipay/flutter_alipay.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
//import 'package:tobias/tobias.dart';
//  import 'package:sy_flutter_alipay/sy_flutter_alipay.dart';
import 'dart:convert';
import 'package:provider/provider.dart';
import '../provide/websocket.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:flustars/flustars.dart' as FlutterStars;
import 'package:liftmanager/common/common.dart';
import 'package:liftmanager/utils/fast_notification.dart';
import 'dart:math';
import 'package:fluwx/fluwx.dart' as fluwx;
import 'package:liftmanager/utils/theme_utils.dart';

class BuyService extends StatefulWidget {
  BuyService(this.id);

  final String id;

  @override
  State<StatefulWidget> createState() {
    return BuyServiceState();
  }
}

class BuyServiceState extends State<BuyService> {
  // ExpertListState({Key key}) : super(key: key);
  bool sortBool = true;
  String couponChiose = '请选择';
  String redChiose = '请选择';
  String typeName = "卡券";
  String questionType;
  int typeIdssCoupon;
  int typeIdssRed;
  double priceCoupon = 0.0;
  double priceRed = 0.0;
  double priceTotal = 0.0;
  int dataId;
  String expertName;
  double expertFee;
  double apiExpertFee = 0.0;
  dynamic _wxPay;
  @override
  initState() {
    super.initState();
    setSchema();
    getDataId();
    getType();
    getExpertName();
    getExpertFee();
  }

  void setSchema() async{
    // await FlutterAlipay.setIosUrlSchema("tytylift");
    await FlutterAlipay.setIosUrlSchema("com.tyty.lift.managers");
  }

  void getDataId() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    dataId = prefs.getInt("dataId");
  }

  void getType() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    questionType = prefs.getString("questionType");
  }

  void getExpertName() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    expertName = prefs.getString("expertName");
  }

  void getExpertFee() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    if(prefs.getDouble("expertFee") != null){
      expertFee = prefs.getDouble("expertFee");
    }else {
      expertFee = 0.0;
    }
    
    setState(() {});
    print(expertFee);
    print(6666543);
    // priceTotal = expertFee;
    if (expertFee == 0.0) {
      getApiFee();
    } else {
      priceTotal = expertFee;
    }
  }

  List<dynamic> couponList = [];
  Future getCouponList(type) async {
    await NewApiService().getCouponListNoPage(
        type,
        expertFee != null && expertFee != 0.0
            ? expertFee.toString()
            : apiExpertFee.toString(), onSuccess: (res) {
      if (res != null) {
        couponList = res;
        print(jsonEncode(res));
        print(111222);
        setState(() {});
      }
    }, onError: (code, msg) {
      toasts(msg);
    });
  }

  Future getApiFee() async {
    await NewApiService().getFee(onSuccess: (res) {
      if (res != null) {
        apiExpertFee = res;
        priceTotal = apiExpertFee;
        setState(() {});
        print(res);
        print(6666544);
      }
    }, onError: (code, msg) {
      toasts(msg);
    });
  }

  //余额支付
  Future lastMoneyPay(orders) async {
    int liftCaseType;
    String payType;
    questionType == "1" ? liftCaseType = 1 : liftCaseType = 2;
    questionType == "1" ? payType = "CASE" : payType = "CALL";
    await NewApiService().getAlipayBalanceApp({
      "payType": payType,
      "orders": orders,
      "liftCaseType": liftCaseType,
      "userId": FlutterStars.SpUtil.getString(Constant.userId),
    }, onSuccess: (res) {
      // moneyList = res;
      upDataMoney();
      getRoom();
    }, onError: (code, msg) {
      toasts(msg);
    });
  }

  // 根据orderNo获取支付宝订单信息
  Future getAlipayOrderInfo(ordersNo) async {
    int liftCaseType;
    questionType == "1" ? liftCaseType = 1 : liftCaseType = 2;
    await NewApiService().aliPay(
        orders: ordersNo,
        liftCaseType: liftCaseType,
        onSuccess: (res) {
          callAlipay(res);
        },
        onError: (code, msg) {
          toasts(msg);
        });
  }

  // 根据orderNo获取wx订单信息
  Future getWxOrderInfo(ordersNo) async {
    int liftCaseType;
    questionType == "1" ? liftCaseType = 1 : liftCaseType = 2;
    await NewApiService().wxPay(
        orders: ordersNo,
        liftCaseType: liftCaseType,
        onSuccess: (res) {
          wxMethod(res);
        },
        onError: (code, msg) {
          toasts(msg);
        });
  }

  wxMethod(_payInfo) {
    
    print(_payInfo["appid"]);
    fluwx.payWithWeChat(
     appId: _payInfo["appid"],
     partnerId: _payInfo["partnerid"],
     prepayId: _payInfo["prepayid"],
     packageValue: _payInfo["package"],
     nonceStr: _payInfo["noncestr"],
     timeStamp: int.parse(_payInfo["timestamp"]),
     sign: _payInfo["sign"]
   ).then((data) {
     print(data);
   });
   _wxPay?.cancel();
   _wxPay = fluwx.responseFromPayment.listen((fluwx.WeChatPaymentResponse response) async {
     print("WeChatPaymentResponse"+response.errCode.toString());
     if (response.errCode == -2) {
          //支付取消
          toasts("支付取消");
        } else if (response.errCode == -1) {
          //支付失败
          toasts("支付失败");
        } else if (response.errCode == 0) {
          //支付成功
          upDataMoney();
          getRoom();
        }
   });
  }

  //根据专家Id和诊单Id获取orderId  0：余额 1：支付宝
  Future generateOrder(int type) async {
    await NewApiService().generateOrder({
      "id": dataId,
      "chargerId": widget.id,
      "couponId": typeIdssCoupon,
      "packetId": typeIdssRed
    }, onSuccess: (res) {
      print(res);

      if (res != null) {
        if (type == 0) {
          lastMoneyPay(res);
          
        } else if (type == 1) {
          getAlipayOrderInfo(res);
        }else if (type == 2){
          getWxOrderInfo(res);
        }
      }

      print(555);
    }, onError: (code, msg) {
      toasts(msg);
    });
  }

  upDataMoney() {
    String initThisUserMoney = randomInt(1111, 9999).toString() +
        DateTime.now().millisecondsSinceEpoch.toString();
    FastNotification.push("initUserMoney", initThisUserMoney);
  }

  randomInt(int min, int max) {
    return new Random().nextInt(max) % (max - min + 1) + min;
  }

  //根据orderId来判断支付完成
  // Future getPayType(orderId) async {
  //   await NewApiService().getTestAlipayNotify(orderId, onSuccess: (res) {
  //     print(res);

  //     print(666);
  //     getRoom();
  //   }, onError: (code, msg) {
  //     toasts(msg);
  //   });
  // }

  //支付完成后用诊单Id获取房间号
  Future getRoom() async {
    await NewApiService().findOne(dataId, onSuccess: (res) {
      print(res);
      String roomId = res.sessionid;
      toasts("支付成功，即将进入聊天室！");
      NavigatorUtils.push(
          context, "${BbsRouter.chatRoom}?id=$roomId&type=someToOne&toUserId=''");
      print(666);
    }, onError: (code, msg) {
      toasts(msg);
    });
  }

  void setExpertFee(double expertFee) async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    prefs.setDouble("expertFee", expertFee);
  }

  @override
  void dispose() {
    setExpertFee(0.0);
    super.dispose();
  }

  void callAlipay(String _payInfo) async {
    AlipayResult payResult;
    try {
      print("The pay info is : " + _payInfo);
      payResult = await FlutterAlipay.pay(_payInfo);
    } on Exception catch (e) {
      payResult = null;
    }
    print(payResult);

    if (payResult != null) {
      if (payResult.resultStatus == "9000") {
        upDataMoney();
        getRoom();
      } else {
        toasts(payResult.memo);
      }
    } else {
      toasts("支付异常");
    }
  }

  static const payType = [
    {
      "icon": "tab_first/pay_yue",
      "title": "账户余额支付",
      "price": "",
    },
    {
      "icon": "tab_first/pay_zhifubao",
      "title": "支付宝支付",
    },
    {
      "icon": "tab_first/pay_winxin",
      "title": "微信支付",
    },
  ];

  int indexNow = 999;
  String checkFalse = "tab_first/check_false";
  String checkTrue = "tab_first/check_true";

  @override
  Widget build(BuildContext context) {
    double width = MediaQuery.of(context).size.width;
    double height = MediaQuery.of(context).size.height;

    return Container(
      child: Scaffold(
          appBar: MyAppBar(
            centerTitle: "购买服务",
          ),
          body: Container(
              child: Stack(
            children: <Widget>[
              Container(
                // padding: EdgeInsets.only(top:70),
                child: ListView(children: <Widget>[
                  Container(
                      padding: EdgeInsets.all(ScreenUtil().setWidth(15)),
                      decoration: BoxDecoration(
                        border: Border(
                          bottom:
                              BorderSide(width: 5, color: ThemeUtils.getDialogTextFieldColor(context)),
                        ),
                      ),
                      child: Row(
                          mainAxisAlignment: MainAxisAlignment.spaceBetween,
                          children: <Widget>[
                            Row(
                                crossAxisAlignment: CrossAxisAlignment.center,
                                children: <Widget>[
                                  Text(
                                    questionType == "1" ? "问诊服务" : "出诊服务",
                                    style: TextStyle(
                                        fontSize: ScreenUtil().setSp(16)),
                                    textAlign: TextAlign.start,
                                  ),
                                  Container(
                                    padding: EdgeInsets.only(
                                        left: ScreenUtil().setWidth(10)),
                                    child: Text(
                                      expertFee != null && expertFee != 0.0
                                          ? expertName
                                          : "平台指定专家",
                                      style: TextStyle(
                                          color: Color(0xff666666),
                                          fontSize: ScreenUtil().setSp(16)),
                                      textAlign: TextAlign.start,
                                    ),
                                  )
                                ]),
                            Container(
                              child: Text(
                                // "￥${expertFee != null ? expertFee.toString() : '0.0'}",
                                "￥${expertFee != null && expertFee != 0.0 ? expertFee.toString() : apiExpertFee.toString()}",
                                style: TextStyle(
                                    color: Colors.red,
                                    fontSize: ScreenUtil().setSp(16)),
                                textAlign: TextAlign.end,
                              ),
                            )
                          ])),
                  // ChioseThis(list: quanListChiose,label: "优惠券",labelText: '无可用优惠券',value:quanChiose,fun:(index){
                  //   setState(() {
                  //                               quanChiose = quanListChiose[index];
                  //                             });
                  //                             Navigator.maybePop(context);
                  // }),
                  ChioseThisRight(
                      label: "优惠券",
                      labelText: '无可用优惠券',
                      value: couponChiose,
                      fun: () {
                        setState(() {
                          // brandChiose = brandListChiose[index];

                          typeName = "卡券";
                          sortBool = false;
                          print(5656333);
                        });
                        getCouponList(1);
                        // Navigator.maybePop(context);
                      }),
                  ChioseThisRight(
                      label: "红包",
                      labelText: '无可用红包',
                      value: redChiose,
                      fun: () {
                        
                        setState(() {
                          // brandChiose = brandListChiose[index];
                          
                          typeName = "红包";
                          sortBool = false;
                          print(5656333);

                        });
                        getCouponList(2);
                        // Navigator.maybePop(context);
                      }),
                  // ChioseThis(list: redListChiose,label: "红包",labelText: '无可用红包',value:redChiose,fun:(index){
                  //   setState(() {
                  //                               redChiose = redListChiose[index];
                  //                             });
                  //                             Navigator.maybePop(context);
                  // }),
                  Container(
                    padding: EdgeInsets.only(
                        left: ScreenUtil().setWidth(15),
                        right: ScreenUtil().setWidth(15),
                        top: ScreenUtil().setWidth(10),
                        bottom: ScreenUtil().setWidth(10)),
                    decoration: BoxDecoration(
                      border: Border(
                        bottom: BorderSide(width: 5, color: ThemeUtils.getDialogTextFieldColor(context)),
                      ),
                    ),
                    child: Row(
                        mainAxisAlignment: MainAxisAlignment.spaceBetween,
                        children: <Widget>[
                          Text(
                            "共需支付",
                            style: TextStyle(
                                fontSize: ScreenUtil().setSp(14)),
                            textAlign: TextAlign.start,
                          ),
                          Text(
                            "￥${priceTotal != null ? priceTotal.toStringAsFixed(2).toString() : '0.0'}",
                            style: TextStyle(
                                color: Colors.red,
                                fontSize: ScreenUtil().setSp(14)),
                            textAlign: TextAlign.start,
                          ),
                        ]),
                  ),
                  Container(
                    padding: EdgeInsets.only(
                        left: ScreenUtil().setWidth(15),
                        right: ScreenUtil().setWidth(15),
                        top: ScreenUtil().setWidth(10),
                        bottom: ScreenUtil().setWidth(10)),
                    decoration: BoxDecoration(
                      border: Border(
                        bottom:
                            BorderSide(width: 0.5, color: Color(0xfff5f5f5)),
                      ),
                    ),
                    child: Row(
                        mainAxisAlignment: MainAxisAlignment.spaceBetween,
                        children: <Widget>[
                          Text(
                            "选择支付方式",
                            style: TextStyle(
                                fontSize: ScreenUtil().setSp(16)),
                            textAlign: TextAlign.start,
                          ),
                        ]),
                  ),
                  Container(
                      padding: EdgeInsets.only(
                          left: ScreenUtil().setWidth(15),
                          right: ScreenUtil().setWidth(15)),
                      child: Column(
                        children: payType.asMap().keys.map((i) {
                          return Container(
                            decoration: BoxDecoration(
                              border: Border(
                                bottom: BorderSide(
                                    width: 0.5, color: Color(0xfff5f5f5)),
                              ),
                            ),
                            height: 60,
                            child: InkWell(
                                onTap: () {
                                  setState(() {
                                    indexNow = i;
                                  });
                                  print(indexNow);
                                },
                                child: Row(
                                    mainAxisAlignment:
                                        MainAxisAlignment.spaceBetween,
                                    children: <Widget>[
                                      Row(
                                        children: <Widget>[
                                          LoadAssetImage(
                                            // image: AssetImage(i['img']),
                                            payType[i]["icon"],
                                            width: ScreenUtil().setWidth(20),
                                            height: ScreenUtil().setWidth(20),
                                            // alignment: Alignment.centerLeft,
                                          ),
                                          Container(width: 5, child: null),
                                          Text(
                                            payType[i]["title"],
                                            style: TextStyle(
                                                fontSize:
                                                    ScreenUtil().setSp(14)),
                                            textAlign: TextAlign.start,
                                          ),
                                          Container(width: 5, child: null),
                                          // Text(
                                          //   payType[i]["price"] != null
                                          //       ? "￥${payType[i]["price"]}"
                                          //       : "",
                                          //   style: TextStyle(
                                          //       color: Color(0xff999999),
                                          //       fontSize:
                                          //           ScreenUtil().setSp(16)),
                                          //   textAlign: TextAlign.start,
                                          // ),
                                        ],
                                      ),
                                      Container(
                                        // padding: EdgeInsets.only(top:10,left:5,right:5,bottom:10),
                                        child: LoadAssetImage(
                                          // image: AssetImage(i['img']),
                                          indexNow == i
                                              ? checkTrue
                                              : checkFalse,
                                          width: ScreenUtil().setWidth(18),
                                          height: ScreenUtil().setWidth(18),
                                          // alignment: Alignment.centerLeft,
                                        ),
                                      ),
                                    ])),
                          );
                        }).toList(),
                      ))
                ]),
              ),
              Positioned(
                  bottom: 0,
                  left: 0,
                  child: Container(
                    width: width,
                    padding: EdgeInsets.only(
                        top: ScreenUtil().setWidth(15),
                        bottom: ScreenUtil().setWidth(15),
                        left: ScreenUtil().setWidth(25),
                        right: ScreenUtil().setWidth(25)),
                    color: ThemeUtils.getDialogTextFieldColor(context),
                    child: Container(
                      height: ScreenUtil().setWidth(44),
                      decoration: BoxDecoration(
                        borderRadius: BorderRadius.circular(22.0),
                        gradient: const LinearGradient(
                            colors: [Color(0xFF00D9FF), Color(0xFF0287FF)]),
                      ),
                      child: FlatButton(
                        // padding: EdgeInsets.all(15.0),
                        child: Text("立即购买"),
                        textColor: Colors.white,
                        onPressed: () {
                          // NavigatorUtils.push(context, "${BbsRouter.chatRoom}?id=1111");
                          if(priceTotal <= 0 && indexNow != 0){
                            toasts("支付金额为0，请使用余额支付！");
                            return;
                          }

                          if (indexNow == 0) {
                            
                            showAlert(
                              context,
                              "提示",
                              "确定支付？",
                              "确定",
                              () {
                                generateOrder(0);
                                NavigatorUtils.goBack(context);
                              },
                              txt2: "取消",
                              onPre2: () {
                                NavigatorUtils.goBack(context);
                              },
                            );
                            // NavigatorUtils.push(context, BbsRouter.chatRoom);
                          } else if (indexNow == 1) {
                            generateOrder(1);
                            // NewApiService().aliPayOrder(orders,
                            //     onSuccess: (res) {
                            //   callAlipay(res);
                            // }, onError: (code, msg) {
                            //   toasts(msg);
                            // });
                          } else if (indexNow == 2) {
                            generateOrder(2);
                          } else {
                            toasts("选择支付方式");
                          }
                        },
                      ),
                    ),
                  )),
              !sortBool
                  ? Positioned(
                      top: 0,
                      left: 0,
                      child: GestureDetector(
                        onTap: () {
                          setState(() {
                            sortBool = true;
                          });
                        },
                        child: Container(
                            width: width,
                            height: height,
                            color: Color.fromRGBO(0, 0, 0, 0.5)),
                      ),
                    )
                  : Container(child: null),
              !sortBool
                  ? Positioned(
                      top: 0,
                      right: 0,
                      child: Container(
                          width: width / 4 * 3,
                          height: height,
                          color: ThemeUtils.getTabsBg(context),
                          padding: EdgeInsets.all(10),
                          child: ListView(
                            children: <Widget>[
                              Container(
                                padding: EdgeInsets.only(
                                    left: 5, top: 5, bottom: 10),
                                child: Text(
                                  typeName,
                                  style: TextStyle(
                                      color: Color(0xff666666),
                                      fontSize: ScreenUtil().setSp(16)),
                                  textAlign: TextAlign.start,
                                ),
                              ),
                              InkWell(
                                onTap: () {
                                  print(priceCoupon);
                                  print(priceRed);
                                  print(33333333333);
                                  setState(() {
                                    expertFee != null && expertFee != 0.0
                                        ? priceTotal = expertFee
                                        : priceTotal = apiExpertFee;
                                    sortBool = true;
                                    if (typeName == "卡券") {
                                      priceCoupon = 0.0;
                                      couponChiose = '请选择';
                                      typeIdssCoupon = null;
                                    } else if (typeName == "红包") {
                                      priceRed = 0.0;
                                      redChiose = '请选择';
                                      typeIdssRed = null;
                                    }
                                    print(priceCoupon);
                                    print(priceRed);
                                    print(123465798);
                                    if ((priceTotal - priceCoupon - priceRed) <
                                        0) {
                                      priceTotal = 0;
                                    } else {
                                      priceTotal =
                                          priceTotal - priceCoupon - priceRed;
                                    }
                                    couponList = [];
                                  });
                                },
                                child: Container(
                                  // width: width / 4 - 17,
                                  padding: EdgeInsets.only(
                                      bottom: ScreenUtil().setWidth(10),
                                      left: ScreenUtil().setWidth(10),
                                      right: ScreenUtil().setWidth(10),
                                      top: ScreenUtil().setWidth(10)),
                                  margin: EdgeInsets.only(
                                      left: 5, right: 5, bottom: 5, top: 5),
                                  decoration: BoxDecoration(
                                      // border: Border(
                                      //   bottom: BorderSide(width: 0.5, color: Colours.line),
                                      // ),
                                      color: ThemeUtils.getDialogTextFieldColor(context)),
                                  child: Text(
                                    "不选择$typeName",
                                    style: TextStyle(
                                        fontSize: ScreenUtil().setSp(14)),
                                    textAlign: TextAlign.center,
                                  ),
                                ),
                              ),
                              couponList != null && couponList.length > 0
                                  ? Container(
                                      child: Wrap(
                                      alignment: WrapAlignment.start,
                                      crossAxisAlignment:
                                          WrapCrossAlignment.center,
                                      children:
                                          couponList.asMap().keys.map((index) {
                                        return InkWell(
                                          onTap: () {
                                            setState(() {
                                              expertFee != null &&
                                                      expertFee != 0.0
                                                  ? priceTotal = expertFee
                                                  : priceTotal = apiExpertFee;
                                              sortBool = true;
                                              if (typeName == "卡券") {
                                                // if (priceTotal -
                                                //         couponList[index]
                                                //             .coupon
                                                //             .price >
                                                //     0.0) {
                                                //   priceCoupon =
                                                //       couponList[index]
                                                //           .coupon
                                                //           .price;
                                                // }else {
                                                //   priceTotal = 0.0;
                                                // }
                                                priceCoupon = couponList[index]
                                                    .coupon
                                                    .discount;
                                                couponChiose = couponList[index]
                                                        .coupon
                                                        .name ??
                                                    "";
                                                typeIdssCoupon =
                                                    couponList[index].id;
                                              } else if (typeName == "红包") {
                                                // if (priceTotal -
                                                //         couponList[index]
                                                //             .coupon
                                                //             .price >
                                                //     0.0) {
                                                //   priceRed =
                                                //       couponList[index]
                                                //           .coupon
                                                //           .price;
                                                // }else {
                                                //   priceTotal = 0.0;
                                                // }
                                                priceRed = couponList[index]
                                                    .coupon
                                                    .price;
                                                redChiose = couponList[index]
                                                        .coupon
                                                        .name ??
                                                    "";
                                                typeIdssRed =
                                                    couponList[index].id;
                                              }
                                              if ((priceTotal -
                                                      priceCoupon -
                                                      priceRed) <
                                                  0) {
                                                priceTotal = 0;
                                              } else {
                                                priceTotal = priceTotal -
                                                    priceCoupon -
                                                    priceRed;
                                              }
                                              couponList = [];
                                            });

                                            
                                          },
                                          child: Container(
                                            // width: width / 4 - 17,
                                            padding: EdgeInsets.only(
                                                bottom:
                                                    ScreenUtil().setWidth(10),
                                                left: ScreenUtil().setWidth(10),
                                                right:
                                                    ScreenUtil().setWidth(10),
                                                top: ScreenUtil().setWidth(10)),
                                            margin: EdgeInsets.only(
                                                left: 5,
                                                right: 5,
                                                bottom: 5,
                                                top: 5),
                                            decoration: BoxDecoration(
                                                // border: Border(
                                                //   bottom: BorderSide(width: 0.5, color: Colours.line),
                                                // ),
                                                color: ThemeUtils.getDialogTextFieldColor(context)),
                                            child: Text(
                                              couponList[index].coupon.name ??
                                                  "",
                                              style: typeName == "卡券"
                                                  ? TextStyle(
                                                      color: typeIdssCoupon ==
                                                              couponList[index].id
                                                          ? Color(0xffff0000)
                                                          : Color(0xff000000),
                                                      fontSize: ScreenUtil()
                                                          .setSp(14))
                                                  : TextStyle(
                                                      color: typeIdssRed ==
                                                              couponList[index].id
                                                          ? Color(0xffff0000)
                                                          : Color(0xff000000),
                                                      fontSize: ScreenUtil()
                                                          .setSp(14)),
                                              textAlign: TextAlign.center,
                                            ),
                                          ),
                                        );
                                      }).toList(),
                                    ))
                                  : Center(child: Text("暂无")),
                            ],
                          )))
                  : Container(child: null),
            ],
          ))),
    );
  }

  Widget loadCircle() {
    return Container(
      padding: EdgeInsets.only(top: 10, bottom: 10),
      color: ThemeUtils.getTabsBg(context),
      child: Center(
        child: SpinKitFadingCircle(
          color: Colors.blueAccent,
          size: 30.0,
        ),
      ),
    );
  }
}

class ChioseThisRight extends StatelessWidget {
  ChioseThisRight({Key key, this.value, this.label, this.fun, this.labelText})
      : super(key: key);
  String value;
  String label;
  Function fun;
  String labelText;
  @override
  Widget build(BuildContext context) {
    double width = MediaQuery.of(context).size.width;
    return InkWell(
      onTap: () {
        fun();
      },
      child: Container(
        padding: EdgeInsets.only(
            top: ScreenUtil().setWidth(15), bottom: ScreenUtil().setWidth(15)),
        margin: EdgeInsets.only(left: ScreenUtil().setWidth(15)),
        decoration: BoxDecoration(
          border: Border(
            bottom: BorderSide(width: 0.5, color: Colours.line),
          ),
        ),
        child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: <Widget>[
              Text(
                label,
                style: TextStyle(
                  // fontSize: ScreenUtil().setSp(14)
                ),
                textAlign: TextAlign.start,
              ),
              value.isEmpty
                  ? Container(
                      child: Row(children: <Widget>[
                        Text(
                          labelText,
                          style: TextStyle(
                            color: Color(0xffcccccc),
                            // fontSize: ScreenUtil().setSp(14)
                          ),
                          textAlign: TextAlign.start,
                        ),
                        Container(
                          padding: EdgeInsets.only(top: 3),
                          child: Icon(
                            Icons.keyboard_arrow_right,
                            size: 20.0,
                            color: Color(0xffcccccc),
                          ),
                        ),
                        SizedBox(width: 10)
                      ]),
                    )
                  : Container(
                      padding:
                          EdgeInsets.only(right: ScreenUtil().setWidth(15)),
                      child: Row(children: <Widget>[
                        Text(
                          value,
                          style: TextStyle(
                              fontSize: ScreenUtil().setSp(14)),
                          textAlign: TextAlign.start,
                        ),
                      ]),
                    ),
            ]),
      ),
    );
  }
}
