提交 f96d7ba5 authored 作者: yueweilu's avatar yueweilu

Merge remote-tracking branch 'origin/test' into test

......@@ -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;
}
/// 20、紫荆币充值创建订单
/// 22、紫荆币充值创建订单
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);
}
}
......@@ -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) {
......
......@@ -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),
......
......@@ -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(
'继续评价',
......
......@@ -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),
......
......@@ -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: orderListModel.ordersnum??'');
final result = await MineAPI.cancelPay(ordersnum: orderNum);
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();
......
......@@ -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';
......
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.price}",
"需付款 ¥${controller.model.finalTotalPrice}",
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.price}',
'立即支付 ¥${controller.model.finalTotalPrice}',
style: TextStyle(
fontWeight: Fonts.medium,
fontSize: 14.w,
......
......@@ -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();
......
......@@ -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
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.price}",
${controller.model.totalPrice}",
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(
'去评价',
......
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();
}
......
......@@ -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);
},
),
),
],
......
......@@ -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();
......
......@@ -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';
......
......@@ -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.price}",
${controller.model.totalPrice}",
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,
),
],
),*/
),
)
],),
......
......@@ -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', false
buildItem(widget.couponPrice
),
],
),
......@@ -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', true),
buildItem(widget.integralPrice),
],
),
),
......@@ -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),);
}
......
......@@ -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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论