提交 93ece193 authored 作者: yueweilu's avatar yueweilu

【APK-我的-订单】已取消订单不能点击查看详情

上级 a3df78dd
......@@ -7,7 +7,12 @@ class BuiltCanceled extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
return GestureDetector(
onTap: () {
context.pushNamed(Routes.orderCancel,
queryParameters: {'orderNum': model.ordersnum});
},
child: Container(
margin: EdgeInsets.only(left: 10.w, right: 10.w, top: 10.w),
padding: EdgeInsets.only(left: 11.5.w, bottom: 12.w),
decoration: BoxDecoration(
......@@ -23,6 +28,7 @@ class BuiltCanceled extends StatelessWidget {
],
),
child:_buildCom(context),
),
);
}
......
part of user_order_cancel_detail;
/// 已完成订单
class UserOrderCancelDetailController extends GetxController {
final String orderNum;// 订单编号
UserOrderCancelDetailController(this.orderNum);
OrderInfoModel model = OrderInfoModel();
// 应付款、订单编号等
List<OrderCompletedModel> orderCompleteds = [];
@override
void onReady() {
getOrderInfo();
super.onReady();
}
/// 获取订单信息
void getOrderInfo() async {
model = await MineAPI.getOrderInfo(orderNum: orderNum);
String payWay ='';
if(model.payType==1){
payWay='微信';
}else if(model.payType==2){
payWay='支付宝';
}else if(model.payType==3){
payWay='紫荆币';
}
orderCompleteds = [
OrderCompletedModel(name: '应付款',value: model.finalTotalPrice.toString(),
other: (double.parse(model.totalPrice.toString())-
double.parse(model.finalTotalPrice.toString())).toString()),
OrderCompletedModel(name: '订单编号',value: model.ordersnum.toString()),
OrderCompletedModel(name: '支付方式',value: payWay),
OrderCompletedModel(name: '支付时间',value: model.payTime.toString()),
OrderCompletedModel(name: '下单时间',value: model.createTime.toString()),
OrderCompletedModel(name: '退款时间',value: model.refundTime.toString()),
];
update();
}
}
library user_order_cancel_detail;
import 'package:flutter/material.dart';
import 'package:flutter_book/theme.dart';
import 'package:flutter_book/utils/index.dart';
import 'package:flutter_book/widgets/index.dart';
import 'package:get/get.dart';
import 'package:get/get_core/src/get_main.dart';
import 'package:get/get_state_manager/src/simple/get_controllers.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get_state_manager/src/simple/get_state.dart';
import 'package:go_router/go_router.dart';
import '../../apis/index.dart';
import '../../models/index.dart';
import '../../routes/index.dart';
import '../user_order_awaiting/index.dart';
import '../user_order_refunded_details/index.dart';
part 'view.dart';
part 'controller.dart';
\ No newline at end of file
part of user_order_cancel_detail;
/// 订单已退款界面
class UserOrderCancelDetailPage extends StatefulWidget {
final String orderNum; // 订单编号
const UserOrderCancelDetailPage({Key? key , required this.orderNum}) : super(key: key);
@override
State<UserOrderCancelDetailPage> createState() => _UserOrderRefundedState();
}
class _UserOrderRefundedState extends State<UserOrderCancelDetailPage> {
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () async {
context.pop(true);
return false;
},
child: GetBuilder<UserOrderCancelDetailController>(
init: UserOrderCancelDetailController(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: 12.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(top: 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: 14.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:24.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),)
// ],
// ),
// ),
// ),
// )
],),
)),
);
}
}
......@@ -50,6 +50,7 @@ import '../pages/bai_ke/index.dart';
import '../pages/read_web/index.dart';
import '../pages/user_edit_note/index.dart';
import '../pages/user_order/index.dart';
import '../pages/user_order_cancel_detail/index.dart';
import '../pages/user_order_evaluate/index.dart';
import '../pages/pay_coupon/index.dart';
import '../pages/user_about/index.dart';
......
......@@ -111,6 +111,8 @@ abstract class Routes {
static const orderCompleted= 'order_completed';
// 图书待付款订单
static const orderAwaiting= 'order_awaiting';
// 图书取消订单
static const orderCancel= 'order_cancel';
// 紫荆币待付款订单
static const orderCoinAwaiting= 'order_coin_awaiting';
// 已退款订单
......@@ -547,6 +549,15 @@ abstract class Routes {
child: UserOrderAwaitingPage(orderNum: state.uri.queryParameters['orderNum'].toString())
)
),
GoRoute( // 图书取消订单
path: '/$orderCancel',
name: orderCancel,
pageBuilder: (context, state) =>CupertinoPage(
name: state.uri.toString(),
key: state.pageKey,
child: UserOrderCancelDetailPage(orderNum: state.uri.queryParameters['orderNum'].toString())
)
),
GoRoute( // 紫荆币待付款订单
path: '/$orderCoinAwaiting',
name: orderCoinAwaiting,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论