Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
book-app
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
book-app
Commits
f96d7ba5
提交
f96d7ba5
authored
2月 03, 2024
作者:
yueweilu
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/test' into test
上级
cd4702cb
f50a125d
显示空白字符变更
内嵌
并排
正在显示
18 个修改的文件
包含
189 行增加
和
149 行删除
+189
-149
mine.dart
lib/apis/mine.dart
+19
-3
order.dart
lib/models/order.dart
+13
-15
awaiting.dart
lib/pages/user_order/widgets/awaiting.dart
+1
-1
completed.dart
lib/pages/user_order/widgets/completed.dart
+3
-3
refunded.dart
lib/pages/user_order/widgets/refunded.dart
+1
-1
controller.dart
lib/pages/user_order_awaiting/controller.dart
+19
-10
index.dart
lib/pages/user_order_awaiting/index.dart
+1
-0
view.dart
lib/pages/user_order_awaiting/view.dart
+9
-14
controller.dart
lib/pages/user_order_completed/controller.dart
+27
-9
index.dart
lib/pages/user_order_completed/index.dart
+3
-0
view.dart
lib/pages/user_order_completed/view.dart
+25
-10
controller.dart
lib/pages/user_order_evaluate/controller.dart
+5
-23
view.dart
lib/pages/user_order_evaluate/view.dart
+12
-8
controller.dart
lib/pages/user_order_refunded/controller.dart
+21
-10
index.dart
lib/pages/user_order_refunded/index.dart
+4
-0
view.dart
lib/pages/user_order_refunded/view.dart
+11
-31
view.dart
lib/pages/user_order_refunded_details/view.dart
+11
-7
routes.dart
lib/routes/routes.dart
+4
-4
没有找到文件。
lib/apis/mine.dart
浏览文件 @
f96d7ba5
...
...
@@ -311,7 +311,7 @@ abstract class MineAPI {
}
///
20
、订单列表
///
19
、订单列表
static
Future
<
List
<
OrderListModel
>>
orderList
({
int
page
=
1
,
int
limit
=
10
,
...
...
@@ -336,7 +336,7 @@ abstract class MineAPI {
});
}
///
19
、紫荆币充值列表
///
20
、紫荆币充值列表
///
static
Future
<
List
<
CoinModel
>>
coinsRechargeList
(
{
...
...
@@ -367,7 +367,7 @@ abstract class MineAPI {
return
false
;
}
/// 2
0
、紫荆币充值创建订单
/// 2
2
、紫荆币充值创建订单
static
Future
<
PayOrderModel
>
createRechargeOrder
(
{
required
String
identifying
,
...
...
@@ -384,5 +384,21 @@ abstract class MineAPI {
return
PayOrderModel
.
fromJson
(
result
.
data
);
}
/// 23、获取订单详情
static
Future
<
OrderInfoModel
>
getOrderInfo
(
{
required
String
orderNum
,
})
async
{
final
result
=
await
HttpService
.
to
.
post
(
'/v1/orders/Orders/getInfoOrdersnum'
,
params:
{
'ordersnum'
:
orderNum
,
},
);
if
(
result
.
data
is
!
Map
)
return
OrderInfoModel
();
return
OrderInfoModel
.
fromJson
(
result
.
data
);
}
}
lib/models/order.dart
浏览文件 @
f96d7ba5
...
...
@@ -253,21 +253,7 @@ class CartListModel {
}
/// id : 740
/// ordersnum : "VN240126111215511309"
/// total_price : "45.00"
/// final_total_price : "45.00"
/// nums : 1
/// status : 3
/// create_time : "2024-01-26 11:12:15"
/// coupon_price : "0.00"
/// integral_price : "0.00"
/// pay_type : 3
/// pay_time : "2024-01-26 11:12:15"
/// types : 1
/// bean : 0
/// book_list : [{"book_id":110,"name":"ASASDASD","img":"img","introduction":"introduction","price":"45.00","rating":0,"comments":0,"create_time":0}]
/// 订单详情
class
OrderInfoModel
{
OrderInfoModel
({
this
.
id
,
...
...
@@ -281,6 +267,8 @@ class OrderInfoModel {
this
.
integralPrice
,
this
.
payType
,
this
.
payTime
,
this
.
refundTime
,
this
.
refundReason
,
this
.
types
,
this
.
bean
,
this
.
bookList
,});
...
...
@@ -297,6 +285,8 @@ class OrderInfoModel {
integralPrice
=
json
[
'integral_price'
];
payType
=
json
[
'pay_type'
];
payTime
=
json
[
'pay_time'
];
refundTime
=
json
[
'refund_time'
];
refundReason
=
json
[
'refund_reason'
];
types
=
json
[
'types'
];
bean
=
json
[
'bean'
];
if
(
json
[
'list'
]
!=
null
)
{
...
...
@@ -317,6 +307,8 @@ class OrderInfoModel {
String
?
integralPrice
;
num
?
payType
;
String
?
payTime
;
String
?
refundTime
;
String
?
refundReason
;
num
?
types
;
num
?
bean
;
List
<
BookListModel
>?
bookList
;
...
...
@@ -331,6 +323,8 @@ class OrderInfoModel {
String
?
integralPrice
,
num
?
payType
,
String
?
payTime
,
String
?
refundTime
,
String
?
refundReason
,
num
?
types
,
num
?
bean
,
List
<
BookListModel
>?
bookList
,
...
...
@@ -345,6 +339,8 @@ class OrderInfoModel {
integralPrice:
integralPrice
??
this
.
integralPrice
,
payType:
payType
??
this
.
payType
,
payTime:
payTime
??
this
.
payTime
,
refundTime:
refundTime
??
this
.
refundTime
,
refundReason:
refundReason
??
this
.
refundReason
,
types:
types
??
this
.
types
,
bean:
bean
??
this
.
bean
,
bookList:
bookList
??
this
.
bookList
,
...
...
@@ -362,6 +358,8 @@ class OrderInfoModel {
map
[
'integral_price'
]
=
integralPrice
;
map
[
'pay_type'
]
=
payType
;
map
[
'pay_time'
]
=
payTime
;
map
[
'refund_time'
]
=
refundTime
;
map
[
'refund_reason'
]
=
refundReason
;
map
[
'types'
]
=
types
;
map
[
'bean'
]
=
bean
;
if
(
bookList
!=
null
)
{
...
...
lib/pages/user_order/widgets/awaiting.dart
浏览文件 @
f96d7ba5
...
...
@@ -8,7 +8,7 @@ class BuiltAwaiting extends StatelessWidget {
@override
Widget
build
(
BuildContext
context
)
{
return
GestureDetector
(
onTap:
()
{
context
.
pushNamed
(
Routes
.
orderAwaiting
);},
onTap:
()
{
context
.
pushNamed
(
Routes
.
orderAwaiting
,
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
),
...
...
lib/pages/user_order/widgets/completed.dart
浏览文件 @
f96d7ba5
...
...
@@ -13,7 +13,7 @@ class BuiltCompleted extends StatelessWidget {
@override
Widget
build
(
BuildContext
context
)
{
return
GestureDetector
(
onTap:
()
{
context
.
pushNamed
(
Routes
.
orderCompleted
);},
onTap:
()
{
context
.
pushNamed
(
Routes
.
orderCompleted
,
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
),
...
...
@@ -160,7 +160,7 @@ class BuiltCompleted extends StatelessWidget {
child:
GestureDetector
(
onTap:
()
{
// print("保存昵称");
context
.
pushNamed
(
Routes
.
orderEvaluate
);
context
.
pushNamed
(
Routes
.
orderEvaluate
,
extra:
model
);
},
child:
Text
(
'去评价'
,
...
...
@@ -292,7 +292,7 @@ class BuiltCompleted extends StatelessWidget {
child:
Center
(
child:
GestureDetector
(
onTap:
()
{
context
.
pushNamed
(
Routes
.
orderEvaluate
);
context
.
pushNamed
(
Routes
.
orderEvaluate
,
extra:
model
);
},
child:
Text
(
'继续评价'
,
...
...
lib/pages/user_order/widgets/refunded.dart
浏览文件 @
f96d7ba5
...
...
@@ -9,7 +9,7 @@ class BuiltRefunded extends StatelessWidget {
@override
Widget
build
(
BuildContext
context
)
{
return
GestureDetector
(
onTap:
()
{
context
.
pushNamed
(
Routes
.
orderRefunded
);},
onTap:
()
{
context
.
pushNamed
(
Routes
.
orderRefunded
,
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
),
...
...
lib/pages/user_order_awaiting/controller.dart
浏览文件 @
f96d7ba5
...
...
@@ -2,9 +2,11 @@ part of user_order_awaiting;
/// 等待付款订单
class
UserOrderAwaitingController
extends
GetxController
{
// 已完成订单
OrderCompletedInfoModel
orderCompletedInfo
=
OrderCompletedInfoModel
();
OrderListModel
orderListModel
=
OrderListModel
();
final
String
orderNum
;
UserOrderAwaitingController
(
this
.
orderNum
);
// 订单编号
late
OrderInfoModel
model
;
// 应付款、订单编号等
List
<
OrderCompletedModel
>
orderAwaitings
=
[];
...
...
@@ -15,9 +17,9 @@ class UserOrderAwaitingController extends GetxController {
super
.
onReady
();
}
///
修改用用户信息
///
取消订单
void
cancelPay
()
async
{
final
result
=
await
MineAPI
.
cancelPay
(
ordersnum:
order
ListModel
.
ordersnum
??
''
);
final
result
=
await
MineAPI
.
cancelPay
(
ordersnum:
order
Num
);
if
(
result
)
{
Toast
.
show
(
'取消成功'
);
update
();
...
...
@@ -29,12 +31,19 @@ class UserOrderAwaitingController extends GetxController {
/// 获取订单信息
void
getOrderInfo
()
async
{
// orderCompletedInfo = await MineAPI.userInfo();
orderCompletedInfo
=
OrderCompletedInfoModel
(
id:
1
,
price:
'88.00'
,
totalPay:
'58.00'
,
favorable:
'5.00'
,
orderId:
'ZJ2023122163728437'
,
payWay:
'微信支付'
,
payTime:
'2023-12-21 01:25:24'
,
orderTime:
'2023-12-21 01:25:15'
);
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
=
'紫荆币'
;
}
orderAwaitings
=
[
OrderCompletedModel
(
name:
'订单编号'
,
value:
orderCompletedInfo
.
orderId
.
toString
()),
OrderCompletedModel
(
name:
'支付方式'
,
value:
orderCompletedInfo
.
payWay
.
toString
()
),
OrderCompletedModel
(
name:
'支付时间'
,
value:
orderCompletedInfo
.
payTime
.
toString
()),
OrderCompletedModel
(
name:
'订单编号'
,
value:
model
.
ordersnum
.
toString
()),
OrderCompletedModel
(
name:
'支付方式'
,
value:
payWay
),
OrderCompletedModel
(
name:
'支付时间'
,
value:
model
.
payTime
.
toString
()),
];
update
();
...
...
lib/pages/user_order_awaiting/index.dart
浏览文件 @
f96d7ba5
...
...
@@ -5,6 +5,7 @@ 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_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'
;
...
...
lib/pages/user_order_awaiting/view.dart
浏览文件 @
f96d7ba5
part of
user_order_awaiting
;
class
UserOrderAwaitingPage
extends
StatefulWidget
{
const
UserOrderAwaitingPage
({
Key
?
key
/*, required this.userInfo*/
})
:
super
(
key:
key
);
final
String
orderNum
;
// 订单编号
const
UserOrderAwaitingPage
({
Key
?
key
,
required
this
.
orderNum
})
:
super
(
key:
key
);
@override
State
<
UserOrderAwaitingPage
>
createState
()
=>
_UserOrderAwaitingState
();
}
class
_UserOrderAwaitingState
extends
State
<
UserOrderAwaitingPage
>
{
/* late num? selectedGender ; // 选中的性别
@override
void
initState
()
{
Get
.
put
(
UserOrderAwaitingController
(
widget
.
orderNum
));
super
.
initState
();
selectedGender = widget.userInfo.sex;
// 在这里可以使用 localVariable 进行操作
}*/
}
@override
Widget
build
(
BuildContext
context
)
{
...
...
@@ -26,7 +23,7 @@ class _UserOrderAwaitingState extends State<UserOrderAwaitingPage> {
return
false
;
},
child:
GetBuilder
<
UserOrderAwaitingController
>(
init:
UserOrderAwaitingController
(),
init:
UserOrderAwaitingController
(
widget
.
orderNum
),
builder:
(
controller
)
=>
Scaffold
(
appBar:
CustomAppBar
(
title:
const
Text
(
'等待付款'
),
...
...
@@ -35,7 +32,6 @@ class _UserOrderAwaitingState extends State<UserOrderAwaitingPage> {
body:
Column
(
children:
[
Container
(
width:
double
.
infinity
,
margin:
EdgeInsets
.
symmetric
(
horizontal:
AppTheme
.
margin
,
vertical:
AppTheme
.
margin
),
...
...
@@ -65,8 +61,7 @@ class _UserOrderAwaitingState extends State<UserOrderAwaitingPage> {
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Image
.
network
(
'http://zxts-user-file.oss-cn-beijing.aliyuncs.com/2024-01/20/eb167c2f59f7e34c0ef94a9f1ce736ee64d76a11.jpg'
,
// 用实际图片链接替换
controller
.
model
?.
bookList
?[
0
].
img
??
''
,
fit:
BoxFit
.
cover
,
// 设置适应方式为充满
width:
72.0
.
w
,
height:
86.0
.
w
,
...
...
@@ -84,7 +79,7 @@ class _UserOrderAwaitingState extends State<UserOrderAwaitingPage> {
CrossAxisAlignment
.
end
,
// 下面的Text靠左
children:
[
Text
(
"一想到还有95%的问题留给人类,我就放一想到还有95%的问题留给问题留给"
,
controller
.
model
.
bookList
?[
0
].
introduction
??
''
,
style:
TextStyle
(
color:
Colours
.
c3
,
fontWeight:
Fonts
.
bold
,
...
...
@@ -96,7 +91,7 @@ class _UserOrderAwaitingState extends State<UserOrderAwaitingPage> {
),
SizedBox
(
height:
25.5
.
w
),
Text
(
"需付款 ¥
${controller.
orderCompletedInfo.p
rice}
"
,
"需付款 ¥
${controller.
model.finalTotalP
rice}
"
,
style:
TextStyle
(
color:
Colours
.
cAB1941
,
fontWeight:
Fonts
.
bold
,
...
...
@@ -175,7 +170,7 @@ class _UserOrderAwaitingState extends State<UserOrderAwaitingPage> {
context
.
pushNamed
(
Routes
.
orderEvaluate
);
},
child:
Text
(
'立即支付 ¥
${controller.
orderCompletedInfo.p
rice}
'
,
'立即支付 ¥
${controller.
model.finalTotalP
rice}
'
,
style:
TextStyle
(
fontWeight:
Fonts
.
medium
,
fontSize:
14
.
w
,
...
...
lib/pages/user_order_completed/controller.dart
浏览文件 @
f96d7ba5
...
...
@@ -2,11 +2,20 @@ part of user_order_completed;
/// 已完成订单
class
UserOrderCompletedController
extends
GetxController
{
// 已完成订单
OrderCompletedInfoModel
orderCompletedInfo
=
OrderCompletedInfoModel
();
final
String
orderNum
;
// 订单编号
UserOrderCompletedController
(
this
.
orderNum
);
/*{
getOrderInfo();
}*/
late
OrderInfoModel
model
=
OrderInfoModel
();
// 应付款、订单编号等
List
<
OrderCompletedModel
>
orderCompleteds
=
[];
// @override
// void onInit() {
// // getOrderInfo();
// super.onInit();
// }
@override
void
onReady
()
{
...
...
@@ -21,14 +30,23 @@ class UserOrderCompletedController extends GetxController {
/// 获取订单信息
void
getOrderInfo
()
async
{
// orderCompletedInfo = await MineAPI.userInfo();
orderCompletedInfo
=
OrderCompletedInfoModel
(
id:
1
,
price:
'88'
,
totalPay:
'58.00'
,
favorable:
'5.00'
,
orderId:
'ZJ2023122163728437'
,
payWay:
'微信支付'
,
payTime:
'2023-12-21 01:25:24'
,
orderTime:
'2023-12-21 01:25:15'
);
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:
orderCompletedInfo
.
totalPay
.
toString
()
/*,link: Routes.note*/
,
other:
orderCompletedInfo
.
favorable
.
toString
()),
OrderCompletedModel
(
name:
'订单编号'
,
value:
orderCompletedInfo
.
orderId
.
toString
()),
OrderCompletedModel
(
name:
'支付方式'
,
value:
orderCompletedInfo
.
payWay
.
toString
()),
OrderCompletedModel
(
name:
'支付时间'
,
value:
orderCompletedInfo
.
payTime
.
toString
()),
OrderCompletedModel
(
name:
'下单时间'
,
value:
orderCompletedInfo
.
orderTime
.
toString
()),
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
()),
];
update
();
...
...
lib/pages/user_order_completed/index.dart
浏览文件 @
f96d7ba5
...
...
@@ -10,8 +10,10 @@ 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_refunded_details/index.dart'
;
part
'view.dart'
;
part
'controller.dart'
;
\ No newline at end of file
lib/pages/user_order_completed/view.dart
浏览文件 @
f96d7ba5
part of
user_order_completed
;
class
UserOrderCompletedPage
extends
StatefulWidget
{
const
UserOrderCompletedPage
({
Key
?
key
/*, required this.userInfo*/
})
:
super
(
key:
key
);
final
String
orderNum
;
// 订单编号
const
UserOrderCompletedPage
({
Key
?
key
,
required
this
.
orderNum
})
:
super
(
key:
key
);
@override
State
<
UserOrderCompletedPage
>
createState
()
=>
_UserOrderCompletedState
();
...
...
@@ -26,7 +25,7 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> {
return
false
;
},
child:
GetBuilder
<
UserOrderCompletedController
>(
init:
UserOrderCompletedController
(),
init:
UserOrderCompletedController
(
widget
.
orderNum
),
builder:
(
controller
)
=>
Scaffold
(
appBar:
CustomAppBar
(
title:
const
Text
(
'已完成'
),
...
...
@@ -62,7 +61,8 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> {
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Image
.
network
(
'http://zxts-user-file.oss-cn-beijing.aliyuncs.com/2024-01/20/eb167c2f59f7e34c0ef94a9f1ce736ee64d76a11.jpg'
,
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
,
...
...
@@ -78,8 +78,11 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> {
crossAxisAlignment:
CrossAxisAlignment
.
start
,
// 下面的Text靠左
children:
[
Text
(
"一想到还有95%的问题留给人类,我就放一想到还有95%的问题留给问题留给"
,
Container
(
height:
47.5
.
w
,
child:
Text
(
controller
.
model
.
bookList
==
null
?
''
:
controller
.
model
.
bookList
![
0
].
introduction
??
''
,
style:
TextStyle
(
color:
Colours
.
c3
,
fontWeight:
Fonts
.
bold
,
...
...
@@ -89,9 +92,9 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> {
overflow:
TextOverflow
.
ellipsis
,
// 超过部分显示省略号
),
SizedBox
(
height:
10.5
.
w
),
),
Text
(
"¥
${controller.
orderCompletedInfo.p
rice}
"
,
"¥
${controller.
model.totalP
rice}
"
,
style:
TextStyle
(
color:
Colours
.
cAB1941
,
fontWeight:
Fonts
.
medium
,
...
...
@@ -133,7 +136,19 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> {
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:
...
...
@@ -206,7 +221,7 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> {
child:
GestureDetector
(
onTap:
()
{
// print("保存昵称");
context
.
pushNamed
(
Routes
.
orderEvaluate
);
context
.
pushNamed
(
Routes
.
orderEvaluate
,
);
},
child:
Text
(
'去评价'
,
...
...
lib/pages/user_order_evaluate/controller.dart
浏览文件 @
f96d7ba5
part of
user_order_evaluate
;
///
等待付款订单
///
订单评价
class
UserOrderEvaluateController
extends
GetxController
{
// 已完成订单
OrderCompletedInfoModel
orderCompletedInfo
=
OrderCompletedInfoModel
();
OrderListModel
orderListModel
=
OrderListModel
();
OrderListModel
orderListModel
;
// 应付款、订单编号等
List
<
OrderCompletedModel
>
orderAwaitings
=
[];
UserOrderEvaluateController
(
this
.
orderListModel
);
// 已完成订单
@override
void
onReady
()
{
getOrderInfo
();
super
.
onReady
();
}
/// 修改用用户信息
void
cancelPay
()
async
{
final
result
=
await
MineAPI
.
cancelPay
(
ordersnum:
orderListModel
.
ordersnum
??
''
);
if
(
result
)
{
Toast
.
show
(
'取消成功'
);
update
();
}
}
/// 获取订单信息
void
getOrderInfo
()
async
{
// orderCompletedInfo = await MineAPI.userInfo();
orderCompletedInfo
=
OrderCompletedInfoModel
(
id:
1
,
price:
'88.00'
,
totalPay:
'58.00'
,
favorable:
'5.00'
,
orderId:
'ZJ2023122163728437'
,
payWay:
'微信支付'
,
payTime:
'2023-12-21 01:25:24'
,
orderTime:
'2023-12-21 01:25:15'
);
orderAwaitings
=
[
OrderCompletedModel
(
name:
'订单编号'
,
value:
orderCompletedInfo
.
orderId
.
toString
()),
OrderCompletedModel
(
name:
'支付方式'
,
value:
orderCompletedInfo
.
payWay
.
toString
()),
OrderCompletedModel
(
name:
'支付时间'
,
value:
orderCompletedInfo
.
payTime
.
toString
()),
];
update
();
}
...
...
lib/pages/user_order_evaluate/view.dart
浏览文件 @
f96d7ba5
...
...
@@ -2,7 +2,8 @@ part of user_order_evaluate;
/// 用户订单评价
class
UserOrderEvaluatePage
extends
StatefulWidget
{
const
UserOrderEvaluatePage
({
Key
?
key
})
:
super
(
key:
key
);
final
OrderListModel
orderListModel
;
// 订单
const
UserOrderEvaluatePage
({
Key
?
key
,
required
this
.
orderListModel
,})
:
super
(
key:
key
);
@override
State
<
UserOrderEvaluatePage
>
createState
()
=>
_UserOrderEvaluatePageState
();
...
...
@@ -12,7 +13,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> {
@override
Widget
build
(
BuildContext
context
)
{
return
GetBuilder
<
UserOrderEvaluateController
>(
init:
UserOrderEvaluateController
(),
init:
UserOrderEvaluateController
(
widget
.
orderListModel
),
builder:
(
controller
)
=>
Scaffold
(
appBar:
AppBar
(
...
...
@@ -30,9 +31,9 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> {
shrinkWrap:
true
,
itemBuilder:
(
BuildContext
context
,
int
index
){
return
listItem
();
return
listItem
(
widget
.
orderListModel
.
cartList
![
index
]
);
},
itemCount:
3
,
itemCount:
widget
.
orderListModel
.
cartList
?.
length
,
),
],
),
...
...
@@ -55,7 +56,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> {
));
}
Widget
listItem
(){
Widget
listItem
(
CartListModel
cartList
){
return
Container
(
margin:
EdgeInsets
.
only
(
left:
10
.
w
,
top:
12
.
w
,
bottom:
12
.
w
,
right:
23.5
.
w
),
decoration:
BoxDecoration
(
...
...
@@ -99,14 +100,15 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> {
],
),
child:
Image
.
network
(
'http://zxts-book-file.zijingebook.com/2024-01/29/b91194564969b9151fa382807977282acdffa22d.jpg'
,
// 'http://zxts-book-file.zijingebook.com/2024-01/29/b91194564969b9151fa382807977282acdffa22d.jpg',
cartList
.
img
.
toString
(),
// 用实际图片链接替换
fit:
BoxFit
.
cover
,
),
),
Gaps
.
hGaps10
,
Expanded
(
child:
Text
(
'一想到还有95%的问题留给人类,我就放ListView一想到还有95%的问题留给人类,我就放'
,
style:
TextStyle
(
fontSize:
13
.
w
,
height:
1.5
,
fontWeight:
Fonts
.
medium
,
color:
Colours
.
c3
),
maxLines:
2
,
overflow:
TextOverflow
.
ellipsis
,),
child:
Text
(
cartList
.
introduction
.
toString
()
,
style:
TextStyle
(
fontSize:
13
.
w
,
height:
1.5
,
fontWeight:
Fonts
.
medium
,
color:
Colours
.
c3
),
maxLines:
2
,
overflow:
TextOverflow
.
ellipsis
,),
),
],
...
...
@@ -140,7 +142,9 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> {
fillColor:
AppTheme
.
primary
,
size:
16
.
w
,
emptyColor:
Colours
.
cE2
,
),
onRating:
(
double
)
{},
),
onRating:
(
double
)
{
print
(
double
);
},
),
),
],
...
...
lib/pages/user_order_refunded/controller.dart
浏览文件 @
f96d7ba5
...
...
@@ -2,8 +2,10 @@ part of user_order_refunded;
/// 已完成订单
class
UserOrderCRefundedController
extends
GetxController
{
// 已完成订单
OrderCompletedInfoModel
orderCompletedInfo
=
OrderCompletedInfoModel
();
final
String
orderNum
;
// 订单编号
UserOrderCRefundedController
(
this
.
orderNum
);
OrderInfoModel
model
=
OrderInfoModel
();
// 应付款、订单编号等
List
<
OrderCompletedModel
>
orderCompleteds
=
[];
...
...
@@ -21,15 +23,24 @@ class UserOrderCRefundedController extends GetxController {
/// 获取订单信息
void
getOrderInfo
()
async
{
// orderCompletedInfo = await MineAPI.userInfo();
orderCompletedInfo
=
OrderCompletedInfoModel
(
id:
1
,
price:
'88'
,
totalPay:
'58.00'
,
favorable:
'5.00'
,
orderId:
'ZJ2023122163728437'
,
payWay:
'微信支付'
,
payTime:
'2023-12-21 01:25:24'
,
orderTime:
'2023-12-21 01:25:15'
);
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:
orderCompletedInfo
.
totalPay
.
toString
()
/*,link: Routes.note*/
,
other:
orderCompletedInfo
.
favorable
.
toString
()),
OrderCompletedModel
(
name:
'订单编号'
,
value:
orderCompletedInfo
.
orderId
.
toString
()),
OrderCompletedModel
(
name:
'支付方式'
,
value:
orderCompletedInfo
.
payWay
.
toString
()),
OrderCompletedModel
(
name:
'支付时间'
,
value:
orderCompletedInfo
.
payTime
.
toString
()),
OrderCompletedModel
(
name:
'下单时间'
,
value:
orderCompletedInfo
.
orderTime
.
toString
()),
OrderCompletedModel
(
name:
'退款时间'
,
value:
orderCompletedInfo
.
orderTime
.
toString
()),
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_refunded/index.dart
浏览文件 @
f96d7ba5
...
...
@@ -5,13 +5,17 @@ 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'
;
...
...
lib/pages/user_order_refunded/view.dart
浏览文件 @
f96d7ba5
...
...
@@ -2,23 +2,14 @@ part of user_order_refunded;
/// 订单已退款界面
class
UserOrderRefundedPage
extends
StatefulWidget
{
const
UserOrderRefundedPage
({
Key
?
key
/*, required this.userInfo*/
})
:
super
(
key:
key
);
final
String
orderNum
;
// 订单编号
const
UserOrderRefundedPage
({
Key
?
key
,
required
this
.
orderNum
})
:
super
(
key:
key
);
@override
State
<
UserOrderRefundedPage
>
createState
()
=>
_UserOrderRefundedState
();
}
class
_UserOrderRefundedState
extends
State
<
UserOrderRefundedPage
>
{
/* late num? selectedGender ; // 选中的性别
@override
void initState() {
super.initState();
selectedGender = widget.userInfo.sex;
// 在这里可以使用 localVariable 进行操作
}*/
@override
Widget
build
(
BuildContext
context
)
{
return
WillPopScope
(
...
...
@@ -27,7 +18,7 @@ class _UserOrderRefundedState extends State<UserOrderRefundedPage> {
return
false
;
},
child:
GetBuilder
<
UserOrderCRefundedController
>(
init:
UserOrderCRefundedController
(),
init:
UserOrderCRefundedController
(
widget
.
orderNum
),
builder:
(
controller
)
=>
Scaffold
(
appBar:
CustomAppBar
(
title:
const
Text
(
'已退款'
),
...
...
@@ -64,7 +55,8 @@ class _UserOrderRefundedState extends State<UserOrderRefundedPage> {
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Image
.
network
(
'http://zxts-user-file.oss-cn-beijing.aliyuncs.com/2024-01/20/eb167c2f59f7e34c0ef94a9f1ce736ee64d76a11.jpg'
,
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
,
...
...
@@ -83,7 +75,7 @@ class _UserOrderRefundedState extends State<UserOrderRefundedPage> {
Container
(
height:
62.5
.
w
,
child:
Text
(
"一想到还有95%的问题留给人类,我就放一想到还有95%的问题留给问题留给"
,
controller
.
model
?.
bookList
?[
0
].
introduction
??
''
,
style:
TextStyle
(
color:
Colours
.
c3
,
fontWeight:
Fonts
.
bold
,
...
...
@@ -97,7 +89,7 @@ class _UserOrderRefundedState extends State<UserOrderRefundedPage> {
Container
(
alignment:
Alignment
.
topRight
,
child:
Text
(
"¥
${controller.
orderCompletedInfo.p
rice}
"
,
"¥
${controller.
model.totalP
rice}
"
,
style:
TextStyle
(
color:
Colours
.
cAB1941
,
fontWeight:
Fonts
.
medium
,
...
...
@@ -147,7 +139,9 @@ class _UserOrderRefundedState extends State<UserOrderRefundedPage> {
borderRadius:
BorderRadius
.
vertical
(
top:
Radius
.
circular
(
8
.
w
)),
),
builder:
(
BuildContext
context
)
{
return
RefundedDetailsPage
();
return
RefundedDetailsPage
(
totalPrice:
controller
.
model
.
totalPrice
.
toString
(),
couponPrice:
controller
.
model
.
couponPrice
.
toString
(),
integralPrice:
controller
.
model
.
integralPrice
.
toString
(),);
},
).
then
((
value
)
{
print
(
'点击了应付款后面'
);
...
...
@@ -237,24 +231,10 @@ class _UserOrderRefundedState extends State<UserOrderRefundedPage> {
children:
[
Text
(
'退款原因'
,
style:
TextStyle
(
fontSize:
13
.
w
,
color:
Colours
.
c9
),),
SizedBox
(
height:
8
.
w
,),
Text
(
'退款原因 买错类型了,非常抱歉,下次有需要在下单吧退款原因 买错类型了,非常抱歉,下次有需要在下单吧下次有需要在下单吧退款原因下次有需要在下单吧退款原因下次有需要在下单吧退款原因'
,
style:
TextStyle
(
fontSize:
13
.
w
,
color:
Colours
.
c3
),)
Text
(
controller
.
model
.
refundReason
.
toString
()
,
style:
TextStyle
(
fontSize:
13
.
w
,
color:
Colours
.
c3
),)
],
),
),
/* Column(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
Text('已退款'),
SizedBox(
height: 14.5.w,
),
Text('已退款'),
SizedBox(
height: 14.5.w,
),
],
),*/
),
)
],),
...
...
lib/pages/user_order_refunded_details/view.dart
浏览文件 @
f96d7ba5
...
...
@@ -3,7 +3,11 @@ part of user_order_refunded_details;
class
RefundedDetailsPage
extends
StatefulWidget
{
const
RefundedDetailsPage
({
Key
?
key
})
:
super
(
key:
key
);
final
String
totalPrice
;
//总价
final
String
couponPrice
;
//优惠券优惠金额
final
String
integralPrice
;
//积分抵扣金额
const
RefundedDetailsPage
({
Key
?
key
,
required
this
.
totalPrice
,
required
this
.
couponPrice
,
required
this
.
integralPrice
,})
:
super
(
key:
key
);
@override
State
<
RefundedDetailsPage
>
createState
()
=>
_RefundedDetailsState
();
...
...
@@ -56,7 +60,7 @@ class _RefundedDetailsState extends State<RefundedDetailsPage> {
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
children:
[
Text
(
'总价'
,
style:
TextStyle
(
fontSize:
16
.
w
,
color:
Colours
.
c3
,
fontWeight:
Fonts
.
medium
),),
Text
(
'¥
199.80
'
,
style:
TextStyle
(
fontSize:
17
.
w
,
color:
Colours
.
cAB1941
,
fontWeight:
Fonts
.
medium
),),
Text
(
'¥
${widget.totalPrice}
'
,
style:
TextStyle
(
fontSize:
17
.
w
,
color:
Colours
.
cAB1941
,
fontWeight:
Fonts
.
medium
),),
],
),
),
...
...
@@ -66,7 +70,7 @@ class _RefundedDetailsState extends State<RefundedDetailsPage> {
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
children:
[
Text
(
'优惠券抵扣'
,
style:
TextStyle
(
fontSize:
13
.
w
,
color:
Colours
.
c9
,),),
buildItem
(
'188.80'
,
fals
e
buildItem
(
widget
.
couponPric
e
),
],
),
...
...
@@ -77,7 +81,7 @@ class _RefundedDetailsState extends State<RefundedDetailsPage> {
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
children:
[
Text
(
'积分抵扣'
,
style:
TextStyle
(
fontSize:
13
.
w
,
color:
Colours
.
c9
,),),
buildItem
(
'0.00'
,
tru
e
),
buildItem
(
widget
.
integralPric
e
),
],
),
),
...
...
@@ -85,9 +89,9 @@ class _RefundedDetailsState extends State<RefundedDetailsPage> {
);
}
Widget
buildItem
(
String
show
,
bool
isZero
){
if
(
isZero
){
return
Text
(
'
$show
'
,
style:
TextStyle
(
fontSize:
13
.
w
,
color:
Colours
.
c3
,),);
Widget
buildItem
(
String
show
){
if
(
show
==
'0.00'
){
return
Text
(
'
0.00
'
,
style:
TextStyle
(
fontSize:
13
.
w
,
color:
Colours
.
c3
,),);
}
else
{
return
Text
(
'减 ¥
$show
'
,
style:
TextStyle
(
fontSize:
13
.
w
,
color:
Colours
.
cAB1941
,
fontWeight:
Fonts
.
medium
),);
}
...
...
lib/routes/routes.dart
浏览文件 @
f96d7ba5
...
...
@@ -483,7 +483,7 @@ abstract class Routes {
pageBuilder:
(
context
,
state
)
=>
CupertinoPage
(
name:
state
.
uri
.
toString
(),
key:
state
.
pageKey
,
child:
const
UserOrderEvaluatePage
(
)
child:
UserOrderEvaluatePage
(
orderListModel:
state
.
extra
as
OrderListModel
,
)
)
),
GoRoute
(
// 帮助中心
...
...
@@ -519,7 +519,7 @@ abstract class Routes {
pageBuilder:
(
context
,
state
)
=>
CupertinoPage
(
name:
state
.
uri
.
toString
(),
key:
state
.
pageKey
,
child:
const
UserOrderCompletedPage
(
)
child:
UserOrderCompletedPage
(
orderNum:
state
.
uri
.
queryParameters
[
'orderNum'
].
toString
()
)
)
),
GoRoute
(
// 待付款订单
...
...
@@ -528,7 +528,7 @@ abstract class Routes {
pageBuilder:
(
context
,
state
)
=>
CupertinoPage
(
name:
state
.
uri
.
toString
(),
key:
state
.
pageKey
,
child:
const
UserOrderAwaitingPage
(
)
child:
UserOrderAwaitingPage
(
orderNum:
state
.
uri
.
queryParameters
[
'orderNum'
].
toString
()
)
)
),
GoRoute
(
// 已退款订单
...
...
@@ -537,7 +537,7 @@ abstract class Routes {
pageBuilder:
(
context
,
state
)
=>
CupertinoPage
(
name:
state
.
uri
.
toString
(),
key:
state
.
pageKey
,
child:
const
UserOrderRefundedPage
(
)
child:
UserOrderRefundedPage
(
orderNum:
state
.
uri
.
queryParameters
[
'orderNum'
].
toString
()
)
)
),
GoRoute
(
// 百科
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论