import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:liftmanager/common/common.dart';
import 'package:liftmanager/internal/account/account_router.dart';
import 'package:liftmanager/internal/account/model/user_info_entity.dart';
import 'package:liftmanager/internal/account/provider/user_provider.dart';
import 'package:liftmanager/internal/wode/wode_router.dart';
import 'package:liftmanager/net/api_service.dart';
import 'package:liftmanager/routers/fluro_navigator.dart';
import 'package:liftmanager/utils/image_utils.dart';
import 'package:liftmanager/widgets/app_bar.dart';
import 'package:liftmanager/widgets/click_item.dart';
import 'package:liftmanager/widgets/load_image.dart';
import 'package:liftmanager/widgets/my_button.dart';
import 'package:provider/provider.dart';
import 'package:liftmanager/widgets/bbs_content.dart';
import 'package:liftmanager/internal/bbs/bbs_router.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:liftmanager/utils/toast.dart';
import 'package:liftmanager/internal/bbs/model/liftcase_model.dart';
import 'package:liftmanager/utils/time_format.dart';
import 'package:liftmanager/internal/wode/order_const.dart';
// import 'package:amap_all_fluttify/amap_all_fluttify.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:video_player/video_player.dart';
import 'package:chewie/chewie.dart';
import 'package:liftmanager/utils/utils.dart';
import 'package:liftmanager/utils/theme_utils.dart';
import 'package:flutter/services.dart';
import 'package:orientation/orientation.dart';

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

  final String id;
  @override
  State<StatefulWidget> createState() {
    return OrderDetailMasterState();
  }
}

class OrderDetailMasterState extends State<OrderDetailMaster>
    with AutomaticKeepAliveClientMixin {
  UserProvider provider = UserProvider();

  bool _hasData = false;
  LiftCasesDetailModel detailObj;
  double totalPay;
  getBrandDetail() {
    // showLoading(context);
    NewApiService().getLiftcaseDetail(widget.id, onSuccess: (res) {
      detailObj = res;
      print("获取详情成功");
      if(detailObj.beforeRepair!=null){
        _controllerBefore = VideoPlayerController.network(
                                        Utils.getImagePath(detailObj.beforeRepair) 
                                        );
      }
      if(detailObj.afterRepair!=null){
        _controllerAfter = VideoPlayerController.network(
                                        Utils.getImagePath(detailObj.afterRepair) 
                                        );
      }
      double serviceCost = detailObj.serviceCost!=null?detailObj.serviceCost:0.0;
      double travelCost = detailObj.travelCost!=null?detailObj.travelCost:0.0;
      double couponDeduction = detailObj.couponDeduction!=null?detailObj.couponDeduction:0.0;
      double redEnvelopeDeduction = detailObj.redEnvelopeDeduction!=null?detailObj.redEnvelopeDeduction:0.0;
      totalPay = (serviceCost + travelCost) - ( couponDeduction + redEnvelopeDeduction);
      if(totalPay < 0){
        totalPay = 0.0;
      }
      _hasData = true;
      // dismissLoading(context);
      setState(() {});
    }, onError: (code, msg) {
      // dismissLoading(context);
      toasts(msg);
    });
  }
  VideoPlayerController _controllerBefore;
  VideoPlayerController _controllerAfter;
  // 确认完成
  void _confirmComplete() {
    showLoading(context);
    NewApiService().chargeMakeSureCase({
      "id": widget.id,
    }, onSuccess: (res) {
      toasts("确认完成");
      getBrandDetail();
      dismissLoading(context);
      setState(() {});
    }, onError: (code, msg) {
      dismissLoading(context);
      toasts(msg);
    });
  }

  @override
  void initState() {
    if(this.mounted){
      getBrandDetail();
    }
    super.initState();
    
  }

  @override
  void dispose() {
    if(detailObj.beforeRepair!=null){
      _controllerBefore.pause();
      _controllerBefore.dispose();
    }
    if(detailObj.afterRepair!=null){
      _controllerAfter.pause();
      _controllerAfter.dispose();
    }
    // SystemChrome.setPreferredOrientations([
    //   DeviceOrientation.portraitUp,
    // ]);
    OrientationPlugin.forceOrientation(DeviceOrientation.portraitUp);
    // provider.dispose();
    super.dispose();
  }

  getHeight(detailObj){
    bool isHeight = false;
    if((OrderConstant.isShow(detailObj.statuz,detailObj.dataTable,'showExpertQuoteButton'))||
    (OrderConstant.isShow(detailObj.statuz,detailObj.dataTable,'showExpertPunchButton') &&detailObj.arrivedFlag == 0)||
    (OrderConstant.isShow(detailObj.statuz,detailObj.dataTable,'showExpertConfirmOrderButton',arrivedFlag:detailObj.arrivedFlag))||
    (OrderConstant.isShow(detailObj.statuz,detailObj.dataTable,'showExpertArchiveButton'))
      ){
      isHeight = true;
    }
    return isHeight;
  }

  @override
  Widget build(BuildContext context) {
    double width = MediaQuery.of(context).size.width;
    double height = MediaQuery.of(context).size.height;
    if(width > height){
      // SystemChrome.setPreferredOrientations([
      //   DeviceOrientation.portraitUp,
      // ]);
      OrientationPlugin.forceOrientation(DeviceOrientation.portraitUp);
    }
    return ChangeNotifierProvider<UserProvider>(
      create: (_) => provider,
      child: Scaffold(
        appBar: MyAppBar(
          centerTitle: "订单详情",
          
        ),
        body: _hasData
            ? Consumer<UserProvider>(
                builder: (_, provider, __) {
                  return Stack(
                    children: <Widget>[
                      ListView(padding: EdgeInsets.all(0.0), children: <Widget>[
                        Container(
                          decoration: BoxDecoration(
                            gradient: const LinearGradient(
                                colors: [Color(0xFF00D9FF), Color(0xFF0287FF)]),
                          ),
                          padding: EdgeInsets.only(
                              top: ScreenUtil().setWidth(10),
                              left: ScreenUtil().setWidth(30)),
                          height: ScreenUtil().setWidth(70),
                          child: Column(
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: <Widget>[
                              Text(
                                OrderConstant.getStatusName(
                                    detailObj.statuz, detailObj.dataTable,
                                    arrivedFlag: detailObj.arrivedFlag,
                                    userType: 'EXPERT'),
                                textAlign: TextAlign.left,
                                style: TextStyle(
                                  fontSize: ScreenUtil().setSp(17),
                                  color: Color(0xffffffff),
                                ),
                              ),
                              // detailObj.statuz == 1
                              //     ? Text(
                              //         '还剩23小时59分钟自动确认',
                              //         textAlign: TextAlign.left,
                              //         style: TextStyle(
                              //           fontSize: ScreenUtil().setSp(13),
                              //           color: Color(0xffeeeeee),
                              //         ),
                              //       )
                              //     : Container(
                              //         child: null,
                              //       ),
                            ],
                          ),
                        ),
                        Container(
                          // height: 20,
                          padding: EdgeInsets.only(
                              bottom: ScreenUtil().setWidth(20),
                              top: ScreenUtil().setWidth(10)),
                          child: Row(
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: <Widget>[
                              Expanded(
                                child: GestureDetector(
                                  onTap: () {
                                    NavigatorUtils.push(context, "${BbsRouter.recommendAsk}?id=${detailObj.id}&type=3");
                                  },
                                  child: Row(
                                    crossAxisAlignment:
                                        CrossAxisAlignment.start,
                                    children: <Widget>[
                                      Container(
                                        margin: EdgeInsets.only(
                                            left: ScreenUtil().setWidth(15),
                                            right: ScreenUtil().setWidth(10),
                                            top: ScreenUtil().setWidth(5)),
                                        decoration: BoxDecoration(
                                          borderRadius: BorderRadius.circular(
                                              ScreenUtil().setWidth(22)),
                                        ),
                                        child: LoadNetworkImage(
                                          detailObj.avatarUrl != null
                                              ? detailObj.avatarUrl
                                              : '',
                                          width: ScreenUtil().setWidth(43),
                                          height: ScreenUtil().setWidth(43),
                                          // alignment: Alignment.centerLeft,
                                        ),
                                      ),
                                      Expanded(
                                        child: Container(
                                          child: Column(
                                            children: <Widget>[
                                              Container(
                                                child: Row(
                                                  mainAxisAlignment:
                                                      MainAxisAlignment
                                                          .spaceBetween,
                                                  children: <Widget>[
                                                    Row(
                                                      crossAxisAlignment:
                                                          CrossAxisAlignment
                                                              .center,
                                                      children: <Widget>[
                                                        Text(
                                                          detailObj.name ?? '',
                                                          style: TextStyle(
                                                              fontSize:
                                                                  ScreenUtil()
                                                                      .setSp(
                                                                          17)),
                                                          textAlign:
                                                              TextAlign.start,
                                                        ),
                                                        Container(
                                                          padding:
                                                              EdgeInsets.only(
                                                                  left: 5),
                                                          child: Text(
                                                            detailObj.dataTable ==
                                                                    1
                                                                ? '问诊服务'
                                                                : '出诊服务',
                                                            style: TextStyle(
                                                              color: Color(
                                                                  0xff0288FF),
                                                              fontSize:
                                                                  ScreenUtil()
                                                                      .setSp(
                                                                          13),
                                                            ),
                                                            textAlign:
                                                                TextAlign.start,
                                                          ),
                                                        )
                                                      ],
                                                    ),
                                                  ],
                                                ),
                                              ),
                                              Container(
                                                child: Row(
                                                  mainAxisAlignment:
                                                      MainAxisAlignment
                                                          .spaceBetween,
                                                  children: <Widget>[
                                                    Row(
                                                      crossAxisAlignment:
                                                          CrossAxisAlignment
                                                              .center,
                                                      children: <Widget>[
                                                        Text(
                                                          detailObj.createTime !=
                                                                  null
                                                              ? DateUtils
                                                                  .instance
                                                                  .getFormartData(
                                                                  timeSamp:
                                                                      detailObj
                                                                          .createTime,
                                                                  format:
                                                                      "MM月dd日",
                                                                )
                                                              : '',
                                                          style: TextStyle(
                                                              color: Color(
                                                                  0xff999999),
                                                              fontSize:
                                                                  ScreenUtil()
                                                                      .setSp(
                                                                          13)),
                                                          textAlign:
                                                              TextAlign.start,
                                                        ),
                                                        Container(
                                                          // padding:
                                                          //     EdgeInsets.only(
                                                          //         left: 5),
                                                          child: Text(
                                                            detailObj
                                                                    .brandName ??
                                                                '',
                                                            style: TextStyle(
                                                                color: Color(
                                                                    0xff999999),
                                                                fontSize:
                                                                    ScreenUtil()
                                                                        .setSp(
                                                                            13)),
                                                            textAlign:
                                                                TextAlign.start,
                                                          ),
                                                        )
                                                      ],
                                                    ),
                                                  ],
                                                ),
                                              ),
                                              Container(
                                                child: Row(
                                                  mainAxisAlignment:
                                                      MainAxisAlignment
                                                          .spaceBetween,
                                                  children: <Widget>[
                                                    Row(
                                                      crossAxisAlignment:
                                                          CrossAxisAlignment
                                                              .start,
                                                      children: <Widget>[
                                                        Text(
                                                          detailObj.dataTable ==
                                                                  1
                                                              ? "问题描述："
                                                              : "出诊时间：",
                                                          style: TextStyle(
                                                              color: Color(
                                                                  0xff999999),
                                                              fontSize:
                                                                  ScreenUtil()
                                                                      .setSp(
                                                                          13)),
                                                          textAlign:
                                                              TextAlign.start,
                                                        ),
                                                        Container(
                                                          width: width*0.5,
                                                          padding:
                                                              EdgeInsets.only(
                                                                  left: 5),
                                                          child: Text(
                                                            detailObj.dataTable ==
                                                                    1
                                                                ? (detailObj
                                                                        .expression ??
                                                                    '')
                                                                : (detailObj.arrivedTime !=
                                                                        null
                                                                    ? DateUtils
                                                                        .instance
                                                                        .getFormartData(
                                                                        timeSamp:
                                                                            detailObj.arrivedTime,
                                                                        format:
                                                                            "MM-dd HH:mm",
                                                                      )
                                                                    : ''),
                                                            style: TextStyle(
                                                              color: Color(
                                                                  0xff999999),
                                                              fontSize:
                                                                  ScreenUtil()
                                                                      .setSp(
                                                                          13),
                                                            ),
                                                            textAlign:
                                                                TextAlign.start,
                                                          ),
                                                        )
                                                      ],
                                                    ),
                                                  ],
                                                ),
                                              ),
                                              SizedBox(
                                                height: 6,
                                              ),
                                              Container(
                                                child: Row(
                                                  // mainAxisAlignment:
                                                  //     MainAxisAlignment
                                                  //         .spaceBetween,
                                                  children: <Widget>[
                                                    Row(
                                                      crossAxisAlignment:
                                                          CrossAxisAlignment
                                                              .start,
                                                      children: <Widget>[
                                                        Text(
                                                          detailObj.dataTable ==
                                                                  1
                                                              ? "已尝试方法："
                                                              : "出诊地点：",
                                                          style: TextStyle(
                                                            color: Color(
                                                                0xff999999),
                                                            fontSize:
                                                                ScreenUtil()
                                                                    .setSp(13),
                                                          ),
                                                          textAlign:
                                                              TextAlign.start,
                                                        ),
                                                        Container(
                                                          width: width*0.6,
                                                          padding:
                                                              EdgeInsets.only(
                                                                  left: 5,right:50),
                                                          child: Text(
                                                            detailObj.dataTable ==
                                                                    1
                                                                ? (detailObj
                                                                        .usedMethods ??
                                                                    '')
                                                                : (detailObj
                                                                        .address ??
                                                                    ""),
                                                            style: TextStyle(
                                                              color: Color(
                                                                  0xff999999),
                                                              fontSize:
                                                                  ScreenUtil()
                                                                      .setSp(
                                                                          13),
                                                            ),
                                                            textAlign:
                                                                TextAlign.start,
                                                          ),
                                                        )
                                                      ],
                                                    ),
                                                  ],
                                                ),
                                              ),
                                              detailObj.dataTable == 2
                                                  ? Container(
                                                      child: Row(
                                                        mainAxisAlignment:
                                                            MainAxisAlignment
                                                                .start,
                                                        children: <Widget>[
                                                          Container(
                                                            width: 260,
                                                            child: Text(
                                                              detailObj
                                                                      .expression ??
                                                                  '',
                                                              style: TextStyle(
                                                                color: Color(
                                                                    0xff0288FF),
                                                                fontSize:
                                                                    ScreenUtil()
                                                                        .setSp(
                                                                            15),
                                                              ),
                                                              textAlign:
                                                                  TextAlign
                                                                      .left,
                                                              maxLines: 1,
                                                              overflow:
                                                                  TextOverflow
                                                                      .ellipsis,
                                                            ),
                                                          )
                                                        ],
                                                      ),
                                                    )
                                                  : Container(),
                                            ],
                                          ),
                                        ),
                                      )
                                    ],
                                  ),
                                ),
                              ),
                            ],
                          ),
                        ),
                        Container(
                          color: ThemeUtils.getDialogTextFieldColor(context),
                          height: ScreenUtil().setWidth(5),
                        ),
                        Column(
                          children: <Widget>[
                            detailObj.dataTable == 2
                                ? Heng(
                                    left: "差旅费",
                                    right: detailObj.travelCost != null
                                        ? "￥" + detailObj.travelCost.toString()
                                        : '￥0',
                                    leftColor: 0xff666666,
                                    rightColor: 0xff666666,
                                  )
                                : Container(),
                            Heng(
                              left: "技术服务费",
                              right: detailObj.serviceCost != null
                                  ? "￥" + detailObj.serviceCost.toString()
                                  : '￥0',
                              leftColor: 0xff666666,
                              rightColor: 0xff666666,
                            ),
                            Heng(
                              left: "优惠券抵扣",
                              right: detailObj.couponDeduction != null
                                  ? "- ￥" + detailObj.couponDeduction.toString()
                                  : '- ￥0',
                              leftColor: 0xff666666,
                              rightColor: 0xff666666,
                            ),
                            Heng(
                              left: "红包抵扣",
                              right: detailObj.redEnvelopeDeduction != null
                                  ? "- ￥" +
                                      detailObj.redEnvelopeDeduction.toString()
                                  : '- ￥0',
                              leftColor: 0xff666666,
                              rightColor: 0xff666666,
                            ),
                            Heng(
                              left: "实付款",
                              right: detailObj.payCost != null
                                  ? "￥" + detailObj.payCost.toString()
                                  : '￥' + totalPay.toStringAsFixed(2).toString(),
                              leftColor: 0xff666666,
                              rightColor: 0xffFD0808,
                            ),
                            Container(
                              color: ThemeUtils.getDialogTextFieldColor(context),
                              height: ScreenUtil().setWidth(5),
                            ),
                          ],
                        ),
                        Container(
                          padding: EdgeInsets.only(
                              left: ScreenUtil().setWidth(15),
                              top: ScreenUtil().setWidth(10),
                              bottom: ScreenUtil().setWidth(10)),
                          decoration: BoxDecoration(
                            border: Border(
                              bottom: BorderSide(
                                  width: .5, color: ThemeUtils.getDialogTextFieldColor(context)),
                            ),
                          ),
                          child: Text(
                            '订单信息',
                            textAlign: TextAlign.left,
                            style: TextStyle(
                              fontSize: ScreenUtil().setSp(17),
                            ),
                          ),
                        ),
                        Container(
                          padding: EdgeInsets.only(
                              left: ScreenUtil().setWidth(15),
                              top: ScreenUtil().setWidth(10),
                              bottom: ScreenUtil().setWidth(10)),
                          child: Column(
                            children: <Widget>[
                              Row(children: <Widget>[
                                Text(
                                  '订单编号:',
                                  textAlign: TextAlign.left,
                                  style: TextStyle(
                                    fontSize: ScreenUtil().setSp(13),
                                    color: Color(0xff666666),
                                  ),
                                ),
                                Text(
                                  detailObj.orderNo != null
                                      ? detailObj.orderNo
                                      : '',
                                  textAlign: TextAlign.left,
                                  style: TextStyle(
                                    fontSize: ScreenUtil().setSp(13),
                                    color: Color(0xff666666),
                                  ),
                                ),
                              ]),
                              Row(
                                children: <Widget>[
                                  Text(
                                    '创建时间:',
                                    textAlign: TextAlign.left,
                                    style: TextStyle(
                                      fontSize: ScreenUtil().setSp(13),
                                      color: Color(0xff666666),
                                    ),
                                  ),
                                  Text(
                                    detailObj.createTime != null
                                        ? DateUtils.instance.getFormartData(
                                            timeSamp: detailObj.createTime,
                                            format: "yyyy-MM-dd HH:mm:ss")
                                        : '',
                                    textAlign: TextAlign.left,
                                    style: TextStyle(
                                      fontSize: ScreenUtil().setSp(13),
                                      color: Color(0xff666666),
                                    ),
                                  ),
                                ],
                              ),
                              detailObj.questionBankEntity!=null? Row(
                                  crossAxisAlignment: CrossAxisAlignment.start,
                                  children: <Widget>[
                                    Text(
                                      '驳回原因:',
                                      textAlign: TextAlign.left,
                                      style: TextStyle(
                                        fontSize: ScreenUtil().setSp(13),
                                        color: Color(0xff666666),
                                      ),
                                    ),
                                    Container(
                                      width: width*0.75,
                                      child: Text(
                                      detailObj.questionBankEntity?.notExamineReason??"",
                                      textAlign: TextAlign.left,
                                      style: TextStyle(
                                        fontSize: ScreenUtil().setSp(13),
                                        color: Color(0xff666666),
                                      ),
                                    ),
                                    )
                                  ],
                                ):Container(child: null,),
                                
                            ],
                          ),
                        ),
                        // detailObj.statuz == 3
                        //     ? Container(
                        //         padding: EdgeInsets.only(
                        //             left: ScreenUtil().setWidth(15),
                        //             top: ScreenUtil().setWidth(10),
                        //             bottom: ScreenUtil().setWidth(10)),
                        //         decoration: BoxDecoration(
                        //           border: Border(
                        //             bottom: BorderSide(
                        //                 width: .5, color: Color(0xfff5f5f5)),
                        //           ),
                        //         ),
                        //         child: Text(
                        //           '现场情况(维修前)',
                        //           textAlign: TextAlign.left,
                        //           style: TextStyle(
                        //             fontSize: ScreenUtil().setSp(17),
                        //             color: Color(0xff333333),
                        //           ),
                        //         ),
                        //       )
                        //     : Container(child: null),
                        // detailObj.statuz == 3
                        //     ? Container(
                        //         padding: EdgeInsets.only(
                        //             left: ScreenUtil().setWidth(15),
                        //             right: ScreenUtil().setWidth(15),
                        //             top: ScreenUtil().setWidth(10),
                        //             bottom: ScreenUtil().setWidth(10)),
                        //         child: Stack(
                        //           children: <Widget>[
                        //             ClipRRect(
                        //               borderRadius: BorderRadius.circular(5),
                        //               child: Container(
                        //                 width: width,
                        //                 height: ScreenUtil().setWidth(200),
                        //                 child: LoadAssetImage(
                        //                   "temporary/xue1",
                        //                   fit: BoxFit.cover,
                        //                 ),
                        //               ),
                        //             ),
                        //             Positioned(
                        //               left:
                        //                   width / 2 - ScreenUtil().setWidth(20),
                        //               top: ScreenUtil().setWidth(85),
                        //               child: Container(
                        //                 width: ScreenUtil().setWidth(30),
                        //                 height: ScreenUtil().setWidth(30),
                        //                 // color:Colors.red,
                        //                 child: Icon(
                        //                   IconData(0xe607,
                        //                       fontFamily: "myfont"),
                        //                   size: 30.0,
                        //                   color: Color(0xffdddddd),
                        //                 ),
                        //               ),
                        //             )
                        //           ],
                        //         ),
                        //       )
                        //     : Container(child: null),
                        // detailObj.statuz == 2 || detailObj.statuz == 3
                        //     ? Container(
                        //         padding: EdgeInsets.only(
                        //             left: ScreenUtil().setWidth(15),
                        //             top: ScreenUtil().setWidth(10),
                        //             bottom: ScreenUtil().setWidth(10)),
                        //         decoration: BoxDecoration(
                        //           border: Border(
                        //             bottom: BorderSide(
                        //                 width: .5, color: Color(0xfff5f5f5)),
                        //           ),
                        //         ),
                        //         child: Text(
                        //           detailObj.statuz == 2
                        //               ? '现场情况(维修前)'
                        //               : '现场情况(维修后)',
                        //           textAlign: TextAlign.left,
                        //           style: TextStyle(
                        //             fontSize: ScreenUtil().setSp(17),
                        //             color: Color(0xff333333),
                        //           ),
                        //         ),
                        //       )
                        //     : Container(child: null),
                        // detailObj.statuz == 2 || detailObj.statuz == 3
                        //     ? Container(
                        //         padding: EdgeInsets.only(
                        //             left: ScreenUtil().setWidth(15),
                        //             right: ScreenUtil().setWidth(15),
                        //             top: ScreenUtil().setWidth(10),
                        //             bottom: ScreenUtil().setWidth(10)),
                        //         child: Stack(
                        //           children: <Widget>[
                        //             ClipRRect(
                        //               borderRadius: BorderRadius.circular(5),
                        //               child: Container(
                        //                 width: width,
                        //                 height: ScreenUtil().setWidth(200),
                        //                 child: LoadAssetImage(
                        //                   "temporary/xue1",
                        //                   fit: BoxFit.cover,
                        //                 ),
                        //               ),
                        //             ),
                        //             Positioned(
                        //               left:
                        //                   width / 2 - ScreenUtil().setWidth(20),
                        //               top: ScreenUtil().setWidth(85),
                        //               child: Container(
                        //                 width: ScreenUtil().setWidth(30),
                        //                 height: ScreenUtil().setWidth(30),
                        //                 // color:Colors.red,
                        //                 child: Icon(
                        //                   IconData(0xe607,
                        //                       fontFamily: "myfont"),
                        //                   size: 30.0,
                        //                   color: Color(0xffdddddd),
                        //                 ),
                        //               ),
                        //             )
                        //           ],
                        //         ),
                        //       )
                        //     : Container(child: null),
                        detailObj.dataTable==2? Column(
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: <Widget>[
                              Container(
                                width: width,
                                padding: EdgeInsets.only(left:ScreenUtil().setWidth(15),top:ScreenUtil().setWidth(10),bottom:ScreenUtil().setWidth(10)),
                                decoration: BoxDecoration(
                                  border: Border(
                                                bottom: BorderSide(width: .5, color:Color(0xfff5f5f5)),
                                              ),
                                ),
                                child: Text(
                                              '现场情况(维修前)',
                                              textAlign: TextAlign.left,
                                              style: TextStyle(
                                                fontSize:ScreenUtil().setSp(17),
                                              ),
                                          ),
                              ),
                              detailObj.beforeRepair!=null?Container(
                                padding: EdgeInsets.only(
                                    left: ScreenUtil().setWidth(15),
                                    right: ScreenUtil().setWidth(15),
                                    top: ScreenUtil().setWidth(15)),
                                child: ClipRRect(
                                  borderRadius: BorderRadius.circular(5),
                                  child: new Chewie(
                                    controller: ChewieController(
                                      videoPlayerController:
                                        //   VideoPlayerController.network(
                                        // Utils.getImagePath(detailObj.beforeRepair) 
                                        // // imgFontUrl + detailObj.url
                                        // )
                                        _controllerBefore,
                                      aspectRatio: 3 / 2,
                                      autoPlay: false,
                                      looping: true,
                                      showControls: true,
                                      deviceOrientationsAfterFullScreen:[DeviceOrientation.portraitUp,],
                                      // 占位图
                                      // placeholder: Image.network(
                                      //     imgFontUrl+detailObj.cover,
                                      //     fit: BoxFit.contain,

                                      //   ),

                                      // 是否在 UI 构建的时候就加载视频
                                      autoInitialize: true,

                                      // 拖动条样式颜色
                                      materialProgressColors:
                                          new ChewieProgressColors(
                                        playedColor: Colors.red,
                                        handleColor: Colors.blue,
                                        backgroundColor: Colors.grey,
                                        bufferedColor: Colors.lightGreen,
                                      ),
                                    ),
                                  ),
                                )):Container(
                                  padding: EdgeInsets.only(left:15),
                                  child: Text("暂无"),
                                  ),
                              Container(
                                width: width,
                                padding: EdgeInsets.only(left:ScreenUtil().setWidth(15),top:ScreenUtil().setWidth(10),bottom:ScreenUtil().setWidth(10)),
                                decoration: BoxDecoration(
                                  border: Border(
                                                bottom: BorderSide(width: .5, color:Color(0xfff5f5f5)),
                                              ),
                                ),
                                child: Text(
                                              '现场情况(维修后)',
                                              textAlign: TextAlign.left,
                                              style: TextStyle(
                                                fontSize:ScreenUtil().setSp(17),
                                              ),
                                          ),
                              ),
                             detailObj.afterRepair!=null? Container(
                                padding: EdgeInsets.only(
                                    left: ScreenUtil().setWidth(15),
                                    right: ScreenUtil().setWidth(15),
                                    top: ScreenUtil().setWidth(15)),
                                child: ClipRRect(
                                  borderRadius: BorderRadius.circular(5),
                                  child: new Chewie(
                                    controller: ChewieController(
                                      videoPlayerController:
                                        //   VideoPlayerController.network(
                                        // Utils.getImagePath(detailObj.afterRepair) 
                                        // // imgFontUrl + detailObj.url
                                        // )
                                        _controllerAfter,
                                      aspectRatio: 3 / 2,
                                      autoPlay: false,
                                      looping: true,
                                      showControls: true,
                                      deviceOrientationsAfterFullScreen:[DeviceOrientation.portraitUp,],
                                      // 占位图
                                      // placeholder: Image.network(
                                      //     imgFontUrl+detailObj.cover,
                                      //     fit: BoxFit.contain,

                                      //   ),

                                      // 是否在 UI 构建的时候就加载视频
                                      autoInitialize: true,

                                      // 拖动条样式颜色
                                      materialProgressColors:
                                          new ChewieProgressColors(
                                        playedColor: Colors.red,
                                        handleColor: Colors.blue,
                                        backgroundColor: Colors.grey,
                                        bufferedColor: Colors.lightGreen,
                                      ),
                                    ),
                                  ),
                                )):Container(
                                  padding: EdgeInsets.only(left:15),
                                  child: Text("暂无"),
                                  ),
                            ],
                          ):Container(child: null,),
                        SizedBox(height: 80),
                      ]),
                      Positioned(
                        bottom: 0,
                        left: 0,
                        child: Container(
                          width: width,
                          height: !getHeight(detailObj)?0:60,
                          padding: EdgeInsets.only(
                              right: ScreenUtil().setWidth(15),
                              left: ScreenUtil().setWidth(15),
                              top: ScreenUtil().setWidth(12),
                              bottom: ScreenUtil().setWidth(12)),
                          decoration: BoxDecoration(
                            border: Border(
                              top: BorderSide(
                                  width: 0.5, color: Color(0xffeeeeee)),
                            ),
                            color: ThemeUtils.getDialogTextFieldColor(context),
                          ),
                          child: Row(
                            mainAxisAlignment: MainAxisAlignment.end,
                            crossAxisAlignment: CrossAxisAlignment.center,
                            children: <Widget>[
                              OrderConstant.isShow(
                                      detailObj.statuz,
                                      detailObj.dataTable,
                                      'showExpertQuoteButton')
                                  ? BottomBtn(
                                      title: detailObj.statuz==1?"立即报价":"修改报价",
                                      fun: () {
                                        NavigatorUtils.push(context,
                                            "${WodeRouter.baoPrice}?id=${detailObj.id}&travelCost=${detailObj.travelCost!=null?detailObj.travelCost.toString():''}&serviceCost=${detailObj.serviceCost!=null?detailObj.serviceCost.toString():''}");
                                      },
                                    )
                                  : Container(child: null),
                              // detailObj.statuz == 3 || detailObj.statuz == 6
                              //     ? BottomBtn(
                              //         title: "上传视频",
                              //         fun: () {
                              //           // NavigatorUtils.push(context,WodeRouter.representations);
                              //         },
                              //       )
                              //     : Container(child: null),
                              OrderConstant.isShow(
                                          detailObj.statuz,
                                          detailObj.dataTable,
                                          'showExpertPunchButton') &&
                                      detailObj.arrivedFlag == 0
                                  ? BottomBtn(
                                      title: "立即打卡",
                                      fun: () {
                                        NavigatorUtils.push(context,
                                            "${WodeRouter.punchin}?id=${detailObj.id}");
                                      },
                                    )
                                  : Container(child: null),
                              OrderConstant.isShow(
                                      detailObj.statuz,
                                      detailObj.dataTable,
                                      'showExpertConfirmOrderButton',
                                      arrivedFlag:detailObj.arrivedFlag)
                                  ? BottomBtn(
                                      title: "确认完成",
                                      fun: () {
                                        if(detailObj.dataTable == 1) {
                                          _confirmComplete();
                                        } else {
                                          NavigatorUtils.push(context,
                                            "${WodeRouter.confirmOrder}?id=${detailObj.id}");
                                        }
                                      },
                                    )
                                  : Container(child: null),
                              OrderConstant.isShow(
                                      detailObj.statuz,
                                      detailObj.dataTable,
                                      'showExpertArchiveButton')
                                  ? BottomBtn(
                                      title: "立即归档",
                                      fun: () {
                                        NavigatorUtils.push(context,
                                            "${WodeRouter.archive}?id=${detailObj.id}");
                                      },
                                    )
                                  : Container(child: null),
                            ],
                          ),
                        ),
                      )
                    ],
                  );
                },
              )
            : Center(
                child: Text("正在加载..."),
              ),
      ),
    );
  }

  @override
  bool get wantKeepAlive => true;
}

class BottomBtn extends StatelessWidget {
  BottomBtn({Key key, this.title, this.fun}) : super(key: key);
  Function fun;
  String title;
  @override
  Widget build(BuildContext context) {
    return Container(
      margin: EdgeInsets.only(left: 10),
      child: GestureDetector(
        onTap: () {
          fun();
        },
        child: Container(
          child: Container(
            // height:22,
            padding: EdgeInsets.only(
              left: ScreenUtil().setWidth(20),
              right: ScreenUtil().setWidth(20),
            ),
            decoration: BoxDecoration(
              border: Border.all(width: 1, color: Color(0xff1B87F6)),
              borderRadius: BorderRadius.circular(ScreenUtil().setWidth(17)),
            ),
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Text(
                  title,
                  textAlign: TextAlign.center,
                  style: TextStyle(
                    fontSize: ScreenUtil().setSp(15),
                    color: Color(0xff0288FF),
                  ),
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}
