Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
book-app
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
book-app
Commits
93ece193
提交
93ece193
authored
2月 25, 2024
作者:
yueweilu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
【APK-我的-订单】已取消订单不能点击查看详情
上级
a3df78dd
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
335 行增加
和
1 行删除
+335
-1
canceled.dart
lib/pages/user_order/widgets/canceled.dart
+7
-1
controller.dart
lib/pages/user_order_cancel_detail/controller.dart
+49
-0
index.dart
lib/pages/user_order_cancel_detail/index.dart
+23
-0
view.dart
lib/pages/user_order_cancel_detail/view.dart
+244
-0
index.dart
lib/routes/index.dart
+1
-0
routes.dart
lib/routes/routes.dart
+11
-0
没有找到文件。
lib/pages/user_order/widgets/canceled.dart
浏览文件 @
93ece193
...
...
@@ -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
),
),
);
}
...
...
lib/pages/user_order_cancel_detail/controller.dart
0 → 100644
浏览文件 @
93ece193
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
();
}
}
lib/pages/user_order_cancel_detail/index.dart
0 → 100644
浏览文件 @
93ece193
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
lib/pages/user_order_cancel_detail/view.dart
0 → 100644
浏览文件 @
93ece193
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),)
// ],
// ),
// ),
// ),
// )
],),
)),
);
}
}
lib/routes/index.dart
浏览文件 @
93ece193
...
...
@@ -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'
;
...
...
lib/routes/routes.dart
浏览文件 @
93ece193
...
...
@@ -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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论