part of user_order_refunded;

/// 订单已退款界面
class UserOrderRefundedPage extends StatefulWidget {
  final String orderNum; // 订单编号
  const UserOrderRefundedPage({Key? key , required this.orderNum}) : super(key: key);

  @override
  State<UserOrderRefundedPage> createState() => _UserOrderRefundedState();
}

class _UserOrderRefundedState extends State<UserOrderRefundedPage> {
  @override
  Widget build(BuildContext context) {
    return GetBuilder<UserOrderCRefundedController>(
        init: UserOrderCRefundedController(widget.orderNum),
        builder: (controller) => Scaffold(
            appBar: CustomAppBar(
              title: const Text('已退款'),
              actions: [],
            ),
            body:Column(children: [
              Container(
                width: double.infinity,
                margin: EdgeInsets.symmetric(
                    horizontal: AppTheme.margin, vertical: AppTheme.margin),
                decoration: BoxDecoration(
                  borderRadius: BorderRadius.circular(8.w),
                  color: Colors.white,
                  boxShadow: [
                    BoxShadow(
                      color: Colours.cC7.withOpacity(0.5),
                      offset: Offset(3.w, 0),
                      blurRadius: 10.w,
                      spreadRadius: 0.w,
                    ),
                  ],
                ),
                child: ClipRRect(
                  borderRadius: BorderRadius.circular(8.w),
                  child: Column(
                    mainAxisAlignment: MainAxisAlignment.start,
                    mainAxisSize: MainAxisSize.min,
                    children: [
                      Padding(
                        padding: EdgeInsets.only(
                            left: 8.0.w, top: 12.0.w, bottom: 12.0.w),
                        child: Row(
                          mainAxisAlignment: MainAxisAlignment.start,
                          crossAxisAlignment: CrossAxisAlignment.start,
                          children: [
                            Image.network(
                              controller.model?.bookList==null?'http://zxts-book-file.zijingebook.com/2024-01/29/b91194564969b9151fa382807977282acdffa22d.jpg':
                              controller.model.bookList![0].img??'',
                              // 用实际图片链接替换
                              fit: BoxFit.cover, // 设置适应方式为充满
                              width: 72.0.w,
                              height: 86.0.w,
                            ),
                            Expanded(
                              child: Padding(
                                padding: EdgeInsets.only(
                                    left: 12.0.w, top: 5.5.w, right: 23.5.w),
                                child: Column(
                                  mainAxisAlignment:
                                  MainAxisAlignment.spaceBetween,
                                  crossAxisAlignment:
                                  CrossAxisAlignment.start, // 下面的Text靠左
                                  children: [
                                    Container(
                                      height: 62.5.w,
                                      child:  Text(
                                        controller.model?.bookList?[0].name??'',
                                        style: TextStyle(
                                          color: Colours.c3,
                                          fontWeight: Fonts.bold,
                                          fontSize: 13.w,
                                        ),
                                        maxLines: 2,
                                        overflow:
                                        TextOverflow.ellipsis, // 超过部分显示省略号
                                      ),
                                    ),
                                    Container(
                                      alignment: Alignment.topRight,
                                      child:  Text(
                                        "¥${controller.model.totalPrice}",
                                        style: TextStyle(
                                          color: Colours.cAB1941,
                                          fontWeight: Fonts.medium,
                                          fontSize: 14.w,
                                        ),
                                      ),
                                    )

                                  ],
                                ),
                              ),
                            ),
                          ],
                        ),
                      ),
                      Container(
                        color: Colours.cLine,
                        margin: EdgeInsets.only(
                            left: 10.w, right: 10.w, bottom: 12.w),
                        height: 1.w,
                      ),
                      Container(
                        padding: EdgeInsets.only(
                            left: 11.5.w, bottom: 8.w, right: 10.w),
                        child: Column(
                          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                          children: controller.orderCompleteds.map((model) {
                            return Padding(
                              padding: EdgeInsets.only(bottom: 12.w),
                              child: Row(
                                mainAxisAlignment:
                                MainAxisAlignment.spaceBetween,
                                children: [
                                  Text(
                                    model.name,
                                    style: TextStyle(
                                        fontSize: 13.w,
                                        height: 1.6.w,
                                        color: Colours.c9),
                                  ),
                                  controller.orderCompleteds.indexOf(model) == 0 ?
                                  GestureDetector(
                                      onTap: () {
                                        showModalBottomSheet(
                                          context: context,
                                          shape: RoundedRectangleBorder(
                                            borderRadius: BorderRadius.vertical(top: Radius.circular(8.w)),
                                          ),
                                          builder: (BuildContext context) {
                                            return RefundedDetailsPage(totalPrice: controller.model.totalPrice.toString(),
                                              couponPrice: controller.model.couponPrice.toString(),
                                              integralPrice: controller.model.integralPrice.toString(),);
                                          },
                                        ).then((value) {
                                          print('点击了应付款后面');
                                        });

                                      },
                                      child: Row(
                                        mainAxisAlignment:
                                        MainAxisAlignment.spaceBetween,
                                        children: [
                                          Text(
                                            '共减 ¥ ${model.other.toString()}',
                                            style: TextStyle(
                                              fontSize: 13.w,
                                              height: 1.6,
                                              color: AppTheme.primary,
                                            ),
                                          ),
                                          SizedBox(
                                            width: 8.w,
                                          ),
                                          Text(
                                            '合计${model.value.toString()}',
                                            style: TextStyle(
                                              fontSize: 13.w,
                                              height: 1.6,
                                              color: Colours.c9,
                                            ),
                                          ),
                                          Gaps.hGaps8,
                                          Padding(
                                            padding:
                                            EdgeInsets.only(top: 4.w),
                                            child: Image.asset(
                                              'assets/images/right_arrow.png',
                                            ),
                                          ),
                                        ],
                                      ))
                                      : Padding(
                                    padding:
                                    EdgeInsets.only(right: 12.5.w),
                                    child: Text(
                                      model.value.toString(),
                                      style: TextStyle(
                                          fontSize: 13.w,
                                          height: 1.6.w,
                                          color: Colours.c9),
                                    ),
                                  ),
                                ],
                              ),
                            );
                          }).toList(),
                        ),
                      ),
                      // SizedBox(
                      //   height: 2.5.w,
                      // ),
                    ],
                  ),
                ),
              ),
              SizedBox(height: 4.w,),
              Container(
                width: double.infinity,
                margin: EdgeInsets.symmetric(
                    horizontal: AppTheme.margin),
                decoration: BoxDecoration(
                  borderRadius: BorderRadius.circular(8.w),
                  color: Colors.white,
                  boxShadow: [
                    BoxShadow(
                      color: Colours.cC7.withOpacity(0.5),
                      offset: Offset(3.w, 0),
                      blurRadius: 10.w,
                      spreadRadius: 0.w,
                    ),
                  ],
                ),
                child: ClipRRect(
                  borderRadius: BorderRadius.circular(8.w),
                  child: Container(margin: EdgeInsets.only(top:13.w,left:11.5.w,right: 23.5.w,bottom: 24.w),
                  child: Column(
                    mainAxisAlignment: MainAxisAlignment.start,
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: [
                      Text('退款原因',style: TextStyle(fontSize: 13.w,color: Colours.c9),),
                    SizedBox(height: 8.w,),
                      Text(controller.model.refundReason.toString(),style: TextStyle(fontSize: 13.w,color: Colours.c3),)
                    ],
                  ),
                  ),
                ),
              )
            ],),
        ));
  }
}
